This conversation over at The Book Blog about why Fangraphs, who posts live Win Expectancy does not take into consideration the actual players who are playing in the game got me thinking. Fangraphs uses a one sized fits all chart for things like Win Expectancy (WE), Win Probability Added (WPA) and Leverage Index (LI). The problem is you are getting the exact same WE for a 0-0 first inning game with the Astros (Dallas Keuchel) facing the Tigers in Detroit with Justin Verlander or Max Scherzer pitching as you would for two evenly pitted teams. You are also getting incorrect WPA's for each game event. These discrepancies last throughout the entire game. For those wanting to get a true in game Win Expectancy or Win Probability Added you aren't going to get one all the time. To others it might not be a big deal as the one size fits all chart is somewhat reasonable. But it is uninteresting when you can get close to the real thing. Why not shoot for the real thing, when it can be done? Why use two sticks to make fire when you have a lighter?
While I think it should be a goal to do better on the in game Win Expectancies, I can see some usefullness of the WPA as it tells you a story of what players earned what portions of a win or a loss. I do however find it a little troubling that players are receiving too much or too little their fair share of WPA due to WPA not adjusting for strength/weakness of opponent. If a game that should be a 75/25 WE game gets calculated as a 50/50 WE game then the stronger team is more likely than not going to be gaining 0.25 points of WPA that they shouldn't be getting. That is why I am proposing a new variation of WPA, called Win Probability Added Over Expectation (WPAOE) in which a player will exceed expectation if he scores a WPAOE of over 0.0 (and less than 0.0 for not meeting expectation). WPAOE will use a "more correct" version of Win Expectancy to calculate how much each game event (out, hit, stolen base etc...) changes the contribution each player made to the win or loss.
So how can you calculate the true in game win expectancy? Well, this isn't something the average person can do. The pre-game win expectancy can easily be calculated from Vegas odds. But how do you adjust this in game WE as the game goes on? You basically need a "good" baseball game simulator. Something that sites like Fangraphs do not have. Even if they had one, you would run in to the problem of how quickly could it compute a new in game Win Expectancy after every game event and for multiple games. So there are some difficult technical hurdles, but I am laying the groundwork for how this could and should eventually be done.
In the example below, I took the 2013 game with the highest pre-game win expectancy and went through and calculated all the win expectancies and WPAOEs after each game event as an example of how I imagine this to look somewhere down the road. As you see, the game starts out with the Tigers as a 78.23% favorite (SIM WE = Tigers WE), while Fangraphs starts the Tigers WE at 50.0%. So in a nutshell, what I did here is simulate this game 1 million times at every new game state. All win expectancies (FG, Sim) are listed with the Tigers percent chance of winning. And yes, my simulator accounts for pretty much everything meaningful you can think of.
Pitcher | Player | Inn | Outs | Base | HOU Runs | DET Runs | Play | FG WE | SIM WE | FG WPA | SIM WPA |
NA | NA | - | 0 | 0 | 0 | 0 | | 50 | 78.23 | 0 | 0 |
M.Scherzer | R.Grossman | T1 | 0 | 0 | 0 | 0 | BB | 46.5 | 75.93 | 0.035 | 0.023 |
M.Scherzer | J.Elmore | T1 | 0 | 1 | 0 | 0 | KS | 49.8 | 78.13 | -0.033 | -0.022 |
M.Scherzer | R.Grossman | T1 | 1 | 1 | 0 | 0 | CS | 53.8 | 80.48 | -0.04 | -0.0235 |
M.Scherzer | C.Pena | T1 | 2 | 0 | 0 | 0 | F-8 | 54.8 | 81.26 | -0.01 | -0.0078 |
D.Keuchel | O.Infante | B1 | 0 | 0 | 0 | 0 | KS | 52.6 | 79.72 | -0.022 | -0.0154 |
D.Keuchel | T.Hunter | B1 | 1 | 0 | 0 | 0 | F-9 | 51 | 78.29 | -0.016 | -0.0143 |
D.Keuchel | M.Cabrera | B1 | 2 | 0 | 0 | 0 | F-9 | 50 | 76.97 | -0.01 | -0.0132 |
M.Scherzer | C.Carter | T2 | 0 | 0 | 0 | 0 | F-3 | 52.4 | 78.11 | -0.024 | -0.0114 |
M.Scherzer | J.Martinez | T2 | 1 | 0 | 0 | 0 | F-9 | 54 | 78.93 | -0.016 | -0.0082 |
M.Scherzer | C.Corporan | T2 | 1 | 0 | 0 | 0 | HR | 43.1 | 68.21 | 0.109 | 0.1072 |
M.Scherzer | J.Paredes | T2 | 2 | 0 | 1 | 0 | KS | 44.1 | 68.68 | -0.01 | -0.0047 |
D.Keuchel | P.Fielder | B2 | 0 | 0 | 1 | 0 | 4-3 | 41.6 | 66.49 | -0.025 | -0.0219 |
D.Keuchel | V.Martinez | B2 | 1 | 0 | 1 | 0 | 6-3 | 39.8 | 64.81 | -0.018 | -0.0168 |
D.Keuchel | J.Peralta | B2 | 2 | 0 | 1 | 0 | BB | 41.2 | 66.04 | 0.014 | 0.0123 |
D.Keuchel | M.Tuiasosopo | B2 | 2 | 1 | 1 | 0 | 1B | 44.1 | 69.1 | 0.029 | 0.0306 |
D.Keuchel | B.Pena | B2 | 2 | 5 | 1 | 1 | 1B | 54.5 | 79.42 | 0.104 | 0.1032 |
D.Keuchel | A.Garcia | B2 | 2 | 3 | 1 | 4 | HR | 80.3 | 95.61 | 0.258 | 0.1619 |
D.Keuchel | O.Infante | B2 | 2 | 0 | 1 | 4 | 6-3 | 79.7 | 95.43 | -0.006 | -0.0018 |
M.Scherzer | M.Dominguez | T3 | 0 | 0 | 1 | 4 | KS | 81.9 | 95.99 | -0.022 | -0.0056 |
M.Scherzer | M.Gonzalez | T3 | 1 | 0 | 1 | 4 | 4-3 | 83.3 | 96.31 | -0.014 | -0.0032 |
M.Scherzer | R.Grossman | T3 | 2 | 0 | 1 | 4 | KC | 84.2 | 96.51 | -0.009 | -0.002 |
D.Keuchel | T.Hunter | B3 | 0 | 0 | 1 | 4 | F-9 | 83 | 96.16 | -0.012 | -0.0035 |
D.Keuchel | M.Cabrera | B3 | 1 | 0 | 1 | 4 | 1B | 84.3 | 96.36 | 0.013 | 0.002 |
D.Keuchel | P.Fielder | B3 | 1 | 1 | 1 | 4 | 4-6-3 | 81.7 | 95.48 | -0.026 | -0.0088 |
M.Scherzer | J.Elmore | T4 | 0 | 0 | 1 | 4 | 2B | 76 | 93.78 | 0.057 | 0.017 |
M.Scherzer | J.Elmore | T4 | 0 | 2 | 1 | 4 | Balk | 73.6 | 93.28 | 0.024 | 0.005 |
M.Scherzer | C.Pena | T4 | 0 | 4 | 2 | 4 | 1B | 68.8 | 89.81 | 0.048 | 0.0347 |
M.Scherzer | C.Carter | T4 | 0 | 1 | 2 | 4 | BB | 61.8 | 86.08 | 0.07 | 0.0373 |
M.Scherzer | J.Martinez | T4 | 0 | 3 | 5 | 4 | HR | 37.5 | 59.19 | 0.243 | 0.2689 |
M.Scherzer | C.Corporan | T4 | 0 | 0 | 5 | 4 | F-7 | 39.8 | 60.54 | -0.023 | -0.0135 |
M.Scherzer | J.Paredes | T4 | 1 | 0 | 5 | 4 | 2B | 35.6 | 57.17 | 0.042 | 0.0337 |
M.Scherzer | J.Paredes | T4 | 1 | 2 | 5 | 4 | CS | 41.5 | 61.46 | -0.059 | -0.0429 |
M.Scherzer | M.Dominguez | T4 | 2 | 0 | 5 | 4 | F-5 | 42.6 | 62.2 | -0.011 | -0.0074 |
D.Keuchel | V.Martinez | B4 | 0 | 0 | 5 | 4 | KS | 39.6 | 59.57 | -0.03 | -0.0263 |
D.Keuchel | J.Peralta | B4 | 1 | 0 | 5 | 4 | BB | 42.9 | 62.06 | 0.033 | 0.0249 |
D.Keuchel | M.Tuiasosopo | B4 | 1 | 1 | 5 | 4 | 1B | 47.8 | 66.37 | 0.049 | 0.0431 |
D.Keuchel | B.Pena | B4 | 1 | 3 | 5 | 4 | 5-4-3 | 36 | 55.82 | -0.118 | -0.1055 |
M.Scherzer | M.Gonzalez | T5 | 0 | 0 | 5 | 4 | 3-1 | 38.4 | 57.18 | -0.024 | -0.0136 |
M.Scherzer | R.Grossman | T5 | 1 | 0 | 5 | 4 | F-9 | 40.1 | 58.28 | -0.017 | -0.011 |
M.Scherzer | J.Elmore | T5 | 2 | 0 | 5 | 4 | KS | 41.3 | 58.94 | -0.012 | -0.0066 |
D.Keuchel | A.Garcia | B5 | 0 | 0 | 5 | 4 | KS | 37.9 | 55.28 | -0.034 | -0.0366 |
D.Keuchel | O.Infante | B5 | 1 | 0 | 5 | 4 | F-8 | 35.5 | 52.14 | -0.024 | -0.0314 |
D.Keuchel | T.Hunter | B5 | 2 | 0 | 5 | 4 | F-8 | 33.8 | 50 | -0.017 | -0.0214 |
M.Scherzer | C.Pena | T6 | 0 | 0 | 5 | 4 | KC | 36.3 | 51.51 | -0.025 | -0.0151 |
M.Scherzer | C.Carter | T6 | 1 | 0 | 5 | 4 | KS | 38.1 | 52.72 | -0.018 | -0.0121 |
M.Scherzer | J.Martinez | T6 | 2 | 0 | 5 | 4 | 6-3 | 39.4 | 53.43 | -0.013 | -0.0071 |
D.Keuchel | M.Cabrera | B6 | 0 | 0 | 5 | 4 | F-8 | 35.4 | 52.57 | -0.04 | -0.0086 |
D.Keuchel | P.Fielder | B6 | 1 | 0 | 5 | 4 | 4-3 | 32.5 | 56.18 | -0.029 | 0.0361 |
D.Keuchel | V.Martinez | B6 | 2 | 0 | 5 | 4 | E-6 | 34.7 | 53.27 | 0.022 | -0.0291 |
D.Keuchel | J.Peralta | B6 | 2 | 1 | 5 | 4 | 1B | 38.2 | 52.01 | 0.035 | -0.0126 |
D.Keuchel | M.Tuiasosopo | B6 | 2 | 3 | 5 | 5 | 1B | 56.4 | 75.1 | 0.182 | 0.2309 |
T.Blackley | B.Pena | B6 | 2 | 3 | 5 | 5 | F-4 | 50 | 69.53 | -0.064 | -0.0557 |
M.Scherzer | C.Corporan | T7 | 0 | 0 | 5 | 5 | BB | 44.1 | 65.45 | 0.059 | 0.0408 |
M.Scherzer | J.Paredes | T7 | 0 | 1 | 5 | 5 | FC | 49.7 | 69.18 | -0.056 | -0.0373 |
M.Scherzer | M.Dominguez | T7 | 1 | 1 | 5 | 5 | F-8 | 54.6 | 71.75 | -0.049 | -0.0257 |
M.Scherzer | J.Paredes | T7 | 2 | 1 | 5 | 5 | CS | 58.8 | 73.51 | -0.042 | -0.0176 |
T.Blackley | A.Garcia | B7 | 0 | 0 | 5 | 5 | F-5 | 54.9 | 72.2 | -0.039 | -0.0131 |
E.Gonzalez | O.Infante | B7 | 1 | 0 | 5 | 5 | 1B | 59 | 74.95 | 0.041 | 0.0275 |
E.Gonzalez | O.Infante | B7 | 1 | 1 | 5 | 5 | Pick Off | 52.1 | 69.34 | -0.069 | -0.0561 |
E.Gonzalez | T.Hunter | B7 | 2 | 0 | 5 | 5 | BB | 54.2 | 70.48 | 0.021 | 0.0114 |
E.Gonzalez | M.Cabrera | B7 | 2 | 1 | 5 | 5 | KS | 50 | 65.44 | -0.042 | -0.0504 |
D.Smyly | M.Gonzalez | T8 | 0 | 0 | 5 | 5 | KS | 54.7 | 67.57 | -0.047 | -0.0213 |
D.Smyly | R.Grossman | T8 | 1 | 0 | 5 | 5 | 1B | 49.8 | 65.64 | 0.049 | 0.0193 |
D.Smyly | J.Elmore | T8 | 1 | 1 | 5 | 5 | 1B | 43.1 | 59.67 | 0.067 | 0.0597 |
D.Smyly | C.Pena | T8 | 1 | 3 | 5 | 5 | KC | 51.7 | 65.57 | -0.086 | -0.059 |
A.Alburquerque | R.Grossman | T8 | 2 | 3 | 5 | 5 | WP | 48.8 | 64.3 | 0.029 | 0.0127 |
A.Alburquerque | C.Carter | T8 | 2 | 6 | 5 | 5 | KS | 60.7 | 73.25 | -0.119 | -0.0895 |
W.Wright | P.Fielder | B8 | 0 | 0 | 5 | 5 | KS | 56.1 | 68.95 | -0.046 | -0.043 |
W.Wright | V.Martinez | B8 | 1 | 0 | 5 | 5 | F-8 | 52.6 | 65.31 | -0.035 | -0.0364 |
H.Ambriz | J.Peralta | B8 | 2 | 0 | 5 | 5 | KS | 50 | 63.43 | -0.026 | -0.0188 |
A.Alburquerque | J.Martinez | T9 | 0 | 0 | 5 | 5 | BB | 41.8 | 61.48 | 0.082 | 0.0195 |
P.Coke | C.Corporan | T9 | 0 | 1 | 6 | 5 | 2B | 11.6 | 13.43 | 0.302 | 0.4805 |
P.Coke | J.Paredes | T9 | 0 | 2 | 6 | 5 | SAC 5-3 | 11.9 | 13.29 | -0.003 | 0.0014 |
P.Coke | M.Dominguez | T9 | 1 | 4 | 7 | 5 | SAC F-9 | 8.8 | 9.16 | 0.031 | 0.0413 |
P.Coke | M.Gonzalez | T9 | 2 | 0 | 7 | 5 | 1-3 | 9.2 | 11.67 | -0.004 | -0.0251 |
J.Veras | D.Kelly | B9 | 0 | 0 | 7 | 5 | 3-1 | 4.5 | 5.75 | -0.047 | -0.0592 |
J.Veras | B.Pena | B9 | 1 | 0 | 7 | 5 | BB | 10.7 | 13.43 | 0.062 | 0.0768 |
J.Veras | A.Dirks | B9 | 1 | 1 | 7 | 5 | F-6 | 4.5 | 5.73 | -0.062 | -0.077 |
J.Veras | B.Pena | B9 | 2 | 1 | 7 | 5 | DI | 4.8 | 6.02 | 0.003 | 0.0029 |
J.Veras | O.Infante | B9 | 2 | 2 | 7 | 5 | BB | 9.1 | 11.87 | 0.043 | 0.0585 |
J.Veras | T.Hunter | B9 | 2 | 3 | 7 | 5 | HBP | 17.5 | 27.73 | 0.084 | 0.1586 |
J.Veras | M.Cabrera | B9 | 2 | 7 | 7 | 5 | F-8 | 0 | 0 | -0.175 | -0.2773 |
Note: My post over at The Book Blog on this subject.
I’m still not convinced we need to treat each game with a 50/50 starting point for WPA, especially when you have a game where a team is a lopsided 78% favorite to win that game. Why not give the favored team 22% of positive WPA to play with. If Kershaw starts the game with the Dodgers having a 78% chance of winning and leaves the game with the Dodgers having a 78% chance of winning then he has “done his job” WPA-wise. Why should he and the rest of his team get extra added WPA just because they are playing against a bad team and they have a great pitcher starting for them? This seems worse.
0.0 WPA should be the baseline of expected WPA for each player and giving a team that is a 78% favorite 22% of positive WPA to play with does just that. If you start them out at 50/50 and don’t take into consideration the likelihood of one team winning over the other then you are padding their positive WPA with an extra of 28% of positive WPA points on average. This just doesn’t seem right. So what if the winning team only accumulates 0.22 points of WPA and the losing team accumulates -0.22 points of WPA hen the favorite wins. You are incorrectly assigning WPA to individual players by assuming every game is a 50/50 game.
If the initial Win Expectancy was correct and everything played out perfectly with the season simulated billions of times you’d expect to see everyone’s WPA converge to zero. But the season is one sample size (162 games) and WPA is pretty much a “story” stat so what you will see are players who exceeded expecations with a WPA over zero and players who did not exceed expecations with a WPA of under zero and players who met expectations with a WPA of right around zero.
Maybe a new stat? Win Probability Added Over Expectation (WPAOE) ??
Tangotiger Response:
Everything you are saying is correct. If Kershaw does his job exactly as intended, such that they had a 78% chance of winning entering the game and 78% chance of winning when he leaves, then he’s accumulated 0.0 wins IN-GAME.