How to Beat Statcast’s Hitting Metric
One of the more fascinating rollouts from Baseball Savant this season has been xwOBA, a metric that utilizes launch angle and exit velocity to assign a hit value (single, double, triple, home run, or out) to every batted ball and then translates the results to “expected” wOBA. Why does it matter? By stripping out the influence of luck and defense, it gets closer to something like a “deserved” hitting number.
Here’s what the glossary at MLB.com says about the metric:
xwOBA is more indicative of a player’s skill than regular wOBA, as xwOBA removes defense from the equation. Hitters, and likewise pitchers, are able to influence exit velocity and launch angle but have no control over what happens to a batted ball once it is put into play.
For instance, Tigers first baseman Miguel Cabrera produced a .399 wOBA in 2016. But based on the quality of his contact, his xwOBA was .459.
For the most part, those claims make sense. But that’s not to say xwOBA can’t be beaten. To understand how, let’s look a little bit at how wOBA compares to xwOBA. Let’s begin by looking at all players from last season who recorded at least 400 at bats and compared their wOBAs to their xwOBAs. The scatter plot looks like this.

There’s a pretty strong relationship there. Of the 183 players represented above, 150 had a disparity between wOBA and xwOBA under 30 points. That seems pretty conclusive.
So what are we to do with this data? We could look at the outliers on either end, presume that they were either unlucky or lucky when it came to batted balls, and then move on with the analysis. However, before we do that, we might want to look at other reasons for the potential disparity. To that end, I did an eye test of sorts. I took all players with at least 400 at bats in both 2015 and 2016 and looked at their xwOBA minus wOBA in both seasons. If a player had a negative number, he might be considered to have had some good luck. If the numbers were positive, he might have had some bad luck.
As for a year-to-year relationship between xwOBA-wOBA, the r-squared is .17. If there’s a relationship year-to-year, in other words, it isn’t a strong one. That’s actually a pretty good sign for the stat: if there were a really strong relationship, then beating or losing out to xwOBA might actually represent a sort of repeatable skill. That might ruin much of xwOBA’s utility.
Continuing my examination, I looked for players who’d recorded at least a 20-point disparity in xwOBA and wOBA in both 2015 and 2016. Here are the players who posted negative numbers — i.e., the potentially lucky group:
| 2016 xwOBA-wOBA | 2015 xwOBA-wOBA | |
|---|---|---|
| Odubel Herrera | -.042 | -.045 |
| Xander Bogaerts | -.039 | -.047 |
| Ender Inciarte | -.034 | -.050 |
| Charlie Blackmon | -.043 | -.034 |
| Nolan Arenado | -.043 | -.032 |
| Rougned Odor | -.030 | -.042 |
| Brian Dozier | -.048 | -.024 |
| Adam Eaton | -.021 | -.048 |
| Cesar Hernandez | -.035 | -.030 |
| Yangervis Solarte | -.038 | -.024 |
| Jean Segura | -.040 | -.021 |
| Dexter Fowler | -.026 | -.031 |
| Ian Kinsler | -.032 | -.024 |
| Carlos Gonzalez | -.025 | -.029 |
| Josh Harrison | -.027 | -.026 |
| Asdrubal Cabrera | -.026 | -.025 |
Notice anything similar about the group of players above? Generally speaking, they’re pretty fast guys. Consider, by way of comparison, the group of players who undershot their xwOBA by at least 20 points two seasons in a row.
| 2016 xwOBA-wOBA | 2015 xwOBA-wOBA | |
|---|---|---|
| Joe Mauer | .034 | .030 |
| Albert Pujols | .042 | .023 |
| Miguel Cabrera | .050 | .022 |
This list is much shorter, but it does include a few of the slower players in baseball. What does that mean? For one, that it’s a lot harder, if not impossible, to consistently undershoot your xwOBA with a wOBA lower than expected. Only a few guys have done it both years, and the effect is much less pronounced than the guys who’ve overshot their xwOBA with bigger wOBA numbers.
We don’t have a perfect metric when it comes to speed, but baserunning runs (BsR) is probably a decent proxy. Yes, there are some fast guys who are poor baserunners and have poor instincts when it comes to stealing bases. Generally, though, the players who record good baserunning numbers are quicker players. With that in mind, I took the 125-player sample of players who recorded 400 at bats in 2015 and 2016 and looked at their combined BsR in those seasons. I then compared those results to the totals of xwOBA-wOBA in each season. The plot looks like this:

At first glance, the relationship doesn’t appear to be particularly strong. To receive an r-squared of .27, however, between two stats that wouldn’t seemingly have a lot to do with each other, suggests that there’s something to this idea. Of the 28 batters above who recorded at least five runs on the bases over the last two years, all but one produced a positive xwOBA-wOBA. That one outlier is Gregory Polanco and his xwOBA-wOBA was .001. Those good baserunners, on average, beat their xwOBAs by 22 points per season in 2015 and 2016. The remaining players beat their xwOBA by an average of just two points per season in those years. At the very bottom, the 10 worst baserunners averaged a 15-point surplus in xwOBA compared to wOBA. The effect among slower players appears to be minimal when it comes to determining whether posting high xWOBAs (relative to observed wOBA) is some sort of skill. For the most part, it seems to have little to do with skill. So, in others words, if you see a player underperforming his xwOBA, it would seem that bad luck actually is involved.
On the other hand, if a player is posting an xwOBA lower than his wOBA, we can’t immediately jump to the conclusion that there’s a lot of good luck involved. Speed is a skill which has been stripped out of xwOBA. If a player can run out a lot of infield singles, that’s going to show up in wOBA, but not in xwOBA. If a player can turn a bunch of singles into doubles, that’s going to factor into wOBA, but not xwOBA. This doesn’t really discount xwOBA’s utility: after all, wOBA and wRC+ are fairly comprehensive offensive statistics, and they don’t account for a player’s offense once he reaches base. In addition, it still should be possible to identify players who have had good and bad luck simply by mentally compensating for speed a little bit. There should be a ton of great uses for xwOBA and we will get to more later, but we should keep in mind that players can beat xwOBA with their legs.
Craig Edwards can be found on twitter @craigjedwards.
Is there any reason Fangraphs can’t include xwOBA, or xOBA as Baseball Savant calls it, in their list of stats for hitters?
I’ve been looking for this and was wondering the same. Carson, please make it so!
Everything makes sense here but wouldn’t the xwOBA beaters (speedy guys) be the potentially lucky group (and not the potentially unlucky group as stated)?
My fault! Duly edited. Thanks.
Good job, and agreed! We’ll eventually have the Sprint Speed for all the players, but until then, you can also take advantage of the Fans Scouting Report Sprint Speed numbers on Fangraphs.
“Here are the players who posted negative numbers — i.e., the potentially unlucky group:”
Isn’t this the “lucky” group? Guys who have performed BETTER than expected?
Nolan Arenado…now and forever-after known as “a pretty fast guy” smh
The fact that so many Rockies show up on this list, there must be something park factor related…
This! I was going to post the same comment.
me three………..I ran down every team quickly and looks like Colorado, Milwaukee and Arizona are ranked 1-2-3 as far as teams ‘overachieving’ this season…….which according to ESPN park factors those are the top 3 highest ranked park factors currently this year.
Yes, park factors are significant and depend on things like air density, outfield area and wall height, and infield surface speed. Results are presented in section 5.4.2 of
https://arxiv.org/pdf/1603.00050.pdf
Also, to quantify the relationship between batter speed and performance relative to expected wOBA you want to consider the horizontal angle of batted balls as is done in the reference above and explained in more detail at
http://content.iospress.com/download/journal-of-sports-analytics/jsa0025?id=journal-of-sports-analytics%2Fjsa0025
Is there a positive correlation between wOBA-xOBA and BsR for qualifying batters?
nevermind…i see the graph now. Anyone else having problems loading this article?
Also doesn’t account for batted ball spray patterns. Players who have groundball pull tendencies get shifted and therefore are overrated by xWOBA. I like the way Tony Blengino accounted for that in his Quality Contact FanGraphs series: he only considered unadjusted groundball production for hitters who had extreme pull tendencies.
Regarding speedy players being underrated by xWOBA, I wonder about how StatCast would have evaluated prime Ichiro. He relied almost entirely on ground balls, but was so skillful about the spray in relation to his ability to leg out hits.
Where the heck are they posting xwOBA? Don’t see it on BaseballSavant (e.g., not on Leaderboard, player pages or Daily Matchups) or MLB.com.
I think it’s only currently under the search feature. You can sort by xwOBA to get results. Here’s an example: https://baseballsavant.mlb.com/statcast_search?hfPT=&hfAB=&hfBBT=&hfPR=&hfZ=&stadium=&hfBBL=&hfNewZones=&hfGT=R%7C&hfC=&hfSea=2017%7C&hfSit=&player_type=batter&hfOuts=&opponent=&pitcher_throws=&batter_stands=&hfSA=&game_date_gt=&game_date_lt=&team=&position=&hfRO=&home_road=&hfFlag=&metric_1=&hfInn=&min_pitches=0&min_results=0&group_by=name&sort_col=xwoba&player_event_sort=h_launch_speed&sort_order=desc&min_abs=100#results
Is this a place where taking a step back from woba to avg/obp/slg might be useful? Like maybe having a triple slash of x stats would help us evaluate a player more than xwoba alone. Maybe a setup like that would help us better peer into the questions that xwoba – woba differential still leaves us wondering about regarding the interplay between luck, defense, and batter speed.
speed and park factor are acknowledged as lacking in xwOBA by the statcast guys.
fenway boosts guys like bogaerts. comerica kills miggy etc
A statistical nitpick: correlating xwOBA with wOBA is not statistically valid. The former is intended to be a direct predictor of the latter, not a linear regressor (in other words, we know that the “best fit” line is supposed to pass through the origin and have a slope of 1, so allowing these to vary to minimize the RMS error is improper).
To calculate the correct coefficient of determination, you must instead divide MSE of the individual predictions for each player by the variance of the wOBA scores, and subtract the resulting value from 1. This will be strictly less than the r^2 you’ve reported here.
Also, I’m going to gripe again about how opaque these statcast-based stats are. I’d like to know whether I should suspect them to be overfit or underfit, but it’s impossible because there’s literally no hard info about how they’re actually calculated.