Stats Diagram: Pitching Stats
If you enjoyed the previous diagrams for position player WAR and offensive stats, then you’ll enjoy the diagrams for pitching stats. Just like the previous two diagram posts, the best instructions on how to precisely calculate the stats are in our library. However, the diagrams provide a visual conceptual overview of what affects the different pitcher stats.
The first set of stats are divided into three subcategories, based on denominator. The first is balls in play (BIP) and the pitcher batting average on balls in play (BABIP) stat. This is the same as batter BABIP except it’s calculated from the pitcher’s perspective. Total batters faced (TBF) is the second subcategory, where there are two stats: K% and BB%. These again mirror the batter’s version.
The innings pitched (IP) is the subcategory with the most familiar pitching stats. Innings pitched effectively counts every out the pitch has made, divides that by three to get IP. The most basic stats IP-based stats are K/9, BB/9, and HR/9. Walks plus hits per inning pitched (WHIP), a stat we don’t use a lot at FanGraphs, divides the total number of hits and walks by the number of innings pitched. Earned run average (ERA) does the same thing but also scales it to a full, 9-inning game. Fielding independent pitching (FIP) and expected FIP (xFIP) both use defensive-independent outcomes to estimate ERA. The FIP constant scales the stat to be comparable to ERA. xFIP is the same as FIP except for the HR input is change to fly balls (FB) and converted to HRs by multiplying FB by the league average HR/FB ratio.
Since I was in a diagramming mood, I also made diagrams for pitcher’s win-loss (W, L) records and saves (SV). The SV diagram only has the scenarios when a SV occurs, so negative cases aren’t represented. If you follow the diagram and answer counter to what is available the pitcher does not earn a SV.
I build things here.


Are these (or are they going to be) linked from the glossary somewhere. I’d like to be able to find these again when I need them, and not have them sink into the mass of Fangraph requiring serious google-fu to tease out.
Excellent work. These are great.
Wait isn’t the correct calculation for K, BB, HR and ERA to multiply the stat by 9, then divide by IP? The graphic makes it look like you should multiply these values by 9x the IP and doesn’t show division at all. I think the correct calculations are ([HR, BB, K, ER]*9)/IP.
Might be cleaner if you separated these out: [HR x 9] –> [/IP] –> [HR/9] or [HR] –> [x9 / IP] –> [HR/9]
The IP arrow represents division. It’s more of an input chart than a strict algorithm. HR/IP * 9 IP is the same as HR*9 IP / IP.
Great visualizations Sean. Just one correction I see – in the SV chart, it says that a pitcher needs >=1 IP to get a save; but they really just need >=1/3 IP.
I think it gets even more complicated if you get just one or two outs. Doesn’t whether the tying run is on deck come into play at that point?
If the pitcher comes into the game with the tying run on deck, no matter how many outs he has to get, he gets the save if he gets the out and doesn’t relinquish the lead. That’s taken care of by the “Was the tying run…” box.
Yeah, if a pitcher comes into a game with a 3 run lead in the bottom of the 9th with 2 outs and nobody on base, he’s not eligible for the save. The tying run isn’t on deck yet. He has to pitch a full inning (or more) in that instance.
Also, the 3 innings thing technically is at the discretion of the scorekeeper. He has to “pitch effectively” in order to warrant a save.
Missed it, sorry
For the win, you need to add to the relief track: “Did the team take the lead while the starter was in the game and never relinquish that lead, and did the starter fail to go 5 innings, and did the official scorer arbitrarily decide to anoint this pitcher with the win?”
Just came across these, they’re great!
Does anyone know what software Sean used to create these? It’s a great way to show these relationships.
LucidChart
https://www.lucidchart.com/pages/signup?utm_expid=39895073-174.FtMvh7TORVKb0Kp82Fb6Hw.1&utm_referrer=https%3A%2F%2Fwww.lucidchart.com%2Fpages%2Fsignup
Cool, thanks for these! I’d love to see these in the glossary too. I was also sort of hoping to see one for SIERA, but I’m not about to get choosey.
I was debating making a SIERA diagram. I had people to convince me otherwise since it’s not used that much…or at least not used much by writers here. It’s basically a linear regression equation, but with interaction terms, so you have Y = A + B + A*B. It actually was the least visually pleasing to graph out since there are a bunch of inputs and even more coefficients.
For saves you should include the “not a save situation” and the “blown save” boxes. As is, all the flows lead to “save”