clock menu more-arrow no yes mobile

Filed under:

What’s Behind the Low BABIP for Cardinals Pitching?

Defense, a suppressed BABIP environment, and luck are all factors.

Pittsburgh Pirates v St Louis Cardinals - Game One Photo by Dilip Vishwanat/Getty Images

Recently, VEB writer Ben Godar, Birds on the Black writer Zach Gifford, and others used a Mark Saxon tweet- about the Cardinals low K%- as a jumping off point for a brief discussion about regression. The data jumps out at you. The Cardinals, at the time of Saxon’s tweet, had the 22nd lowest K% in the league, but the fourth best ERA. A lot of this is seemingly driven by a comically low BABIP allowed. Through Wednesday night’s game, Cardinal pitchers had yielded just a .220 batting average on balls in play, well ahead of the second place Dodgers and their .241. For perspective, the lowest of all-time in a full season belongs to Cleveland at .240 in 1968 and the Orioles at .242 the same season. What exactly is driving the low BABIP, and what- if any of it- is sustainable?

Quality of Contact Allowed

One item of note is that the team has done a splendid job of avoiding loud contact to date. By FanGraphs’ metrics, they’ve allowed one of the lowest line drive percentages in the league at 20.2%. As of Thursday morning, they had the second lowest percentage of barrels per batted ball event. Their Hard Hit% (percent of batted balls with an exit velocity of 95 mph or more) is a reasonable 12th in MLB. If avoiding the sweet spot is your thing, they have the fourth lowest percentage of batted balls with a launch angle between 8 and 32 degrees. They’ve allowed the fourth lowest percentage of pitches to be hit at 98+ mph EV.

All of that serves as a decent explanation for some of the low BABIP so far. If opposing hitters either a) don’t drive the ball hard very often, or b) get their hardest contact way in the air (which becomes popups and flyball outs) or straight into the ground simply aren’t going to be very productive. That’s exactly what’s going on against Cardinal pitching so far.

That doesn’t tell the whole story, though. We can look at what Statcast predicts Cardinal pitchers would have yielded, based on quality of contact thus far, and compare that to their actual data. In this case, we’ll use wOBA and xwOBA. For what it’s worth, xwOBA has looked a little off this year, so take this data with a grain of salt. That said, it’s at least wonky equally across all 30 teams.

Their xwOBA is a perfectly respectable 11th in MLB. However, their actual wOBA is 3rd best. The gap between the two (-.051) is the biggest in baseball. Looking at expected batting average (xBA) and comparing it to actual yields extremely similar results, with the Cardinals leading the league in their gap between the two. In other words, while they’ve done a good job managing quality of contact, it’s not likely to continue producing such a low BABIP. It’s not even guaranteed to produce a low BABIP at all from here on out.


Another way we can test out the sustainability of their low BABIP is to compare it their expected BABIP using Mike Podhorzer’s formula. In fairness, Podhorzer’s formula is more aimed at individual hitters and not team pitching. Still, the factors that help a hitter increase his BABIP are also likely to help teams decrease their BABIP on the pitching side.

Podhorzer’s formula spits out an xBABIP of .311 for the Cardinals. That’s tied for a solid 10th in the league, but it’s a far cry from their actual BABIP of .220. As you might have guessed, they have the largest BABIP minus xBABIP in the game:

BABIP minus xBABIP: Ten Largest Deficits in MLB

STL -0.091
LAD -0.063
COL -0.047
LAA -0.047
BAL -0.044
DET -0.041
CHW -0.041
CHC -0.040
TEX -0.039
SFG -0.039

That’s another metric demonstrating that the Cardinals’ BABIP allowed is not sustainable.


One potential reason the Cardinals have such a low BABIP, and are beating xBABIP, could be defense. By all accounts, they have one of the best defensive teams in baseball- maybe top five and certainly top ten. Let’s test this out a little bit. I’ve collected data for all teams from 2010 to 2019 for the xBABIP formula. I’d go further back but the FanGraphs split leaderboard doesn’t have all of the data for the xBABIP formula prior to 2010. I then ran a linear regression using Podhorzer’s xBABIP info and added the Fielding Bible’s Defensive Runs Saved to predict how much of a gap a team would have between xBABIP and BABIP. We’re trying to determine if good defensive teams will have a bigger gap between xBABIP and BABIP.

Doing that, I get a formula that returns an Adjusted R-squared of .60908 for predicting BABIP minus xBABIP. Using that formula for 2020 teams, we see the Cardinals should be expected to beat their BABIP- progress! However, it only predicts them to beat it by .014, nowhere near the enormous .091 gap for them to date. In fact, their predicted gap is 18th smallest in the league. In other words, adding defense helps, and it explains a small part of them beating their expected BABIP, but it only accounts for about 15% of the subtracted hits.

League-Wide Lower BABIP

I won’t belabor the point too much, but BABIP this year is lower than it has been in recent years. The league-wide BABIP is .290, the lowest it’s been since 2002. It’s also a marked drop from .298 last year and .296 in 2018. The Cardinals aren’t the only team beating their xBABIP. Only two teams in MLB have a higher BABIP than xBABIP, and the average gap for the 28 other teams is -.032. In short, if the Cardinals were more like an average team, their BABIP would still be surprisingly low, around .282 or so. If you’re curious how I got there, I used their .311 xBABIP and subtracted the average gap of .029 for all teams.

Once we combine the league-wide BABIP gap (.029 average) and team defense (.014 using the Cardinals data), we have an answer for .043 of their .091 gap. Right around half of their xBABIP beating skills have plausible explanations, albeit slightly generous ones.

So far, the Cardinals have allowed 609 balls in play. If you ran the same 609 at-bats again, the most likely outcome in this depressed BABIP environment would have yielded 163 hits on balls in play. Instead, they gave up 134. Nearly 30 extra hits... is a lot.

The good news is that a lot of the pitchers who ate up innings from games #1 through 28 aren’t likely to pitch much, if any, for the remainder of the season. They’ve given 20 innings to Rob Kaminsky, Nabil Crismatt, Jesus Cruz, Max Schrock (!), Ryan Meisinger, Seth Elledge, Ricardo Sanchez, and Roel Ramirez. For that matter, another 25.1 innings have gone to Jake Woodford and Johan Oviedo. Almost 20% of their innings this season have gone to pitchers who are absolutely not going to pitch almost 20% of the team innings from this point forward. That’s significant because Oviedo (.195), Crismatt (.200), Meisinger (.200), Kaminsky (.000), Schrock (.000), and even Woodford (.235) have contributed to the BABIP silliness. Omit their innings and the team BABIP is... well, it’s still .225, but at least that’s more realistic than .220. In other words, whatever weird mix has led to their absurdly low BABIP thus far isn’t likely to repeat itself because it’s not going to be the same staff for the last month of the season.

Regression is coming. It may not be as harsh as you’d assume at first glance, but it’s still going to happen.