Gregory Groundball vs. Marty McFly: Who Allows More Big Innings?

You’ve surely heard the sentiment: that pitcher is boom-or-bust. When he’s dialed in, he’s unhittable, but sometimes he just doesn’t “have it.” It’s a non-falsifiable claim, of course. It’s nearly impossible to say what constitutes having it or not, and harder still to know if it’s predictive. For the most part, your talent level is your talent level. Great pitcher? You’ll have fewer blowup games. Bad pitcher? Random chance is going to give you your fair share of crooked numbers.

This unprovable fact, however, set me onto an interesting train of thought. What if run clustering isn’t a purely random process? What if some pitchers, not through any innate streakiness but merely by virtue of the outcomes they allow, give up runs in interesting patterns? Take a groundball-heavy pitcher, for example. When a run scores against him, it’s almost certainly due to a series of groundball singles and walks. If one run scores, there’s often another runner in scoring position right away. The state of the world upon giving up one run, for this Zack Britton-wannabe pitcher, is such that he’s immediately threatened with more runs.

Contrast that to a different type of pitcher, a Nick Anderson-style strikeouts and dingers fly ball pitcher. When our punch-outs and fly balls pitcher gives up a run, it’s often on a solo shot. When that’s the case, one run is in, but the resulting situation isn’t threatening anymore. The bases are empty, the damage done in a single instant. Wouldn’t it be reasonable to wonder whether the two allow runs in different bunches?

Still, those are a lot of words with no real evidence behind them. Who’s to say which of those pitchers allow more big innings? Who’s to say if they’re even equally good pitchers? The guy who allows a lot of home runs sounds like he might allow a lot of big innings, just by virtue of being someone who allows a lot of home runs. We need to be more precise to say anything with conviction.

Lots of research has been done on groundball and fly ball tendencies. The Book introduced the concept of a groundball/fly ball platoon split, with pitchers performing better against hitters with shared tendencies. Neil Weinberg tried to determine which archetype is better in the abstract. Our own Alex Chamberlain dove into what separates the two groups. Still, this robust body of research focuses on what makes groundball and fly ball pitchers different, which isn’t what we’re looking for. For this study, we want to find two pitchers with the same skill level overall, net of all of these effects.

Sadly, the amount of data we can collect on pitchers just isn’t going to cut it. We need pitchers with the same true talent run prevention — if they’re not equally good, our test will tell us more about which pitcher is better than which is uniquely suited to each situation. There simply aren’t enough innings to be sure what we’re actually measuring. Luckily, I had a solution in mind, a solution without which this article wouldn’t have been possible.

Focusing on the signal in real-life pitching lines is tremendously difficult. Pitchers don’t have one, consistent talent level. Sometimes they’re hurt. Sometimes they’re pitching on the wrong amount of rest. Sometimes they develop a new pitch, or just play differently from year to year. So instead of looking at real-life lines, I decided to invent some players who never experienced hot or cold streaks, who never got hurt or had a tired arm.

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. In case you didn't read all that, here's the short version. Membership includes:
✓Ad-free browsing
✓Unlimited FanGraphs & RotoGraphs articles
✓Historical & platoon projections
✓Leaderboard & player-page stat heatmaps
✓One-click data exports
✓Customizable player-page dashboards
✓Dark & Classic site modes
✓Weekly Members-only mailbag
✓FanGraphs Walk-Off, your year in review
✓Optional homepage photo removal
✓Gift articles to non-Members
✓Full postseason coverage

I wrote a Python script, the details of which I’ll cover in an appendix, to create fake players to help me test my hypothesis. In a nutshell, though, each pitcher is just a bundle of plate appearance outcomes. Plug in groundball, line drive, fly ball, walk, and strikeout rates, and the code will randomly determine the outcome of a plate appearance. It generates random plate appearances (and moves runners and scores runs and keeps track of outs) until the inning is over. Then, it repeats this process five million times.

There are disadvantages to abstracting baseball into such stark terms — I did away with steals, bunts, and baserunning outs, for example — but there are serious advantages, too. Our hypothetical pitchers have rubber arms — five million innings is about as many innings as have been thrown in baseball history. With this much data, we can be pretty confident that the talent level of our pitchers is accurately covered by how many runs they allow. After five million innings, you pretty much are what your ERA says you are.

Let’s take a look at the two pitchers I created, Gregory Groundball and Marty McFly. One note on these and all the distributions to follow: the groundball, line drive, and fly ball rates are as a percentage of all plate appearances, not per batted ball.

Pitcher Archetypes
Pitcher GB% LD% FB% BB% K% GB/FB RA/9
Greg Groundball 43 14 15 9 19 2.87 4.01
Marty McFly 18 14 36 9 23 0.50 4.02

Both of these pitchers fare almost exactly the same in terms of run prevention (to simplify the code, I turned all errors into base hits, which is why I’m reporting RA/9), but they get there in extremely different ways. Gregory Groundball is an archetypical sinkerballer; his 2.87 GB/FB ratio would have ranked 11th among relievers last year. Marty McFly, on the other hand, is the very model of a modern reliever. Picture Chad Green or Josh Hader — his 0.5 GB/FB ratio would be third-lowest among 2018 relievers.

Neither of these pitchers is getting abnormally good or bad results on balls in play — their batted ball outcomes, by definition, exactly mirror the league-wide distribution of outcomes for each batted ball type in 2018. They don’t fare differently with runners on, or pitch to contact with big leads. The simulation doesn’t need to worry about any of that. It just selects a random outcome from the same table, over and over again, until we have our results.

Now, about those results. We’ve already seen that the two players have almost exactly identical ERA’s. How about streakiness, though? Is one type of pitcher more blowup-prone? Here’s the distribution of runs scored over those five million innings.

Run Distributions by Pitcher Type
Runs Greg Groundball Marty McFly
0 73.93% 73.28%
1 14.73% 15.19%
2 6.89% 7.35%
3 2.73% 2.67%
4 1.08% 0.99%
5 0.41% 0.34%
6+ 0.23% 0.17%
3+ 4.45% 4.17%

These might not look very different. The grounder-heavy approach results in a clean inning only 0.6% of the time more often than the fly ball approach. A groundball-focused pitcher gives up big innings more often, but three or more runs cross the plate only 0.3% of the time more often against Gregory Groundball than they do against McFly. These differences aren’t huge — we’re talking a handful of wins a season at most. They’re very much real, though, and the results track with intuition.

Pitching to ground contact leads to more clean innings — most groundballs, after all, result in outs, and you can get away with one or two bad outcomes without giving up a run. It also leads to more big innings — putting a lot of balls in play on the ground often results in a lot of baserunners, and chaining baserunners together is the blueprint for a big inning. Pitching for fly balls, on the other hand, gives up more one-spots. Most fly balls become outs, so baserunners aren’t quite as common. When they do become hits, however, they often become home runs.

This is interesting, but it’s not the end of the story. Even if you buy the premise that this model gives an accurate count of how likely two 4.00-ERA true talent pitchers are to hold a lead, why are you bringing in league-average-level relievers to hold a lead? Let’s run the same experiment again, only with excellent hypothetical pitchers instead of average ones.

Meet our new contenders, Zack Robritton and Josh Haderbot. These robotic and idealized hurlers have similarly sterling ERAs, but they get there in markedly different ways.

Dominant Pitcher Archetypes
Pitcher GB% LD% FB% BB% K% GB/FB RA/9
Zack Robritton 38 10 9 6 37 4.22 2.04
Josh Haderbot 9 9 24 9 49 0.38 2.04

These two pitchers are ludicrous. They have a true-talent 2.00 ERA. If your team has an elite closer like this, the vast majority of your leads are safe. The sheer number of zero-run outings, in fact, flattens the total distribution of runs allowed. Get this good, in other words, and it matters much less how you record your outs. The table below shows the run distribution, and it’s far more compressed than the average relievers above.

Dominant Pitcher Run Distribution
Runs Zack Robritton Josh Haderbot
0 84.75% 84.65%
1 10.04% 10.07%
2 3.63% 3.81%
3 1.11% 1.06%
4 0.34% 0.30%
5 0.10% 0.08%
6+ 0.04% 0.03%
3+ 1.59% 1.47%

We’ve described league-average pitchers with offsetting tendencies, and we’ve described elite pitchers cut from the same cloth. The rules of thumb they create are useful (grounders for a one run lead, fly balls for a three run lead) in direction but not enormous in magnitude. Just to complete the cycle, let’s look at what happens if your team brings a minor-leaguer to the table — we’ll run the experiment one last time, this time with poor pitchers.

Our new creations are really bad. No, like, really bad. They wouldn’t be good pitchers at Double-A, most likely. A true-talent 6.00 ERA is a gruesome thing to behold.

Bad Pitcher Archetypes
Pitcher GB% LD% FB% BB% K% GB/FB RA/9
Groundboy 39 22 14 13 12 2.79 6.05
Homer 13 25 31 15 16 0.42 6.04

These pitchers are both terrible, but they’re both terrible in pretty similar ways. Their table of outcomes shows almost no difference in run distribution.

Bad Pitcher Run Distribution
Runs Groundboy Homer
0 65.63% 65.94%
1 16.63% 15.98%
2 9.43% 9.82%
3 4.49% 4.48%
4 2.13% 2.13%
5 0.96% 0.94%
6+ 0.74% 0.71%
3+ 8.32% 8.26%

So, what’s the upshot of all of this? At the extremes, pitcher archetype doesn’t seem to matter much. Terrible pitchers allow so many baserunners and runs that there isn’t much difference in how they get on base. You can’t give up nearly a run an inning without allowing plenty of walks and singles, and at that point the home runs are largely incidental to the real problem, namely, the constant traffic on bases. On the other hand, dominant pitchers get so many outs by strikeout that their distributions also look quite similar. When your ERA is so low that you almost never allow a multi-run inning, it hardly matters how you do it.

In the middle, though, where the vast majority of major league pitchers exist, the conditions are just right for the two types of pitchers to distinguish themselves. Want to protect a slim lead in the sixth or seventh inning with a middle reliever? The groundball pitcher is more likely to get out unscathed. Up three in the fifth with a tiring starter? Johnny Fly Ball is just the ticket. The talent level of the pitchers is always going to matter more than their tendencies, but if you need a tiebreaker, look no further than this study. The way you pitch affects your runs-allowed distribution, even if you’re an inhuman, 5-million-inning-throwing robot.

Appendix
The principle of the code I used to generate these results is that a pitcher has control over batted ball types, but not over what happens after those balls are in play. I took 2018 league-level batted ball data and applied that to each batted ball result, with some modifications (groundball errors became singles, line drive and fly ball errors doubles). I then created functions for each result (one base single, two base single, double, triple, home run, ground out, line out, fly out, walk, and strikeout). In the interest of it not getting too unwieldy, I eliminated the following events from my model: double plays, steals, caught stealing, baserunning outs, sacrifice bunts, three-base-advancement doubles, and hit by pitches. Some of these results are defined very simply (a double advances everyone by two bases), and some are slightly more complex (a one-base single will score a runner from second, but a runner from first will only advance to second; a fly out can advance runners on second and third, but not on first).

These simplifications definitely make baseball a little less rich but that’s a price I’m willing to pay to get a useable model. Each plate appearance is simulated by generating a random number and comparing it to the likelihood of each batted ball type. The script then calls the appropriate result. Each result function is an argument that takes a base state, the runs scored so far in the inning, and the outs. It then appropriately increments those three and returns them as a result. For example, if you call the “Double” function with a man on first, one run in so far, and no one out, that looks like this: Double([1,0,0],1,0). The result of that would be ([0,1,1],1,0) — second and third with one run in and no one out.

There are a few flourishes that I felt I could add while keeping the code relatively simple — half of groundball singles with two outs become two-base singles, for example, while all groundball singles with one or fewer outs are one-base. Some of these assumptions can be tuned further; this is just a first pass at a model. At its heart, though, there’s a simple principle at work. Take a random result, adjust the state of the game, and iterate. While the exact contours of what I’ve modeled don’t precisely match baseball, they come close enough that I’m happy with the results.





Ben is a writer at FanGraphs. He can be found on Bluesky @benclemens.

29 Comments
Oldest
Newest Most Voted
JamesFanMember since 2018
7 years ago

Love this! New knowledge!

Doesta
7 years ago

Wonderful piece. I am surprised how close all examples are. How was defense accounted for?

Doug LampertMember since 2016
7 years ago
Reply to  Doesta

Yeah, I thought the main takeaway is that this doesn’t really matter enough to worry about. Given the lower quality data available in real life, GB/FB is in the noise.

MorboTheAnnihilator
7 years ago
Reply to  Doug Lampert

I’m not sure I agree with this assessment. As noted in my comment elsewhere I think that the exclusion of double plays may create a significant bias in favor of flyball pitchers.

dimen3pennys
7 years ago

The exclusion of double plays definitely helps the fly ball pitcher, and so does never allowing a double to score from first. Even a decent runner will score from first on a double a fair amount of the time, especially with 2 outs. Since ground balls turn into doubles much less frequently than fly balls, that is another point in favor of the fly ball pitcher.

TradeDeadlineMember since 2018
7 years ago

Not sure why you would compare a generic archetypal pitcher found on any major league roster with a specific, charming, time-travelling icon who has never thrown a professional pitch – but a good article nonetheless!

Cave Dameron
7 years ago

What about Leonard Linedrive?

Chana ZMember since 2018
7 years ago

Thanks for the interesting research, Ben!
Question: aren’t all pitcher “bust” games dependent on how long said pitcher’s leash is? Especially when it comes to starters and relievers, where you would think a reliever in a close game is never given the opportunity to complete a terrible outing?

aldo_raine
7 years ago

Very interesting!
Not sure if this has been debunked in research elsewhere (I must admit I am not familiar with this literature), but is there a concern you are underestimating the value of the heavy groundball pitchers by excluding double plays? Part of the dominance of Britton in his prime was not just his high K-rate but also the difficulty of an opponent stringing together multiple hits without a grounder to shortstop erasing 2 baserunners. I imagine the double-play rate of the extreme fly-ballers would, on average, be much lower.

Dewey24
7 years ago

What is the answer to the question posed in the title?
“It depends”?

MorboTheAnnihilator
7 years ago

Ben, great article. However, I would like to nit pick a little bit. I would argue that eliminating double plays from the model has the potential to significantly affect the results, particularly in a way that leads creates a danger of confirmation bias for your original hypothesis. Groundballs, and in particular groundballs that are fielded by an infielder, are significantly more likely to result in a double play than a any given flyball(damn you infield fly rule). While I don’t have access to the distribution of outcomes in your model, I would be interested to know the distribution of runs scored against the groundball pitchers with one out, runners on base, and a subsequent groundout for the second out. I would venture to guess that a not insignificant number of these events would actually result in a double play, and based on the small percentile differences between groundball and flyball pitchers, regardless of talent level, that the addition of double plays may be enough to swing the advantage to groundball pitchers in all outcomes.

MorboTheAnnihilator
7 years ago
Reply to  Ben Clemens

That makes sense. I forgot that you held RA/9 constant in the model.

The Stranger
7 years ago

I came here to say this. And it seems like it wouldn’t be too hard to figure out the double play percentage for ground balls with a runner on first and less than two outs and add that to the model.

JamesFanMember since 2018
7 years ago

Agree with the premise, but not with the conclusion. “advantage to groundball pitchers in all outcomes”

If the first assumption is that both pitchers give up an equal number of runs (same talent level), then one or the other has to be more likely to give up bunches of runs. Double plays may change which that is, but it has to be one of them. Whether it’s still significant would be remaining question.

Chuck Bigby
7 years ago

Marty it’s your spin! Something’s gotta be done about your spin!

sadtromboneMember since 2020
7 years ago

This is some top-notch stuff. I love how Ben is willing to go down a rabbit hole and publish a result that shows very little effect. We need more of that stuff.

And as a bonus, we get some fantastic names out of it.

dcweber99
7 years ago

Is Groundboy still in his pre-arb years? The mere fact that a player is fictional and/or is not very good has never stopped the Pirates in their relentless pursuit of cost control.

striderremixMember since 2023
7 years ago

This was wonderful, Ben. I know this is probably asking too much, but it would be neat if you or someone else on the staff could turn around this script and do it for hitters instead, and simulate over n trials of nine-inning games to be able to compare the effectiveness of different lineups. While we know that batting order doesn’t -really- matter, it’s still a topic of constant discussion, and it’d be neat to have a utility on Fangraphs or elsewhere that lets you compare R/G across different player arrangements — and possibly explore non-linearities in adding, for example, offensive runs above average to different lineup compositions.

Just a thought, since it seems like you did most of the hard work already with the inning simulator portion.

Fun-Hating DorkMember since 2019
7 years ago

Python? Ugh. It gets the job done, I suppose.

ScientialMember since 2017
7 years ago

What’s the non-“ugh” language?

scottsjunk1981Member since 2021
7 years ago

This is really interesting and I think this kind of abstracted simulation tends to be an under-utilized tool in sabermetrics, so I’m really excited to see Ben’s work here and am looking forward to seeing more of it.

But, as an aside, I don’t see why “streakiness” is necessarily an unfalsifiable hypothesis. To take a simplified and extreme example, consider two sequences of random variables. One is IID, with probability of success 0.5 and the other is a markov chain with probability of success after success of 0.9 and probability of success after failure of 0.1.

After 5 million iterations, both will have a 50% incidence of success, but obviously one will be far streakier than the other, and if you reverse that analysis, you can pretty easily see a string of outcomes and determine which sequence of random variables is likely to have created it.

Bringing that back to baseball relevancy is really difficult, because true talent wanders in a variety of ways and what we want to call “streakiness” is probably something akin to the psychological robustness or elasticity of how a player responds to situations where he’s doing well or poorly. (By the way, there certainly could be anti-correlative links to recent outcomes too, like if a player in laugher is inclined to take an at bat off.) And, while it would be really hard to isolate that (and separate it from the interplay of strategic adjustments and counter-adjustments and patterns in the quality of opponents etc), I don’t see why it would be theoretically impossible.

John Autin
7 years ago

Two points on your summary of outcomes for the first (average) pair of simulated pitchers:

1) “These differences aren’t huge — we’re talking a handful of wins a season at most.”
— What size of sample is needed to equate those minuscule differences to “a handful of wins a season”?

I really don’t see how you can deduce ANY game impacts from that table of tendencies. The groundball guy had a 0.6% advantage in yielding 0 zero runs and a 0.9% advantage in yielding 1-2 runs, but a 0.3% DISadvantage in yielding 3+ runs. Okay … so, what are the steps from there to “wins,” since you’re not controlling for leverage, and you’re (apparently) assuming each guys finishes every inning he starts?

You’ve set out to find “big-inning” patterns, and I’m fine with defining that as 3+ runs; most such innings by a late-inning guy are pretty disastrous for game outcome. But 1 or 2 runs can be disastrous, too. And games aren’t lost solely through disaster.

2) “They’re very much real, though, and the results track with intuition.”
— They’re real because of how the study was structured. But the differences are SO SMALL as to make render meaningless their agreement with anyone’s intuition. Or to put it another way … My intuition on this question was, “There’s probably no significant difference” — and the study validates that hypothesis as much as any other.

Dominikk85Member since 2020
7 years ago

I think in the end it probably doesn’t matter much but the FB pitcher might have a higher variance.

The modern homer heavy approach just has a very high variance anyway.

In 2019 teams hit about 1.3 homers per 9. If it is a solo shot the team scores 1.3 runs. If it is a slam the team scores 5.2 runs on homers.

The same happens to the pitcher. One day he has 4 hits, 2 walks and a homer in 6 ip and 2 runs score and the other day he has the same line but 5 runs score due to a different sequencing.

If that is true you would expect more extreme score games (say 1-0 and 11-8 games) and less “normal” score games (say like 4-3 or 5-4) compared to more contact or single driven era’s. Would be interesting to test that.

accraft
7 years ago

Hey Ben, really enjoyed the article and I especially appreciate you sharing the code! One question, you mention in the article that you do not account for double plays, but I see you actually doing so in your code?

See lines 325-326 of the “ERA Estimator Fly Ball.py” program.
elif Action <GroundballRate*.4987162883:
Dummy=GIDP(Bases,Runs,Outs)

Am I missing something here? In defining the GIDP() function I see you are adding two to the outcount.

Thanks again for posting the code! I may snag it and start playing around with the scenarios myself.