Buying Low on Hitters Using xwOBA

There are, like, a dozen articles of this nature written daily — that is, “buy-low” candidates using some kind of xMetric, likely derived from Statcast. That’s fine. I’m not hating on it. This was my modus operandi when I first started writing at RotoGraphs, and it’s how I really started to understand the cyclicality of player performance and the differences between descriptive and predictive metrics.

Speaking of which, I have no desire to rehash the “what xwOBA should really represent” discussion that consumed the sabermetric sphere a week or two ago. (Although, for reference, I’ll link you to Baseball Prospectus, MLBAM’s Tom Tango, and FanGraphs’ Craig Edwards.) Primarily, I want to provide some facts about xwOBA followed by some non-facts about how I use xwOBA to keep my biases in check.

There are two important tenets to xwOBAism. At the player level, wOBA does not always converge on xwOBA…

  1. in a given season.
  2. over the course of a career.

Distribution of wOBA Minus xwOBA

Since the start of the Statcast EraTM in 2015, 431 hitters have recorded player-seasons of at least 500 plate appearances. The following graph depicts the distribution of those seasons in terms of wOBA minus xwOBA (wOBA-xwOBA), which is featured as a filter in Baseball Savant’s Statcast search, binning each wOBA-xwOBA differential in +0.005 wOBA bins:

You Aren't a FanGraphs Member
It looks like you aren't yet a FanGraphs Member (or aren't logged in). We aren't mad, just disappointed.
We get it. You want to read this article. But before we let you get back to it, we'd like to point out a few of the good reasons why you should become a Member.
1. Ad Free viewing! We won't bug you with this ad, or any other.
2. Unlimited articles! Non-Members only get to read 10 free articles a month. Members never get cut off.
3. Dark mode and Classic mode!
4. Custom player page dashboards! Choose the player cards you want, in the order you want them.
5. One-click data exports! Export our projections and leaderboards for your personal projects.
6. Remove the photos on the home page! (Honestly, this doesn't sound so great to us, but some people wanted it, and we like to give our Members what they want.)
7. Even more Steamer projections! We have handedness, percentile, and context neutral projections available for Members only.
8. Get FanGraphs Walk-Off, a customized year end review! Find out exactly how you used FanGraphs this year, and how that compares to other Members. Don't be a victim of FOMO.
9. A weekly mailbag column, exclusively for Members.
10. Help support FanGraphs and our entire staff! Our Members provide us with critical resources to improve the site and deliver new features!
We hope you'll consider a Membership today, for yourself or as a gift! And we realize this has been an awfully long sales pitch, so we've also removed all the other ads in this article. We didn't want to overdo it.

The distribution is pretty normal. Slightly more than half of full-time players outperform their xwOBAs. The slight skew is likely attributable to selection bias: elite hitters who outperform their xwOBAs as well as those can perform unexpectedly well for an extended duration will naturally see the lion’s share of plate appearances. The ones who slump get benched, this risking not meeting the 500-PA threshold to begin with. A standard deviation is about +0.020 wOBA, making two standard deviations — accounting for roughly 95% of all player-seasons — about +0.040 to +0.045 wOBA.

Most players will fall within these bounds, and the ones who don’t are likely to be skills-based outliers. For example, the players who, on average, outperform their xwOBAs by the greatest margins: Dee Gordon, Jonathan Villar, Ender Inciarte, Charlie Blackmon, Xander Bogaerts, Jose Altuve, etc. The simplest characterization of these hitters is they’re speedsters capable of legging out infield hits and taking extra bases when able. Even Derek Norris appears on this list, which seems strange, but it’s valid: he’s 12th among qualified hitters in infield hit rate (IFH%) from 2015 through 2017. At the other end of the spectrum, baseball’s biggest xwOBA underperformers include Miguel Cabrera, Ryan Howard, Kendrys Morales, Albert Pujols, Mitch Moreland, David Ortiz, etc. — players with, uh, less-than-ideal body types (coinciding with woeful speed scores). To be clear, I’m not formally declaring that speed explains all wOBA-xwOBA outliers, but it does fit the narrative snugly.

This is kind of a roundabout way of saying that using wOBA-xwOBA should be a two-pronged approach: looking at the largest differentials, but also understanding which players naturally over- and underperform their xwOBAs (and adjusting any regression expectations accordingly).

Hitter Arbitrage

My preseason list of mid-round value bats is littered with xwOBA underperformers: Kole Calhoun, Jason Kipnis, Adam Duvall, Carlos Santana, and Jay Bruce have five of the 16 worst differentials (among 213 hitters with 150+ PAs this year). That’s not to say there’s a light at the end of the tunnel for all of them; Calhoun, for example, and his xwOBA of 0.276 is legitimately miserable. But he has generally been a breakeven wOBA-xwOBA guy for three years, and no one hits with a .185 batting average on balls in play (BABIP) forever. He just hit the disabled list, which is unfortunate timing, but I scooped him up for free in my Great Fantasy Baseball Invitational (TGFBI) league in anticipation of his inevitable batting average regression. It’s not super sexy, but if I can capture Calhoun batting .280 for a couple of months, even if it barely brings his season average up to the Mendoza Line, then I’ll have wrung some value out of a free asset.

I’ll outline the remaining “buy-low” candidates more formally here, with their wOBA-xwOBA differentials in parentheses. I’m relying on the differential distribution heavily here. Ninety-five of hitters fall within 45 points of their xwOBA, and only three hitters (0.7%) have finished 60+ points worse than their xwOBA (Cabrera twice and Morales once). Thus, it’d be near impossible for any of the following hitters to continue performing so poorly. They’re much likelier to finish their respective seasons with smaller differentials. Even if they suffer some bad luck in regard to closing the gap between their wOBAs and xwOBAs, they should still rebound to some extent.

  • Jason Kipnis, CLE 2B (+0.001 wOBA-xwOBA): He’s a “true-talent” breakeven wOBA-xwOBA guy whose 0.344 xwOBA comes within swinging distance of his peak production. He’s never going to hit 20 homers again, but he’s also probably better than a .238 BABIP. His -0.086 differential suggests there’s a 40- to 80-point wOBA surge looming.
  • Adam Duvall, CIN OF (+0.011): This is going to get boring quickly. Duvall’s not a .191 BABIP guy, period. He’s hitting for his usual 30-homer power while exhibiting his best contact skills to date (not to mention a double-digit walk rate!). His -0.078 differential and history of breaking even on his differential suggests, like Kipnis, there’s an equally large correction awaiting us.
  • Carlos Santana, PHI 1B (-0.016): Honestly, Santana’s peripherals are about as good as they’ve ever looked. This is another low BABIP situation, and it’s possible it doesn’t fully correct. Frankly, that’s possible for any of these hitters. But with annual differentials of -0.018, -0.018, and -0.013, at least Santana is consistent in his underperformance. He could hit 30 home runs this season and pick up another 30 points of batting average along the way.
  • Jay Bruce, NYM OF (-0.010): Whoa! Something different! Not a BABIP problem, but a home run problem. His HR/FB rate is less than one-third of his career rate and barely one-fourth of the rate he sustained in his two recent 30-homer campaigns. Now, Bruce has dealt with plantar fasciitis this year, and we’ve seen how the ailment has made Pujols looks so painfully human in the twilight of his career. Bruce is not nearly as old, although sometimes it seems like it — 31 years old and already in his 11th season — so he could probably recover a little more gracefully. But it’s worth keeping in mind that Bruce isn’t a surefire rebound candidate. Still, he’s worth speculating on a crazy home run streak if you can afford it.

The boring part about this kind of analysis is, at the most fundamental level, a lot of these guys are simply underperforming by BABIP. I feel like I’m picking the lowest-hanging fruit: look at all these hitters with huge xwOBA disparities! Yet this endeavor must be worthwhile; all of these guys have seen their ownership tank relative to Opening Day. It seems fantasy owners are still quick to ascribe talent to a small-sample BABIP without realizing it (that’s what cognitive biases do — obscure our better judgment). So, maybe it’s not so boring. Maybe it’s a friendly reminder to not quit on the guys who are slumping profoundly. I mean, some of them are worth abandoning. But I think many of them, including most of the names I mentioned here, will be among the second half’s hottest hitters.

(I acknowledge that this approach assumes player peripherals remain constant, such that current xwOBA levels will not fluctuate moving forward. They will, of course, and it’s possible all of these players’ xwOBAs converge on their bad wOBAs rather than the other way around. I’m betting against it, though, given the xwOBAs for most of them — Kipnis, Duvall, Santana — more closely resemble their wOBAs from previous seasons and their current peripherals suggest nothing is even slightly wrong, let alone egregiously so. Calhoun, obviously, is a trickier, more desperate bet.)

All said, the most critical point of this exercise was to understand (1) the distribution of wOBA-xwOBA differentials and (2) individual true-talent xwOBA marks, and how the two of them in tandem might explain a player’s probability or capacity to rebound midseason. I’m buying tons of shares of Kipnis, Duvall, Santana, et al., some of whom are literally free (or a cursory $1 FAAB bid) on the waiver wire, even in 15-team leagues. (And these are far from the only hitters primed to bust slumps this summer.) You might consider doing your own fair share of speculating if your roster allows it.





Two-time FSWA award winner, including 2018 Baseball Writer of the Year, and 8-time award finalist. Featured in Lindy's magazine (2018, 2019), Rotowire magazine (2021), and Baseball Prospectus (2022, 2023, 2024, 2025). Biased toward a nicely rolled baseball pant.

36 Comments
Oldest
Newest Most Voted
pvalent
8 years ago

Any other players that are more highly owned who you would put in this category? Even in 12-teams all but Carlos Santana are mostly unowned.

Also, does xwOBA-wOBA account for shifts?

scotman144Member since 2016
8 years ago
Reply to  pvalent

Anthony Rendon and Teoscar Hernandez are both running wOBA’s ~.06 under their xwOBA’s and neither is exactly slow nor unathletic: I’d target those guys over Mauer / Yadi Molina / Ryan Zimmerman who are also underperforming their xwOBA #’s by similar amounts but we know to be old / slow / outliers by SPD score.

mateoloco
8 years ago

What about Leonys Martin? His flyball rate is way higher than ever before and his xwOBA is .384. Would you prefer him to Piscotty? Martin is hitting leadoff, whereas Piscotty is near the bottom of Oakland’s lineup.

pvalent
8 years ago

Sorry, maybe I was unclear, I might looking at guys with *higher ownership* for trade targets, as opposed to free agent adds. But I was just being lazy anyway I know how to work the baseball savant search lol

The other statcast metric I want to look at is Barrels/PA or BBE, because at the end of the day I just wanna isolate hard hitters, I think all they can control is hitting what they’re pitched, xwOBA might be trying to do too much

RonnieDobbs
8 years ago

I’ll bet you it is unaware of defensive alignment. Many of these models don’t even distinguish left from right handed hitters.

p00gs
8 years ago

If certain hitters are “predictable underperformers”, doesnt that by definition call into the question the legitimacy of said statistic?

AnonMember since 2025
8 years ago

I’ve been all over xwOBA for a couple years now. As long as you understand the fast/slow dichotomy, it’s a wonderful tool. I also think there is a subtle difference between fast and slow players. It’s not just that the fast guys leg out more hits, it’s that they force the defense to play them differently. Anymore teams will play the really slow guys just ridiculously, absurdly deep. In contrast, you can’t play a Dee Gordon in the outfield grass for the most part because he might hit a weak 50 mph ground ball that you will need to charge just to barely get him out. So if you’re playing VMart 40 feet behind the infield dirt and you have to play 10 feet inside the infield dirt against Dee Gordon, that’s an extra 50 feet of reaction time for infielders on every ground ball. So that 95 mph ground ball from VMart is probably still an out even if it’s not hit directly at a fielder. Meanwhile that same ground ball from Gordon has to be hit almost right at a fielder for him to get to hit. Granted, VMart hits more balls at 95 MPH, but in the eyes of xwOBA those are both given the same value and it should be a lower value for VMart since it’s far less likely to be a hit.

I also think that it’s true that there is no reason that xwOBA can go down rather than wOBA go up. But if you get enough cushion, you should still get some closing of the gap and a rise in wOBA even if xwOBA comes down. I picked up Yonder in late April when someone in my league straight waived him. At the time his wOBA was .286 but his xwOBA was over .400. Since then his xwOBA has drifted back to .376 for the year (which means something like .350 since I picked him up) but his wOBA has bumped up to .322 for the year and it has been .351 since 4/20/18

Metropolitans
8 years ago

If Bruce is available off waiver wire, how would you rank him compared to some of the more active names being grabbed, mainly ROS as going with the hot-hand is a bit more obvious? Is he better stash than Yonder Alonso, Kinsler, John Jay, Munoz, Panik, Camargo, Gurriel, etc.?

rhdx
8 years ago

I can’t speak for how other owners manage their teams and I have held onto Carlos Santana (my league counts walks so he was never that terrible) but sometimes you know a player has talent and will turn it around eventually but you simply can’t afford to hold onto him until that happens. In some leagues having a black hole in one spot for 3 weeks is too costly.

ArmadilloFury
8 years ago

Has anybody ever tried to adjust xwoba for the hitter’s speed by using statcast’s speed score to come up with a 2nd degree xxwoba?

AnonMember since 2025
8 years ago
Reply to  ArmadilloFury

I haven’t tried it but I’ve certainly thought that it would make sense. It also seems pretty clear to me that there should be some sort of ballpark adjustment as well.

ArmadilloFury
8 years ago
Reply to  Anon

I dumped the 2018 baseball savant data (min 100 PA) into excel and it came up with wOBA = 0.7877 * xwOBA + .0038 * Sprint Speed

r^2 = 66%. It crude though, hopefully someone can do better

ArmadilloFury
8 years ago
Reply to  ArmadilloFury

Forgot the intercept. wOBA = -0.0491 + 0.7877 * xwOBA + .0038 * Sprint Speed.
The r^2 with xwoba as the only independent variable is 64% vs 66% for using both xwoba and sprint speed

Jim Melichar
8 years ago
Reply to  ArmadilloFury

Andrew Perpetua is doing this in his xStats.org project. It’s ballpark adjusted and speed adjusted. He’s also using horizontal spray angle (Pull/Center/Oppo) which Statcast hasn’t incorporated into it’s xwOBA yet. So you have to watch out for players who skew to certain fields because it will look like they are under-performing their xwOBA but in reality it’s just that balls hit to center and oppo have lower wOBA outcomes.

Snake ClownsMember since 2026
8 years ago

What about Dexter Fowler? Any hope for him?

pvalent
8 years ago

To put it into simpler words, it’s that a “full-time hitter” (however we wanna debate / define that) is more likely to over-perform than underperform. So if one is under-performing it’s more likely to regress positively

Ryan BrockMember since 2025
8 years ago

I can buy a slight bump coming for Santana, but I want to disagree and say that the problems with his peripherals are pretty clear. He’s always had a popup problem and this year it’s gotten particularly bad. He also gets shifted more than almost anyone (top 5 in PA vs. shift) but I’m not sure if that’s gotten worse this year or not. He might just be a bigger underperformer of xwOBA than he used to be. Oh, and also, xwOBA doesn’t bother to park adjust (ugh) and he’s in a new park so that might be a factor…

AnonMember since 2025
8 years ago

That is exactly what I like about xwOBA – it accounts for all sorts of factors that previously we had to kind of eyeball as in “Well, he’s hitting more fly balls which is good, but his hard hit rate is down and he’s hitting more infield flies. Plus, he’s walking more but he’s also striking out more. Hmmmmm”

xwOBA accounts for all that. Guy is hitting more IFFB? It’s accounted for. More line drives or fewer line drives? Accounted for. Hitting it harder or softer? Accounted for and all a lot more accurately than the current stats which to my understanding are somewhat subjective to the person collecting the data.

Pretty clearly xwOBA could use a speed factor, a park factor and probably also “pull v oppo” factor since dead pull hitters are easy shift targets also. But until those come along, this is a far superior stat to everything else.

Jim Melichar
8 years ago
Reply to  Anon

Just remember that xwOBA (and other x stats) aren’t predictive. It says nothing of “is this hitter likely to maintain this batted ball profile”.

There are multiple distributions to consider here. Not just GB/LD/FB, but the spectrum of all launch angles and what fields a player hits to.

I look at launch angles binned in 8 degree increments. Everything below 8° is basically a ground ball, 8-16° are your hard liners, 16-40° are your fly balls and high drives, and everything over 40 are mostly pop-ups.

Sometimes hitters run hot, expanding the amount of contact they make between 8 and 40°, it’s your job to determine if you think they will sustain that amount of contact. You can put confidence intervals around it to assess it for real change. xStats won’t help you with this because all xwOBA tells you is “if a hitter hit balls at these launch angles and these exit velocities, they should have had an .XXX wOBA”. If his batted ball mix is a small sample size hot streak, you have to identify that. You can “earn” a stat line but there’s nothing predictive there. I hope that makes sense.

Jim Melichar
8 years ago

Ah, but we CAN know (kind of). But it requires studying the components driving the actual wOBA outcomes.

My main point was you’ve got to take the Statcast xwOBAs with a grain of salt, because they’ve got inherent issues. That’s why I like to study the prior year(s) wOBA for a player at various launch angles to Pull/Center/Oppo so I can check for consistency (or deviation) there and not have to rely on Statcast’s currently sub-optimal xwOBAs.

To take one of your examples. Kipnis’ xwOBA deficit is mostly driven by “luck” he’s creating for himself. He’s only pulling the ball in the air 24% of the time leading to a .597 wOBA on those balls. While this is nearly 300 points off his pull-field fly ball wOBA from last year (.876) he was pulling the ball in the air 35% of the time last year, and 37% the year before that. He has barreled 8 of those balls, but he’s got really soft contact on the other 8.

The thing that’s killing his batting average is that he’s not hitting many line drives in the (8-16°) launch angles, and the ones he has hit he has been a victim of some bad luck, but you open yourself up to that bad luck when you’re not hitting many balls at the ideal launch angles for high BABIPs (8-16°) and making soft contact on the ones you are lifting more.

Kipnis’ ability to hit the higher drives for HRs and 2Bs appears to be gone. Anything hit 32-40 degrees he’s down to a .057 wOBA on those against a three year average around .300. The same goes for the other portion of his high drives (24-32°), where he can’t generate enough bat speed to pull the ball or hit it with any velocity. His Statcast xwOBA says he should be much higher but only because he’s hitting most of his balls to center and opposite field. His wOBAs are right in line with what I’d expect when I consider WHERE he’s hitting the ball. I can’t get xStats.org to load his profile, but I’m guessing it’s much more pessimistic on Kipnis than the Statcast xwOBA.

Jim Melichar
8 years ago

Statcast xwOBA is bad, to be direct. Kipnis is much closer to a .300 xwOBA player than the .344 you cite from Statcast. That’s over half the difference. It’s important because it changes the analysis quite a bit.

Just so we’re clear, I didn’t say batted ball profiles were static, I cited that he’s declining and I’d not assume a positive change in his batted ball profile. The entire profile has been declining since 2015.

He’s due 3 more HRs, but that’s it and that make him the still awful player he was last year. He’ll have to go back to pulling 40% or more of his flyballs to be useful at all and I’m not sure he can get there.

I know I’ve picked on one particular player, but its a good exemplar.

gonads07Member since 2019
8 years ago

Is it possible to see risers and fallers in terms of wOBA/xwOBA and Brls/PA? I can’t figure out how/if you can perform that analysis on baseballsavant. Seems like you might have to take snapshots of the leaderboards at regular points in time (every 10 days or month) and run the comparison in Excel? I’m kinda new to this, but I think it would provide a good idea of which guys’ wOBA and xwOBA are starting to converge and which guys are starting to hit the ball better (i.e. improved Brls/PA), but it may not be reflected in fantasy points yet.

Jim Melichar
8 years ago
Reply to  gonads07

Please remember that Barrels aren’t predictive, they are a lagging indicator of past performance but not predictive of future. Understanding hitters batted ball profiles is what’s important. That includes their launch angle distributions, Pull% on flies and exit velocity on various batted ball types.

I built a tool that you can use on Tableau Public to look at different players (or compare some). All the data is pulled directly from the Statcast database and visualized with copious amounts of stats for you. Have fun.

https://public.tableau.com/profile/jim.melichar#!/vizhome/BattedBallProfileDashboard-CollapseYears/BattedBallProfileDash

mateoloco
8 years ago

What to do with Jonathan Schoop? As bad as he’s been, he’s actually one of the top 5 outperformers! His wOBA is 0271 but xwOBA is 0.236! Is he cuttable in a 10 team mixed redraft, or is there any hope for a rebound?