Fixing xFIP, Pt. 1: Line Drives and Pop-Ups

One might argue that xFIP is slightly misaligned. One might make that argument in blog form, on the website FanGraphs, today, here, now.

One only might argue that xFIP is slightly misaligned because xFIP is commonly understood to serve a purpose distinct from FIP. FIP, aka Fielding Independent Pitching, is calculated as a function of strikeouts, walks, and home runs — that is, outcomes over which fielders bear no influence. The equation that underpins FIP is derived from a linear regression equation intended to resemble ERA, for ease of interpretation. Because it is based exclusively on outcomes, its purpose is more descriptive than predictive. In other word, it finds greater purpose describing what should have happened but not necessarily what will happen.

xFIP, on the other hand, seeks to achieve the inverse. A large swath of evidence exists to suggest home run-to-fly ball rate (HR/FB) for pitchers is incredibly noisy season to season. Sure, certain pitchers might anecdotally buck the norm — apparently, Michael Pineda was born to be a cafeteria lunch lady, serving up meatballs and taters — but, by and large, HR/FB is a fool’s errand to predict. Accordingly, xFIP replaced home runs with expected home runs, by way of multiplying the number of fly balls allowed by a pitcher by the league-average HR/FB, thereby normalizing home run damage, making it, in theory, a better descriptor (and perhaps a better predictor) of pitcher performance over time.

And therein lies the rub, although, if you missed it, you mustn’t be blamed.

HR/FB, the backbone of xFIP, is inherently flawed because:

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.
  1. Home runs are never hit on infield fly balls (aka pop-ups), yet pop-ups are included in HR/FB (because pop-ups are included in all fly balls*); and
  2. Home runs occasionally are hit on line drives, yet line drives are not included in HR/FB.

*Fly ball percentage (FB%) includes both infield and outfield fly balls.

This has bothered me a long time, this seemingly minor but potentially substantial ideological discrepancy. If we seek to normalize home run behavior for pitchers, we should endeavor to do so in a way that is most theoretically appropriate. I’m not here to reinvent the wheel — there are significantly more complex ways to normalize home run behavior — but I, at least, can pick the low-hanging fruit and make subtle adjustments to existing metrics.

I sampled all qualified pitcher-seasons from 2010 through 2018 (n = 709) and calculated unique ratios of home runs to outfield fly balls and line drives. This abbreviates to HR/(oFB+LD), which doesn’t quite roll off the tongue, but it’ll do in a pinch.

Although HR/(oFB+LD) generally behaves proportionally to HR/FB…

HR/FB vs HR/(oFB+LD)
Season HR/FB HR/(oFB+LD)
2010 9.4% 6.8%
2011 9.7% 6.7%
2012 11.3% 7.5%
2013 10.5% 6.9%
2014 9.5% 6.3%
2015 11.4% 7.5%
2016 12.8% 8.5%
2017 13.7% 9.3%
2018 12.7% 8.5%

… HR/(oFB+LD) cannot be directly substituted for HR/FB in FIP or else it breaks the equation. If I simply plug in HR/(oFB+LD), all pitchers would suddenly “underperform” their ERA because their xFIPs would improve by several tenths of a run without merit.

To account for this difference, I ran a fresh regression, setting up the equation exactly as specified by xFIP, by virtue of FIP. (I also included year fixed effects, which is a component of FIP and xFIP, too, appearing in the form of the “year constant” term.) However, in lieu of normalizing home runs by all fly balls, I normalized home runs by, yes, outfield fly balls and line drives — the only batted ball events that can produce home runs (inside-the-park home runs notwithstanding).

The regression produced an adjusted r2 of 0.55 — weaker than FIP (r2 = 0.62) but a good deal stronger than the original xFIP (r2 = 0.42). What this means is, from a purely descriptive standpoint, xFIP that relies on outfield fly balls and line drives is a better description of “skill” (or “deserved” outcomes) than xFIP that relies on outfield fly balls and also pop-ups but not line drives.

From a predictive standpoint (by measure of correlation to next-year ERA), the original xFIP outperforms the new xFIP, but not significantly, resulting in r2 values of 0.20 and 0.18, respectively. Even SIERA hardly outperforms the new xFIP (r2 = 0.20), and its descriptive (same-year) value is notably weaker (r2 = 0.36).

Adjusted r2
ERA y+1 ERA
FIP 0.62 0.17
xFIP 0.42 0.20
SIERA 0.45 0.20
New xFIP 0.55 0.18

FIP, xFIP, and SIERA all boast ideological differences, yet none prevails as a superior predictive option. That “new xFIP” lands in the middle of an indistinguishable pack predictively while also prevailing above xFIP and SIERA descriptively lends merit to the original argument — the argument that xFIP might be theoretically misaligned, such that it artificially restricts its descriptive power.

You could calculate New xFIP manually using the equation above, if you’d like. (The constant term for 2019, as of now, is something like 0.834. I say “as of now” because it’s a moving target — as league-wide ERA changes, so, too, does the constant term.)

If not, you could make mental adjustments to xFIP in its current state according to a couple of intuitive rules of thumb. How does a pitcher’s line drive rate (LD%) compare to the league average? If it’s higher, then xFIP might be overrating his performance; if lower, then underrating. Same with infield fly ball percentage (IFFB%): if it’s higher, xFIP might be underrating his performance, and vice versa. It’s inexact, but, to be fair, all of this (gesturing broadly to sabermetrics) is inexact.

* * *

Here’s the “New xFIP” leaderboard, as of Sunday, May 12.

New xFIP Leaderboard
Name Team IP ERA Old xFIP New xFIP diff
Blake Snell Rays 43.0 3.56 2.49 2.62 0.13
Tyler Glasnow Rays 48.3 1.86 2.78 2.71 -0.07
Hyun-Jin Ryu Dodgers 52.3 1.72 2.50 2.77 0.27
Stephen Strasburg Nationals 57.0 3.63 2.71 2.89 0.18
Gerrit Cole Astros 55.7 3.88 2.33 2.94 0.61
Luis Castillo Reds 56.3 1.76 3.08 2.99 -0.09
Cole Hamels Cubs 49.7 3.08 3.57 3.30 -0.27
Caleb Smith Marlins 42.7 2.11 2.98 3.32 0.34
German Marquez Rockies 57.7 3.43 3.16 3.32 0.16
Max Scherzer Nationals 59.3 3.64 2.75 3.37 0.62
Noah Syndergaard Mets 49.0 5.14 3.41 3.37 -0.04
Carlos Carrasco Indians 40.3 4.91 3.14 3.50 0.36
Jacob deGrom Mets 47.0 3.26 2.93 3.51 0.58
Zack Greinke Diamondbacks 57.0 3.16 3.19 3.53 0.34
Max Fried Braves 44.3 3.25 3.32 3.59 0.27
Matthew Boyd Tigers 54.3 3.15 3.38 3.61 0.23
Luke Weaver Diamondbacks 45.3 2.98 3.53 3.66 0.13
Zack Wheeler Mets 49.7 4.35 3.34 3.66 0.32
Marcus Stroman Blue Jays 52.0 3.12 3.81 3.71 -0.10
Tyler Mahle Reds 45.3 3.97 3.02 3.71 0.69
Chris Sale Red Sox 44.0 4.50 3.46 3.72 0.26
Charlie Morton Rays 44.3 2.64 3.53 3.73 0.20
Jose Quintana Cubs 46.3 3.50 3.39 3.75 0.36
Justin Verlander Astros 57.3 2.51 3.56 3.77 0.21
Jon Lester Cubs 38.7 1.16 3.40 3.82 0.42
Frankie Montas Athletics 45.3 2.78 3.63 3.83 0.20
Mike Minor Rangers 53.7 2.68 4.17 3.86 -0.31
Pablo Lopez Marlins 41.0 5.93 3.82 3.87 0.05
Yusei Kikuchi Mariners 54.3 3.64 4.00 3.92 -0.08
Patrick Corbin Nationals 50.7 3.20 3.85 3.94 0.09
Zach Eflin Phillies 51.0 2.47 4.41 3.94 -0.47
Shane Bieber Indians 49.7 3.81 3.99 3.99 0.00
Jack Flaherty Cardinals 41.7 4.32 3.56 4.01 0.45
Masahiro Tanaka Yankees 52.3 3.44 4.00 4.05 0.05
Joey Lucchesi Padres 41.3 4.57 3.92 4.06 0.14
Madison Bumgarner Giants 55.7 4.04 3.47 4.08 0.61
Domingo German Yankees 43.3 2.70 3.94 4.10 0.16
Kyle Hendricks Cubs 42.3 3.19 3.81 4.11 0.30
Jon Gray Rockies 48.7 4.25 3.72 4.13 0.41
Jose Berrios Twins 59.0 3.05 4.13 4.13 0.00
Robbie Ray Diamondbacks 48.7 3.14 3.77 4.19 0.42
Walker Buehler Dodgers 43.3 4.15 3.96 4.22 0.26
Adam Wainwright Cardinals 43.3 4.15 4.17 4.24 0.07
Miles Mikolas Cardinals 54.0 3.83 4.33 4.30 -0.03
Yonny Chirinos Rays 42.3 3.61 4.42 4.35 -0.07
Jordan Lyles Pirates 38.7 2.09 4.48 4.36 -0.12
Eduardo Rodriguez Red Sox 43.7 4.53 3.76 4.38 0.62
Homer Bailey Royals 41.0 4.83 4.01 4.38 0.37
Trevor Bauer Indians 59.7 3.02 3.84 4.39 0.55
Kevin Gausman Braves 42.0 4.50 4.05 4.40 0.35
Trevor Williams Pirates 50.3 3.40 4.31 4.45 0.14
Jose Urena Marlins 46.7 4.82 4.52 4.48 -0.04
Wade Miley Astros 45.3 3.18 4.43 4.48 0.05
Anthony DeSclafani Reds 41.0 4.17 4.26 4.50 0.24
Andrew Cashner Orioles 42.3 4.25 4.84 4.53 -0.31
Martin Perez Twins 46.3 3.11 4.28 4.53 0.25
Brad Peacock Astros 42.7 4.01 4.19 4.54 0.35
Jake Arrieta Phillies 50.0 3.78 4.44 4.55 0.11
Jake Odorizzi Twins 42.7 2.32 4.49 4.58 0.09
Julio Teheran Braves 50.7 4.26 4.50 4.68 0.18
Zach Davies Brewers 46.7 1.54 4.72 4.69 -0.03
Joe Musgrove Pirates 40.7 4.20 4.43 4.72 0.29
Aaron Nola Phillies 46.3 4.86 3.88 4.73 0.85
Mike Fiers Athletics 51.0 5.12 5.18 4.74 -0.44
Mike Leake Mariners 47.3 4.37 4.69 4.79 0.10
Spencer Turnbull Tigers 44.7 2.42 4.46 4.80 0.34
Marco Gonzales Mariners 56.7 3.18 4.89 4.86 -0.03
Nick Margevicius Padres 41.3 4.14 4.87 4.90 0.03
J.A. Happ Yankees 43.3 4.36 4.91 4.91 0.00
Collin McHugh Astros 42.7 6.33 4.21 4.94 0.73
Rick Porcello Red Sox 43.7 5.15 4.97 4.98 0.01
Kenta Maeda Dodgers 44.7 4.03 4.66 5.01 0.35
Merrill Kelly Diamondbacks 46.0 4.70 4.66 5.02 0.36
Kyle Freeland Rockies 44.7 5.84 4.92 5.03 0.11
Aaron Sanchez Blue Jays 48.0 3.75 4.72 5.06 0.34
Jakob Junis Royals 48.3 5.77 4.63 5.08 0.45
Lance Lynn Rangers 47.7 5.48 4.53 5.14 0.61
Ivan Nova White Sox 44.3 6.29 4.44 5.15 0.71
Jeff Samardzija Giants 41.0 3.51 5.08 5.17 0.09
Jhoulys Chacin Brewers 45.3 4.57 5.43 5.23 -0.20
Brett Anderson Athletics 43.0 4.19 5.24 5.26 0.02
Michael Pineda Twins 40.0 5.85 4.71 5.27 0.56
Dylan Bundy Orioles 40.7 5.31 5.13 5.32 0.19
Reynaldo Lopez White Sox 50.0 5.58 5.46 5.38 -0.08
Brad Keller Royals 52.3 4.47 5.09 5.43 0.34
Dereck Rodriguez Giants 41.0 5.05 5.06 5.45 0.39
Jorge Lopez Royals 43.0 6.07 4.59 5.45 0.86
Sandy Alcantara Marlins 44.0 5.11 5.54 5.45 -0.09
Trevor Richards Marlins 42.3 4.46 5.57 5.52 -0.05
Tanner Roark Reds 41.3 3.27 4.81 5.58 0.77
Anibal Sanchez Nationals 41.0 5.27 5.37 6.21 0.84
Click headers to sort!

* * *

[Edit (5/21/19 8:32 pm ET)] It should be noted all calculations below relied on Statcast data rather than FanGraphs data. I had a moment of panic when I realized FanGraphs and Statcast data do not perfectly align in terms of how batted ball events (fly balls, etc.) are strung/coded. Fortunately, I am also able cross-validate the results below using FanGraphs data. The change to xFIP I recommended below still bears a substantial improvement in xFIP’s correlation with same-year ERA; its adjusted r2 improving from 0.44 to 0.53 — not exactly the same values shown below, but darn close. That’s all. Thanks![/Edit]





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
Inline Feedbacks
View all comments
RotoholicMember since 2016
7 years ago

Carson got the job with Toronto despite this annoying writing style, not because of it.

djo162
7 years ago

Surprised to see Berrios and Bauer with such high numbers.

Aaron
7 years ago

Love the concept and refresh, but I was bummed to see the predictive value of new xFIP as inferior to the original xFIP 🙁 — even if only marginally so.

I guess that improvement in descriptiveness just doesn’t hit the spot in the same way an improvement in predictiveness would for me …

RonGTMember since 2020
7 years ago
Reply to  Aaron

Think you misread. It’s MORE predictive than original xFIP.

“The regression produced an adjusted r2 of 0.44 — a good deal weaker than FIP (r2 = 0.55) but a good deal stronger than the original xFIP (r2 = 0.36).”

In other words, its not as good as the FIP results calculated based on actual HR/FB rate to their ACTUAL ERA. But new xFIP is a better method of substituting a constant for leaguewide homerun rate than the old xFIP.

agam22Member since 2017
7 years ago
Reply to  RonGT

Those were the descriptive r^2 values relating it to current ERA. For predictions, based on relating it to the next year ERA it was was slightly worse than current xFIP. However, given that there have been some pretty significant swings in year to year HR/FB rate I wonder if that is introducing too much noise for any league wide HR/FB adjustment to be useful year to year, even if the model is trying to take that into account

RonGTMember since 2020
7 years ago

I like how I ironically called out someone for misreading, then I misread by completely glancing over the predictiveness table and associated paragraph. Apologies, Aaron

RonGTMember since 2020
7 years ago

Very cool. I did this on the side in Excel, but could you update the table to include a last column of Old xFIP – New xFIP. Then people can quickly tell who gets affected most by the change. I’d even default sort that way. VERY INTERESTING for a couple of Phillies pitchers…

Zach Eflin (0.47 improvement with new xFIP)
Aaron Nola (0.85 Worse with new xFIP and about in line with his current ERA)

Mike DMember since 2016
7 years ago

Pitchers like Trevor Williams, Brad Keller and Spencer Turnbull have shown an “ability” (or is it luck?) to have a lower rate of home runs per fly ball from the minors up to the majors.

Do we know “for sure” if this is not a skill ? I have not been able to find any analysis on this, although I’m curious to know where I can find that information.

It seems some pitchers are more susceptible to home runs; why couldn’t others limit them?

Mike DMember since 2016
7 years ago

Forget the minor-league aspect of this. Just looking at their major league numbers (is it a large-enough sample size?) they’ve consistently been below the average percentage of 10-11% HR/FB. They are not world-beaters but maybe this is some of the reason they have reasonable success in the majors.

Toffer Peak
7 years ago
Reply to  Mike D

I believe there has been found to be some skill in HR/FB%, specifically, GB pitchers tend to be worse it it, although I think there might be other factors as well.
There is definitely a park factor at play as well. The numbers are a decade old, but the Tigers, Pirates and Royals all play in neutral to homer run suppressing parks so that would explain quite a bit for two of your trio.

https://blogs.fangraphs.com/infield-fly-balls-and-xfip/
https://tht.fangraphs.com/tht-live/hr-fb-park-factors/

Mike DMember since 2016
7 years ago
Reply to  Toffer Peak

For his career Trevor Williams has given up the same number of homers on the road as home. The same with Keller. Turnbull has given up 3 HR on the road and one at home.

Toffer Peak
7 years ago
Reply to  Mike D

My reply with numbers got eaten up unfortunately. Regardless, we’re talking about HR/FB% right? 2 of the 3 have lower HR/FB% at home though. One of them by a lot. However, we’re dealing with pitchers with small MLB samples so I wouldn’t look into the numbers too much either way. Maybe look at players with longer track records? I’m sure this has been studied before and you can find an article or two that measures pitchers’ ability to control for HR/FB% beyond just their FB% allowed. If it’s a skill, someone’s found it.

bjoakMember since 2020
7 years ago

Hmm, why not just use groundball rate? I get the thing about pop-ups, except that flyball pitchers get more pop-ups in a very linear way so those are accounted for in the groundball/home run conversion math. And if we really want it to be predictive, don’t we want to include park factors and defense?

TrisSpeakerFanboyMember since 2026
7 years ago

Is there any consideration for outfield fly balls that are caught in foul territory? It’s an addition of “Home runs are never hit on infield fly balls or foul balls. “

BKhipsterballMember since 2024
7 years ago

This is generally something I feel is lacking in a lot of baseball data. Foul balls are valid points to plot physically and geospatially, especially hard hit ones.

will1331Member since 2019
7 years ago

Thanks Alex! I noticed Chris Paddack, the Prince Who Was Promised, was missing? He had 40.2 IP as of the 12th, so should have made any innings limit?

wobatusMember since 2024
7 years ago
Reply to  will1331

Woodruff also missing, had over 40 IP as of the 12th.

Toffer Peak
7 years ago

You probably should have checked with your overlord before posting this because it sounded familiar.

“So getting back to xFIP, does it really matter whether or not you exclude popups? The answer is, not really. You’re going to get almost the same results because HR/OFFB on average exhibits more or less the same issue as HR/FB. In fact, the correlation between using OFFB vs total FBs in xFIP is .996. The two, in practice, are virtually identical.” – David Appelman

https://blogs.fangraphs.com/infield-fly-balls-and-xfip/

Toffer Peak
7 years ago

True. Thanks!

BKhipsterballMember since 2024
7 years ago

Wondering what happens if you rerun the model using barrels/(OFFB+LD). I know statcast metrics have proven to be much more valuable as descriptors than as predictors, but barrels are still an improvement on predicting HRs with HRs, and likely enough to beat SIERA and xFIP.

jrogersMember since 2017
7 years ago

It would seem to me that while LD do sometimes become HR, they do so at a significantly different rate than FB do (as evidenced by the lower rates in the first table). So why lump them together? A pitcher who allows 40% LD and 10% oFB is not likely going to give up the same number of HR as one who is 10%/40%, are they?

Did you try, or have you thought about, running a regression with HR/oFB and HR/LD separately? Or do we only have total HR numbers and it’s too hard to break them up that way?

jkud
7 years ago

Forgive my ignorance if this exists already, but is there a way to measure xHR based on statcast data? With average flyball distance and FB% for example. Or hard% with launch angle. Might this be a way to have a “how many HR he should have allowed” component in xFIP?