Hitter wOBA vs xwOBA — May 28, 2024
It’s been just over a month since I last reviewed the hitters that had most underperformed and overperformed their xwOBA marks. I’m not going to review how they have performed since, as the idea is for rest of season production, not just the next month.
Let’s then take another look at the current crop of underperformers and overperformers as we’re around a third of the way through the season. With this many games in the books, it should be even easier to trade for the underperfomers at a discount to their preseason prices, while the overperformers have had enough time to increase their perceived value and could bring a hefty return.
| Name | BABIP | wOBA | xwOBA | Diff |
|---|---|---|---|---|
| Christopher Morel | 0.209 | 0.301 | 0.377 | -0.076 |
| Andrew Benintendi | 0.204 | 0.215 | 0.287 | -0.072 |
| Brandon Nimmo | 0.262 | 0.337 | 0.398 | -0.061 |
| Vinnie Pasquantino | 0.232 | 0.308 | 0.368 | -0.060 |
| Francisco Lindor | 0.222 | 0.287 | 0.346 | -0.059 |
| Corey Seager | 0.268 | 0.344 | 0.402 | -0.058 |
We have a new name atop the underperformer, the Cubs’ Christopher Morel! Despite dramatically cutting down on both his SwStk% and strikeout rate, along with increasing his walk rate, his wOBA has tumbled versus last year. While the power has still been good, his HR/FB rate is down a full nine percentage points, while his ISO has slipped below .200. His Barrel% has dropped, but does remain well above average in the low double digits.
The real issue here is his BABIP, which has plummeted from .303 last year to just .209 this year. That ranks as the fourth lowest among qualified hitters. Some of it is deserved though, as his LD% is well below average, while his IFFB% has more than doubled an sits ninth highest in baseball. Still, Statcast calculates he should be enjoying significantly better results. If you need power, he seems like a pretty solid target as a result.
Welp, maybe some things don’t change. Andrew Benintendi ranked second among underperformers on my original list and remains there now. Like Morel, it’s been his BABIP that has killed his results as well. He has become a fly ball hitter for some reason, which is odd given his complete semblance of power since 2021, so that definitely hasn’t helped. While he probably does deserve better results, even those expected results are weak. AL-Only leaguers probably have no choice but to hold and hope for the best.
Brandon Nimmo ranked seventh among underperformers previously, so he has moved up here, but is underperforming a bit less than before. As you might expect, his previous .416 xwOBA has come down, while his actual OBA has more or less remained stable. It’s once again a BABIP thing as he’s sporting a career low mark, despite an excellent batted ball profile. In addition, his Barrel% is sitting at a career high, but his HR/FB rate is barely above last year and his career average. A big rest of season could be in the cards if he could maintain those underlying skills.
I had a real wishy washy opinion of Vinnie Pasquantino heading into the season. On the one hand, I loved the skill set. On the other hand, he plays in a pitcher friendly home park and his 2023 season was cut short to a torn labrum in his shoulder, which required surgery. You never know how recovery from such injury and surgery is going to affect a hitter’s power.
We’re now just over 200 plate appearances in and everything looks good…except his results. Somehow, he’s managed to increase his Barrel% to double digits for the first time, and enjoy rebounds in HardHit% and maxEV over last year’s marks to settle in close to his 2022 debut levels, but his HR/FB rate has fallen into single digits. It makes no sense! Nothing here suggests his shoulder has sapped his power, but balls just aren’t leaving the yard. I just don’t know here.
At the risk of sounding like a broken record, Francisco Lindor is also suffering from a career worst BABIP. His batted ball profile is right in line with past years, but the hits ain’t falling. He has also suffered a power outage, posting a career low HR/FB rate and just the second time it’s slipped into single digits, while his ISO has dropped to its lowest since 2020. While his maxEV is at a career low, his Barrel% and HardHit% are both at the second highest marks of his career. He’s still attempting steals too, so he’s an easy trade target.
It sure doesn’t seem like Corey Seager is significantly underperforming given his 11 homers, but a lot of that underperformance is what isn’t typically counted in fantasy — doubles. His ISO has slipped below .200, thanks to a shockingly low three doubles, after he hit 42 last year. That’s crazy! His BABIP is down too, as his LD% has fallen to a career worst, while he has also upped his FB% to a career high. It’s been a bizarre season so far for Seager, but I’m sure his owners are just happy he’s healthy.
| Name | BABIP | wOBA | xwOBA | Diff |
|---|---|---|---|---|
| Isaac Paredes | 0.324 | 0.387 | 0.319 | 0.068 |
| Ezequiel Tovar | 0.387 | 0.344 | 0.283 | 0.061 |
| Elias Díaz | 0.347 | 0.340 | 0.282 | 0.058 |
| Daulton Varsho | 0.222 | 0.327 | 0.270 | 0.057 |
| Connor Joe | 0.323 | 0.355 | 0.303 | 0.052 |
| Wilyer Abreu | 0.366 | 0.373 | 0.324 | 0.049 |
Isaac Paredes jumps from ranking seventh among overperformers to the top of this list. He has actually increased both his actual wOBA and xwOBA since making that first list. We know that he has succeeded in the power department because of his pulled fly ball rate, and I’m not 100% on whether horizontal batted ball direction is accounted for in xwOBA. Obviously, he’s breaking the calculation if it isn’t.
But he’s also seemingly overperforming in the BABIP department, as he’s got a bizarre batted ball profile going on. He has rarely been hitting ground balls, instead becoming a big line drive guy, but also an extreme fly ball hitter and pop-up machine. So far, all those fly balls and pop-ups haven’t hurt his BABIP or offset the line drives, but I would imagine there’s serious risk they will eventually. If I were an owner, I’d probably be looking to swap for someone a bit safer.
Ezequiel Tovar also made the initial overperformer list and has benefited greatly from a .387 BABIP. Like Paredes, he has also been an extreme fly ball hitter, but his LD% is only marginally above the league average, while his pop-up rate has been normal. All in all, not even Coors Field could explain how that batted ball profile could justify that inflated BABIP. The good fortune has pushed him to the top of the lineup, where he has remained since early April. A slump will probably come at some point, but since the Rockies offense stinks, he may keep a strong lineup spot and continue earning fantasy value.
Another Rockies hitter joins the list in catcher Elias Díaz. He has cut his strikeout rate, despite a career worst SwStk%, since he’s been swinging at everything and avoiding the base on balls. Most of the overperformance here is BABIP related, as there’s no reason that a slow catcher with the eighth highest IFFB% in baseball should be posting a mark as high as .347. So a batting average slump is coming, but he should remain a decent enough fantasy catcher.
Daulton Varsho is showing the best power of his career with a .250 ISO, but Statcast doesn’t believe that’s deserved at all. Even with a career low .222 BAIP, Varsho appears here, as that low BABIP actually seems legit — his LD% is eighth worst in baseball, and he has combined that with the third highest fly ball rate and fourth highest IFFB%! That’s a lot of batted ball types that are negative for BABIP. He probably wouldn’t garner a whole lot in trade, and I feel like the underlying skills have a better chance of improving than his performance declining to meet his xwOBA, so I wouldn’t rush to offer him around if I were an owner.
On the surface, Connor Joe’s underlying skills and ratios look perfectly normal. But Statcast calculates he has overperformed both on BABIP and on the ISO side, with more of he overperformance coming on the BABIP side. Similar to Varsho, Joe has posted a weak LD%, combined with a high IFFB%. That’s usually a bad combination for BABIP as line drives result in the highest BABIP, while pop-ups lead to the lowest. So he probably won’t be hitting .280 for much longer unless he improves his batted ball profile. Without much power or speed, he’s really just relegated to NL-Only leagues.
After a strong cup of coffee last year, Wilyer Abreu eventually found himself with a strong side platoon job in the Red Sox outfield this season. He has performed admirably again, but it’s hard to believe that .366 BABIP is sustainable. Like the other names, the LD% is ranked 10th worst in baseball, while his FB% is 13th highest. That’s perfectly fine for home runs and power, but not so for BABIP. Interestingly, he owns a strong 12.3% Barrel%, but just a 9.6% HR/FB rate, so I would bet his HR/FB rate improves, while his BABIP declines over the rest of the season.
Mike Podhorzer is the founder of ProjectingX IQ, an advanced fantasy baseball analytics platform that transforms projection data and in-season performance signals into actionable intelligence. He is the 2015 Fantasy Sports Writers Association Baseball Writer of the Year and three-time Tout Wars champion. He is the author of the eBook Projecting X 2.0: How to Forecast Baseball Player Performance, which teaches you how to project players yourself. Follow Mike on X@MikePodhorzer and contact him via email.
batted ball horizontal direction is not part of Statcast’s xwOBA
This.
One of the problems with xWOBA along with not accounting for speed and not taking into account park factors.
Fairly certain it does account for speed now. Pretty sure the equation was updated years ago, as confirmed on Twitter when I asked about it, as that was a known flaw. No idea why horizontal direction hasn’t been accounted for yet, though!
They consider speed on topped grounders to account for “swinging bunts”. But they only consider it for those specific batted balls, not all batted balls.
From MLB’s glossary on how xwOBA is calculated:
“As of 2019, “topped” or “weakly hit” balls also incorporate a batter’s seasonal Sprint Speed.”
But it doesn’t take a genius to realize that the infield has to play a lot closer in for ELDC or Bobby Witt than they do for Grandal or Maldonado. It also doesn’t come far behind to assume that the same 95 mph (or whatever speed) grounder has a much better chance of being a hit for the fast guys than the slow guys since the defense has less time to react to it.
***EDIT: I do acknowledge that the new infield rules offset the speed difference a bit since infielders can no longer play well beyond the IF, but there is still some edge for the fast guys. Before the rule changes, it was probably a significant edge for the fast guys with how far into the OF some defenders were positioning themselves for the league’s real turtles.
Looked at Morel this morning. He has cut his K% but his core plate discipline numbers aren’t that different – a lot of the improvement in his SwStr% comes from more contact outside the zone which isn’t necessarily a good thing. Indeed, his low BABIP could be in part from a lot of weak contact on balls out of the zone. His z-contact% is still pretty abysmal – 142nd of 154 qualified hitters.
It seems like a matter of time before the K% spikes back up so he could get some BABIP love and still not post great numbers if the Ks come back.
Wouldn’t his xwOBA reflect weak contact though? That’s what that equation is best for, accounting for his contact quality.
Fair point. I suppose if all his hard hit balls are leaving the yard then his BABIP would reflect weak contact since it only measures balls in play.
That said, I ran a quick search on Savant of guys with the highest xwOBA on batted balls over 100mph that turned into outs (min 10). Turns out most of the guys on your list are also on this list which would seem kind of unlucky – Morel has a .738 xwOBA on his batted ball outs over 100 mph which is 15th out of 173 guys. Seager, Pasquantino, Nimmo and Lindor are also relatively high on the list, all with at least a .640 xwOBA on 100 mph outs. (Benintendi only has 11 total batted balls over 100 mph on the year so he doesn’t make that list with only 4 100 mph outs)
But my main point is that I would expect the K% to bump back up so he could start getting BABIP love and still only post a wOBA in the low 300’s. (Of course, randomness being what it is, he could bump up in Ks, get massive BABIP love and bop a ton of HR and run a wOBA of .400).
BTW, that Savant search I ran was kind of fun:
Yandy DIaz has the most 100 mph outs so far this year with 41, but his xwOBA on them is only .320 which is 172nd of 173 on the list. The only guy with a lower xwOBA on 100 mph outs is Jorge Polanco at .222 but he only has 10 such batted balls.Of Yandy’s 41 100 mph outs, only 5 of them have a launch angle over 6*.
McCutcheon has the highest xwOBA on his 100 mph outs with a .904 xwOBA on his twenty 100 mph outs. He has six 375+ foot outs to CF and remarkably has two 370 foot outs to LF, and neither one was to straightaway LF. Both were at PNC and toward the corner but caught that cutback in LF. Statcast had them as HR in 27/30 and 28/30 ballparks.
The complete top 10 list of guys with the highest xwOBA on 100 mph outs (with number of outs) is McCutcheon (20), CES (10), Dansby (12), Gallo (10), Seager (26), Colt Keith (11), Jesus Sanchez (19), Ryan O’Hearn (15), Steer (10), LaMonte Wade (14). Not going to look it up, but I assume Keith, O’Hearn and Wade have also been hosed to some extent by their home parks.
OK, quick look up on those last 3: Keith has two 400 foot outs to CF, O’Hearn has four 400 foot outs to CF, Wade has zero 400 foot outs
Fun stuff, thanks for sharing!
Strictly anecdote, but I believe I have been using Statcast data since Covid and the entire time my fantasy team offenses has been horrible. This year my xAVG for my team is always around .260+ each week while the actual AVG is .225.
I do what this article is all about – pick up, trade for and use the guys with the highest expected stats and shade the others. And it rarely ever works!!! Someone told me Statcast isn’t predictive, another person told me only to use it when looking at BABIP. I really need advice here – is it useful to make decisions on expected stats and Baseball Savant, especially since they ignore direction and there are guys out there who consistently outperform expected stats?
Additionally – there are guys with slow sprint speeds who steal lots of bases and guys with fast sprint speeds who do not steal bases. I feel that all this new data isn’t making us better fantasy owners.
I’ve actually reviewed these types of articles in the past at the end of the season to see what happened. Not every player will move as expected, but the aggregate direction of the groups is always correct. The underperformers perform better and overperformers perform worse.
It seems like FIP to me. On aggregate it’s more predictive than actual stats, but certain serial ‘over-performers’ are showing actual skills. Jose Ramirez has tended to over-perform throughout his career, and I think that reflects something not being captured by expected stats. On the pitching side, I’m not sure that statcast’s xERA is any better than FIP.
This is mostly correct, but FIP just isn’t very good. All other ERA estimators – xFIP, SIERA, and xERA are better. SIERA is better than xFIP since there are more inputs, but not sure how it compares to xERA.
Statcast isn’t predictive and only really describes what’s happening. Hot hitters should be hitting the ball hard (in most cases), so they’ll generate lots of red statcast sliders. They can also be expected to regress to career norms mostly. Using historical data (along with statcast) to baseline player skill is helpful in keeping expectations in check, and larger sample sizes are always more helpful anyway. All that said, I think statcast is very useful, and I’ve found great success using it to evaluate players since I started a few years ago. I focus more on xwOBA more than xAvg though. I think studies found xwOBA to be more predictive than actual wOBA, or something like that. Also also, using rolling stat graphs in statcast is terrific. In any player page, under their sliders, hit “Breakdown.” Then select the current season only. Looking to see where their xwOBA is trending visually is very helpful in adjusting expectations. The graph defaults to xwOBA (awesome), but you can toggle for things like slugging and hard hit rate, to really see how a player is doing at the plate. Highly recommended resource. Rolling graphs!
When does (or did) xwOBA start incorporating this season’s stats? If the ball is playing so differently, isn’t xwOBA based on last season’s stats sure to be inaccurate?