New Pod Hitter xBABIP vs Statcast xBABIP — The Undercalculated
Last week, I introduced the latest iteration of my ever-improving hitter xBABIP equation. This time, I decided to take advantage of Statcast’s implied xBABIP calculation, since it determines the hit probability of every batted ball. That’s beyond my abilities, so I figured I would use it as a base and build upon it. It proved successful. In my article, I noted several factors that are ignored in the Statcast equation, which I incorporated into my new equation, and in turn pumped up or pushed down many hitter’s xBABIP marks vs Statcast’s. So let’s now begin by reviewing the hitters whose Pod xBABIP marks are significantly higher than Statcast’s xBABIP.
Player | BIP | BABIP | Statcast xBABIP | xBABIP | Diff | Sprint Speed | PSIFAGB R%* | PSIFAGB L%** | Opposite GB% |
---|---|---|---|---|---|---|---|---|---|
Raimel Tapia | 415 | 0.306 | 0.278 | 0.306 | 0.028 | 28.3 | 0.0% | 0.5% | 18.3% |
Tim Locastro | 105 | 0.219 | 0.255 | 0.280 | 0.025 | 30.7 | 1.0% | 0.0% | 11.4% |
Travis Jankowski | 101 | 0.317 | 0.279 | 0.305 | 0.025 | 28.7 | 0.0% | 1.0% | 15.8% |
Jon Berti | 170 | 0.265 | 0.296 | 0.320 | 0.024 | 29.9 | 0.0% | 0.0% | 12.9% |
Nick Madrigal | 182 | 0.324 | 0.278 | 0.300 | 0.022 | 28.1 | 0.0% | 0.0% | 12.6% |
David Fletcher | 565 | 0.287 | 0.297 | 0.317 | 0.021 | 27.7 | 0.0% | 0.0% | 13.5% |
Billy Hamilton | 79 | 0.329 | 0.293 | 0.313 | 0.020 | 29.5 | 0.0% | 0.0% | 10.1% |
Lorenzo Cain | 202 | 0.287 | 0.282 | 0.302 | 0.020 | 28.7 | 0.5% | 0.0% | 10.9% |
Tyler Wade | 90 | 0.378 | 0.274 | 0.293 | 0.020 | 29.1 | 0.0% | 4.4% | 13.3% |
Adam Eaton | 178 | 0.253 | 0.275 | 0.294 | 0.020 | 28.0 | 0.0% | 0.0% | 10.7% |
Owen Miller | 134 | 0.261 | 0.287 | 0.306 | 0.020 | 29.1 | 0.0% | 0.0% | 9.7% |
DJ Peters | 131 | 0.237 | 0.236 | 0.256 | 0.019 | 29.0 | 0.8% | 0.0% | 7.6% |
Ke’Bryan Hayes | 271 | 0.321 | 0.308 | 0.327 | 0.019 | 27.8 | 0.0% | 0.0% | 12.5% |
Edward Olivares | 78 | 0.244 | 0.241 | 0.261 | 0.019 | 29.3 | 1.3% | 0.0% | 7.7% |
Nick Solak | 342 | 0.292 | 0.285 | 0.304 | 0.019 | 29.0 | 0.0% | 0.0% | 9.4% |
Erik Gonzalez | 179 | 0.274 | 0.299 | 0.317 | 0.019 | 27.5 | 0.0% | 0.0% | 12.3% |
Amed Rosario | 423 | 0.340 | 0.319 | 0.337 | 0.019 | 29.5 | 0.0% | 0.0% | 10.4% |
Christian Arroyo | 114 | 0.325 | 0.280 | 0.299 | 0.019 | 27.9 | 0.0% | 0.0% | 10.5% |
Danny Mendick | 121 | 0.281 | 0.256 | 0.274 | 0.018 | 26.6 | 0.0% | 0.0% | 10.7% |
Magneuris Sierra | 159 | 0.302 | 0.297 | 0.315 | 0.018 | 28.9 | 0.0% | 0.6% | 10.1% |
Eric Sogard | 140 | 0.293 | 0.234 | 0.252 | 0.018 | 25.6 | 0.0% | 1.4% | 12.1% |
Harold Ramirez | 279 | 0.301 | 0.302 | 0.320 | 0.018 | 28.6 | 0.0% | 0.0% | 10.0% |
Jean Segura | 426 | 0.317 | 0.287 | 0.305 | 0.018 | 27.3 | 0.2% | 0.0% | 11.3% |
Isiah Kiner-Falefa | 539 | 0.304 | 0.300 | 0.317 | 0.018 | 28.0 | 0.0% | 0.0% | 10.6% |
Bo Bichette | 478 | 0.339 | 0.329 | 0.347 | 0.018 | 28.0 | 0.2% | 0.0% | 12.3% |
Charlie Culberson | 179 | 0.307 | 0.288 | 0.306 | 0.017 | 28.1 | 0.0% | 0.0% | 9.5% |
Eli White | 126 | 0.230 | 0.229 | 0.246 | 0.017 | 30.5 | 0.8% | 0.0% | 3.2% |
Willi Castro | 298 | 0.275 | 0.308 | 0.325 | 0.017 | 28.7 | 0.0% | 2.0% | 11.4% |
Garrett Hampson | 326 | 0.291 | 0.293 | 0.310 | 0.017 | 29.9 | 0.3% | 0.0% | 7.1% |
David Bote | 213 | 0.235 | 0.277 | 0.294 | 0.017 | 27.2 | 0.0% | 0.0% | 9.9% |
Wilmer Difo | 162 | 0.340 | 0.284 | 0.301 | 0.017 | 28.6 | 0.6% | 2.5% | 11.1% |
Taylor Ward | 146 | 0.301 | 0.314 | 0.331 | 0.017 | 28.3 | 0.7% | 0.0% | 11.0% |
Jack Mayfield | 189 | 0.254 | 0.210 | 0.227 | 0.017 | 27.2 | 1.6% | 0.0% | 7.4% |
Thairo Estrada | 91 | 0.286 | 0.241 | 0.257 | 0.017 | 28.5 | 0.0% | 0.0% | 5.5% |
Phil Gosselin | 258 | 0.322 | 0.292 | 0.309 | 0.017 | 29.2 | 0.4% | 0.0% | 7.8% |
Shogo Akiyama | 123 | 0.268 | 0.308 | 0.325 | 0.016 | 28.1 | 0.0% | 1.6% | 11.4% |
Kevin Newman | 474 | 0.236 | 0.268 | 0.284 | 0.016 | 28.4 | 0.0% | 0.0% | 7.0% |
Nicky Lopez | 424 | 0.347 | 0.275 | 0.292 | 0.016 | 28.2 | 0.0% | 1.4% | 9.0% |
DJ LeMahieu | 498 | 0.301 | 0.318 | 0.334 | 0.016 | 26.5 | 0.0% | 0.0% | 12.4% |
Andy Ibanez | 212 | 0.297 | 0.281 | 0.297 | 0.016 | 28.0 | 0.5% | 0.0% | 8.5% |
Leury Garcia | 318 | 0.333 | 0.296 | 0.312 | 0.016 | 28.4 | 0.0% | 2.2% | 10.4% |
Andrelton Simmons | 348 | 0.256 | 0.264 | 0.279 | 0.016 | 26.2 | 0.3% | 0.0% | 9.8% |
Harrison Bader | 268 | 0.306 | 0.258 | 0.274 | 0.016 | 29.5 | 2.2% | 0.0% | 6.3% |
Joshua Fuentes | 200 | 0.270 | 0.241 | 0.257 | 0.016 | 27.6 | 2.0% | 0.0% | 8.0% |
Kelvin Gutierrez | 193 | 0.311 | 0.292 | 0.307 | 0.016 | 28.3 | 0.5% | 0.0% | 8.3% |
Derek Hill | 94 | 0.351 | 0.327 | 0.343 | 0.015 | 30.5 | 0.0% | 0.0% | 6.4% |
Oscar Mercado | 166 | 0.253 | 0.242 | 0.257 | 0.015 | 28.9 | 1.8% | 0.0% | 5.4% |
Miguel Andujar | 121 | 0.273 | 0.292 | 0.306 | 0.015 | 27.6 | 2.5% | 0.0% | 10.7% |
Randy Arozarena | 344 | 0.363 | 0.280 | 0.295 | 0.015 | 28.8 | 0.6% | 0.0% | 6.4% |
Nico Hoerner | 125 | 0.360 | 0.333 | 0.347 | 0.015 | 28.8 | 0.0% | 0.0% | 8.8% |
Starling Marte | 358 | 0.372 | 0.328 | 0.343 | 0.015 | 28.4 | 1.1% | 0.0% | 10.1% |
Nathaniel Lowe | 380 | 0.339 | 0.299 | 0.313 | 0.015 | 27.3 | 0.0% | 3.7% | 12.4% |
Andrew Stevenson | 127 | 0.307 | 0.322 | 0.336 | 0.015 | 29.3 | 0.0% | 0.8% | 7.9% |
Andrew Knizner | 121 | 0.223 | 0.262 | 0.276 | 0.015 | 25.7 | 0.0% | 0.0% | 9.1% |
Group Avg | 0.301 | 0.288 | 0.306 | 28.4 | 0.3% | 0.4% | 10.3% | ||
Full Dataset Avg | 0.293 | 0.291 | 0.295 | 27.0 | 2.2% | 4.4% | 6.1% |
**Pull Shift IF Alignment GB As L%
There’s a lot of players here, seven metrics, and two lines of averages, so let’s review everything. I used a minimum balls in play of 75 for my list, as that equates to roughly a month of at-bats. Obviously, it depends heavily on strikeouts and home runs, so it’s just an average that approximates a month for most hitters. I subjectively chose to cut off that list at 0.015 points of additional Pod xBABIP (PxBABIP) compared to Statcast xBABIP (SxBABIP), which means a .315 PxBABIP vs a .300 SxBABIP.
I want to bring your attention to the last two rows in the table, as it’s the group average, which is the average for the hitters in the table, weighted by balls in play, and my 2021 dataset of hitters, again, weighted by balls in play. For this group of “undercalculations” by SxBABIP, Statcast calculated a group mark of just .288, vs a group PxBABIP of .306. Those compare to an actual group BABIP of .301. Obviously, Statcast way undershot actual, while I slightly overshot actual, but my PxBABIP was significantly closer. Also keep in mind that equations tend to be bad at the extremes, overshooting at one end and undershooting at the other. So it’s not a surprise that the group with a significantly higher PxBABIP is actually a bit too high.
Now let’s discuss the four variables I added to my PxBABIP equation. The full dataset avg for Spring Speed was 27.0 ft/sec. However, this group was far speedier than that, clocking in at 28.4 ft/sec. That’s a massive difference and big reason why their PxBABIP is so much higher than SxBABIP, even though the latter is supposed to account for speed.
Moving along to the Pull Shift IF Alignment GB As R% and Pull Shift IF Alignment GB As L% variables, we find that these groups rarely pull grounders into the shift. While pulled grounders into the shift certainly doesn’t affect all hitters equally, it definitely hurts batters on average, so the assumption is that a lower rated of pulled grounders into a shift is a good thing and should boost BABIP. Relatedly, there’s some correlation between avoiding pulled grounders into the shift and going the opposite way with those grounders. It’s not a strong correlation, but it exists and makes complete sense. So not only are these hitters avoiding those dreaded pulled grounders into the shift, but they are hitting their grounders the opposite way more frequently than the average hitter.
Let’s now discuss some of those guys at the top of this list.
Raimel Tapia is head and shoulders above the rest, and amazingly, PxBABIP nailed his actual BABIP, while SxBABIP was far too low. Despite being a left-handed hitter that on averaged pulls grounders into the shift more than right-handers, he only did so twice all year, for a 0.5% rate. And that’s not all. He also went the opposite way with his grounders at a rate three times as often as the league average. In fact, he led all of baseball, depending on the balls in play minimum you use, as only Romy Gonzalez posted a higher mark, but over just 21 balls in play. Since his LD% also hit a career low, I would imagine his PxBABIP will end up even higher this season, giving him batting average value once again.
Both xBABIP equations missed Nick Madrigal, but that’s why we have equations in the first place, because over small samples, it’s very, very difficult to predict correctly. So although Madrigal overperformed both expectations, PxBABIP thought he deserved far better than SxBABIP did. Madrigal never pulled a grounder into the shift, while keeping his Oppo% in the low double digits. Combine above average BABIP ability with a minuscule strikeout rate and you have a guaranteed batting average king. The biggest question this season is whether he begins running. He swiped 35 bases in the minors back in 2019, but has swiped just three in the Majors, for about a pace of just six over a full season. Sure, he’s been caught as many times as he has been successful, but his attempt rate is well down. Since he owns no power, and might hit at the bottom of the Cubs order for a while, he’ll need to start stealing bases to avoid being just a batting average contributor and a negative everywhere else.
David Fletcher was a big miss in 2021 for PxBABIP, and he even missed Statcast’s more pessimistic xBABIP. He has only recorded two seasons with at least 500 balls in play, so it’s difficult to determine just yet whether he’ll be a consistent PxBABIP underperformer, for whatever reason. In 2020, PxBABIP was closer than SxBABIP, but during his last 500+ BIP season in 2019, PxBABIP slightly overcalculated, while Statcast undercalculated, but the gap was significantly smaller. It’s not enough to claim a trend, but worth monitoring. Obviously, he’ll need to get his BABIP back above .300 for fantasy owners to care, and to even keep him in the lineup after a .273 wOBA.
Mike Podhorzer 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.
Great work Mike! My method that looks at individual batted balls came up with the exact same group xBABIP of .306 for the players listed, which is interesting, because mine doesn’t include sprint speed, but at least we’re both in the same direction.
On that note, looking at your new xBABIP equation, would it be prudent to include GB% in the sprint speed variable? One of my biggest differences between your xBABIP and mine is Tim Locastro, who is in the argument for fastest player in baseball. However, 41% of his batted balls were FB last year, well above league average. No matter how fast you are, if you hit the ball in the air, you can’t outrun someone catching it. To me, speed only helps on ground balls from a BABIP standpoint. Line drives and fly balls either fall for hits, go over the fence, or get caught. Speed can’t really help you with any of those three.
Well daaaamn, that’s really pretty crazy, but kinda awesome as it helps to validate our equations considering we’re using two different methodologies, but the same concepts.
Ding, ding, ding! Years ago in an earlier iteration of my xBABIP, I actually attempted to account for GB%, giving more credit to sprint speed for a higher GB% and ignoring sprint speed more with a lower GB%. Unfortunately, I couldn’t figure out how to get the math right to work as variables and I abandoned it.