Introduction
The baseball pitcher is one of the few positions in all of team sports where a supreme talent can pretty much individually win a team a game. A great hitter can be pitched around or not pitched to at all. A quarterback is only as successful as his offensive line and defense allow him to be. A great scorer in basketball can be double-, triple-, or quadruple-teamed (e.g. the Stephen Curry defense in the 2009 NCAA Tournament) as necessary. Pitching is the only team sports endeavor where someone can complete a perfect game. The term doesn’t even exist in other team sports. You can roll a perfect game at the bowling alley. You can play a Golden Set in tennis, but you can’t score a perfect game in basketball. Even if you hit every shot you take, you could have always taken one more. The closest thing in other team sports to the influence a dominate pitcher has is a goalie in hockey, but a goalie can only post a shutout. Pitchers can post shutouts and not be perfect. I imagine the same is true for goalies. It is this unique aspect of pitching that makes it the most interesting position in all of sports to me.
For a few years, I’ve attempted multiple times to come up with a new way of determining the value a pitcher provides. Even further than that, I’ve searched for a way to evaluate individual pitches in a pitcher’s repertoire. FanGraphs provides linear weight values for pitch types, and they can be useful in determining the quality of a pitch. The problem exists in understanding the numbers. Sure, we know that, in the linear weight analysis of pitches, the greater value is the better pitch. What exactly does a pitch being 15 runs above average really mean though? One of the major tenets of sabermetric pitching analysis is that runs allowed in strongly influenced by the defense, and thus out of a pitcher’s control. Why are we discussing pitch values as run values then? The currency of baseball is the win. When we talk about Mike Trout being a 10 win player or Clayton Kershaw being a six win pitcher, its not hard to explain to someone what that means. Shouldn’t we then talk about pitch values in terms of wins as well?
Methodology
The first step in determining the win value for a pitcher per FanGraphs WAR methodology is to determine the pitcher’s FIP. For reference, here’s the formula for FIP.
FIP = ((13*HR)+(3*(BB+HBP))-(2*K))/IP+constant
In the formula, the constant is used to bring the value equivalent to league average ERA. For the purposes of WAR, an adjustment is made to convert league average ERA into league average RA. The constant used in this scenario will therefore adjust each pitcher’s FIP to league RA. No adjustment will be made for individual leagues. With that said, we must determine each of the six variables.
1.) Home Runs Allowed
This is the easiest factor to determine. The fine folks over at Baseball Prospectus provide PitchF/x leaderboards for each of nine pitch types. One of the things they tabulate is home runs allowed on a given pitch. That simplifies our task a little.
2.) Walks Allowed
Once again, we can consult the PitchF/x leaderboards for this information, though not directly. Yes, the PitchF/x leaderboards provide a column for walks, but this is the number of walks that ended with a certain pitch. For our purposes, we’ll need to calculate expected walks based on the frequency of called balls. Luckily, there’s a column for called balls to help us out. Now, how should we proceed? Well, maybe since four balls equal one walk we should just divide this number by four. This isn’t correct though because even the best pitchers will only through something like 70% strikes. In a 100 pitch outing, the divide by four methodology would yield 7.5 walks each game, which is only slightly ridiculous. Clearly, the number we are looking for is not four. According to FanGraphs, there were 28,172 balls thrown and 1,523 walks allowed by starting pitchers in March and April. That’s a ratio of 18.50 balls per walk. Back to our 30% example, that equates to 1.6 walks per 100 pitches, which is much more realistic. For our purposes, one walk will be credited for each 18.50 balls thrown by a pitcher.
3.) Hit-by-Pitch
I have been unable to find any data from which to determine how many times a pitcher hit a batter with a certain pitch. HBP is normally a small factor in the overall FIP equation though, so we will just assume zero hit-by-pitches.
4.) Strikeouts
Similar to the section on walks allowed, we cannot simply take the number of strikeouts tabulated in the PitchF/x leaderboards, as this is the number of strike threes on a certain pitch. Once again, we have a tabulated value for called strikes, but we cannot simply divide by three. First, swinging strikes need to be included. Foul balls need to be included as well because they can count as strikes. For our total strikes thrown, we can start by using Called Strikes + Swinging Strikes + Foul Balls. Swinging strikes can be calculated by multiplying Whiff/Swing x Swing Rate x Pitches Thrown. Foul balls can be calculated by multiplying Fouls/Swing x Swing Rate x Pitches Thrown. Now, we need to determine the number by which to divide our total strikes. Well, in March and April, 49,293 strikes were thrown by starters to record 4,057 strikeouts. That’s a ratio of 12.15 strikes thrown per strikeout. Should we use 12.15? No, we shouldn’t because hits and batted ball outs are included in the 49,293 strikes thrown. Starters allowed 4,647 hits in March and April. They also pitched 4,780.2 innings, which converts to 14,342 outs. If we subtract out strikeouts from the outs recorded, we’re left with 10,285 batted ball outs. If we subtract, 10,285 and 4,647 from 49,293, we’re left with 34,361 strikes left. 34,361 strikes and 4,057 strikeouts is a ratio of 8.47 strikes per strikeout. This is the divisor for which we were looking.
One thing we need to consider more closely though for our raw strike total is foul balls. Some pitchers, such as Phil Hughes, have many more pitches fouled off than others. This shouldn’t be used to arbitrarily increase a pitcher’s expected strikeout total. To combat this, a pitcher’s foul rate on a pitch is compared to the league’s foul rate on that same pitch. This is done by dividing the league rate by the pitcher’s rate. Pitchers with less than average foul rates have all of their foul balls included. For pitcher’s with higher than average foul rates, the foul ball total is reduced to the number of expected foul balls at the league average rate.
5.) Innings Pitched
In order to estimate the number of innings pitched with a certain pitch, we must first determine the number of total pitches each pitcher threw per inning. By dividing the total number of pitches thrown by the total number of innings pitched, we are able to determine for each pitcher how many pitches were required on average to complete an inning. By dividing the number of each individual pitch thrown by this ratio, we can estimate the number of innings thrown using a certain pitch. For example, there were 77,465 total pitches thrown by starters in March and April. Dividing this by our 4,780.2 IP from earlier gives us an average value of 16.20 pitches per inning. If a pitcher had thrown his curveball 100 times, we would estimate he would have thrown 6.17 innings with his curveball. Rather than using the league average value, the Pitch/Inning ratio is calculated for each individual pitcher.
6.) Constant
Using all of the starters pitches thrown in March and April tabulated by Baseball Prospectus, the league FIP subtotal calculates as 0.61. League average RA for March and April for starters was 4.29. For March and April, our FIP constant is 3.68.
After calculating the FIP for each pitch, we can then use park factors to make the numbers park neutral and run the FIP value through the FanGraph WAR methodology to get a win value for each pitch. The pitcher’s overall win total is the sum of the individual pitch types. Please note that the player win totals will most likely not match the standard win total calculated by FanGraphs. This is because only nine pitch types are tabulated by Baseball Prospectus: four-seam fastball, sinker, cutter, splitter, curveball, slider, changeup, screwball, and knuckleball. Pitches that could be classified as slow curves or eephus pitches are not included by Baseball Prospectus in their curveball leaderboards. Any unclassifiable pitch is also not included. Also, there is always inherent issues with pitch classification. For example, Baseball Prospectus classified one C.J. Wilson pitch as a knuckleball. Now, I find it incredibly hard to believe that Wilson decided to break out exactly one knuckleball over the first five weeks of the season having never been known to throw one before. Simply put, we are at the mercy of the pitch classification system.
Results
Four-Seam Fastball
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
Nathan Eovaldi |
0.8 |
163 |
Eric Stults |
-0.2 |
2 |
Zach McAllister |
0.6 |
164 |
Josh Beckett |
-0.2 |
3 |
Robbie Ross |
0.5 |
165 |
Ubaldo Jimenez |
-0.3 |
4 |
Michael Wacha |
0.5 |
166 |
Dan Straily |
-0.3 |
5 |
Drew Hutchison |
0.5 |
167 |
Wily Peralta |
-0.4 |
Sinker
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
Cliff Lee |
0.7 |
142 |
Jake Peavy |
-0.2 |
2 |
Charlie Morton |
0.5 |
143 |
Brandon McCarthy |
-0.3 |
3 |
Felix Hernandez |
0.4 |
144 |
Erasmo Ramirez |
-0.3 |
4 |
Martin Perez |
0.4 |
145 |
Dan Straily |
-0.3 |
5 |
Andrew Cashner |
0.4 |
146 |
Mike Pelfrey |
-0.3 |
Cutter
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
Madison Bumgarner |
0.4 |
68 |
Blake Beaven |
-0.1 |
2 |
Adam Wainwright |
0.3 |
69 |
C.J. Wilson |
-0.2 |
3 |
Clay Buchholz |
0.3 |
70 |
Felipe Paulino |
-0.2 |
4 |
James Shields |
0.3 |
71 |
Franklin Morales |
-0.3 |
5 |
Erik Johnson |
0.2 |
72 |
Johnny Cueto |
-0.4 |
Splitter
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
Tim Hudson |
0.2 |
20 |
Charlie Morton |
-0.1 |
2 |
Brandon Morrow |
0.1 |
21 |
Clay Buchholz |
-0.1 |
3 |
Masahiro Tanaka |
0.1 |
22 |
Franklin Morales |
-0.1 |
4 |
Ricky Nolasco |
0.1 |
23 |
Miguel Gonzalez |
-0.2 |
5 |
Jorge De La Rosa |
0.1 |
24 |
Jake Odorizzi |
-0.2 |
Curveball
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
Jose Fernandez |
0.5 |
145 |
Eric Stults |
-0.1 |
2 |
Adam Wainwright |
0.3 |
146 |
Matt Moore |
-0.1 |
3 |
Sonny Gray |
0.3 |
147 |
Ivan Nova |
-0.1 |
4 |
A.J. Burnett |
0.3 |
148 |
Bronson Arroyo |
-0.2 |
5 |
Brandon McCarthy |
0.2 |
149 |
Felipe Paulino |
-0.3 |
Slider
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
Aaron Harang |
0.3 |
110 |
Eric Stults |
-0.2 |
2 |
Ervin Santana |
0.2 |
111 |
Wade Miley |
-0.2 |
3 |
Wily Peralta |
0.2 |
112 |
Ricky Nolasco |
-0.3 |
4 |
Jeff Samardzija |
0.2 |
113 |
Tim Lincecum |
-0.3 |
5 |
Jordan Zimmermann |
0.2 |
114 |
Danny Salazar |
-0.4 |
Changeup
Rank |
Pitcher |
Pitch Value |
Rank |
Pitcher |
Pitch Value |
1 |
John Danks |
0.3 |
146 |
Bronson Arroyo |
-0.2 |
2 |
Chris Sale |
0.3 |
147 |
Mike Leake |
-0.2 |
3 |
Stephen Strasburg |
0.2 |
148 |
Bruce Chen |
-0.2 |
4 |
Cliff Lee |
0.2 |
149 |
Matt Cain |
-0.3 |
5 |
Francisco Liriano |
0.2 |
150 |
Wandy Rodriguez |
-0.4 |
Screwball
Rank |
Pitcher |
Pitch Value |
1 |
Hector Santiago |
0.0 |
Knuckleball
Rank |
Pitcher |
Pitch Value |
1 |
R.A. Dickey |
0.5 |
2 |
C.J. Wilson |
0.0 |
Overall
Rank |
Pitcher |
Value |
Rank |
Pitcher |
Value |
1 |
Nathan Eovaldi |
1.0 |
171 |
Dan Straily |
-0.3 |
2 |
Adam Wainwright |
1.0 |
172 |
Mike Pelfrey |
-0.4 |
3 |
Martin Perez |
1.0 |
173 |
Ivan Nova |
-0.4 |
4 |
Cliff Lee |
0.9 |
174 |
Felipe Paulino |
-0.5 |
5 |
Justin Verlander |
0.9 |
175 |
Wandy Rodriguez |
-0.5 |
Pitch Ratings
One of the only issues with WAR is that it is a counting stat, so we’re very much tied to playing time (or in this case, number of pitches thrown). It can also be useful to study, on a rate basis, the quality of a pitch. Using the park adjusted FIP values used in the WAR calculations above, we can provide 20-80 scale values for each pitch based on the number of standard deviations above or below an average pitch. The baseline used is the overall average pitch, not the average within a pitch type. In other words, Jose Fernandez’s curveball will be evaluated against all pitches analyzed, rather than just other curveballs. Only qualified pitches are shown. To qualify, a pitcher had to throw an above average number of each pitch. That is the pitch count had to exceed the total number of pitches within a pitch type divided by the total number of pitchers in a pitch type.
Four-Seam Fastball
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Nathan Eovaldi |
59 |
73 |
Marco Estrada |
40 |
2 |
Jonathon Niese |
57 |
74 |
Homer Bailey |
39 |
3 |
Jake Odorizzi |
57 |
75 |
Eric Stults |
39 |
4 |
Drew Hutchison |
57 |
76 |
Bartolo Colon |
39 |
5 |
C.J. Wilson |
57 |
77 |
Dan Straily |
32 |
Sinker
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Dallas Keuchel |
60 |
57 |
Trevor Cahill |
38 |
2 |
CC Sabathia |
60 |
58 |
Francisco Liriano |
38 |
3 |
Cliff Lee |
59 |
59 |
Jake Peavy |
36 |
4 |
Felix Hernandez |
57 |
60 |
Lucas Harrell |
36 |
5 |
Charlie Morton |
56 |
61 |
Mike Pelfrey |
33 |
Cutter
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Clay Buchholz |
59 |
27 |
Lance Lynn |
43 |
2 |
Phil Hughes |
59 |
28 |
Tim Hudson |
43 |
3 |
Bruce Chen |
57 |
29 |
David Price |
35 |
4 |
Scott Feldman |
57 |
30 |
Franklin Morales |
30 |
5 |
Corey Kluber |
57 |
31 |
Johnny Cueto |
25 |
Splitter
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Brandon Morrow |
57 |
8 |
Tim Lincecum |
44 |
2 |
Tim Hudson |
55 |
9 |
Ubaldo Jimenez |
44 |
3 |
Masahiro Tanaka |
52 |
10 |
Danny Salazar |
41 |
4 |
Jorge De La Rosa |
51 |
11 |
Jake Odorizzi |
30 |
5 |
Kyle Kendrick |
47 |
12 |
Miguel Gonzalez |
28 |
Curveball
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Jose Fernandez |
61 |
56 |
Jonathon Niese |
38 |
2 |
Kyle Lohse |
60 |
57 |
Clay Buchholz |
37 |
3 |
Stephen Strasburg |
58 |
58 |
Ivan Nova |
37 |
4 |
Tommy Milone |
58 |
59 |
Madison Bumgarner |
37 |
5 |
Jordan Lyles |
58 |
60 |
Bronson Arroyo |
35 |
Slider
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Michael Pineda |
59 |
48 |
Drew Hutchison |
38 |
2 |
Max Scherzer |
59 |
49 |
Wade Miley |
37 |
3 |
Aaron Harang |
59 |
50 |
Eric Stults |
28 |
4 |
Jordan Zimmermann |
59 |
51 |
Ricky Nolasco |
28 |
5 |
Jeff Samardzija |
59 |
52 |
Tim Lincecum |
20 |
Changeup
Rank |
Pitcher |
Pitch Rating |
Rank |
Pitcher |
Pitch Rating |
1 |
Roberto Hernandez |
60 |
58 |
Madison Bumgarner |
35 |
2 |
Stephen Strasburg |
60 |
59 |
Bronson Arroyo |
31 |
3 |
Robbie Erlin |
59 |
60 |
Mike Leake |
22 |
4 |
Yordano Ventura |
58 |
61(t) |
Bruce Chen |
20 |
5 |
Brett Oberholtzer |
58 |
61(t) |
Matt Cain |
20 |
Screwball
Rank |
Pitcher |
Pitch Rating |
1 |
Hector Santiago |
46 |
Knuckleball
Rank |
Pitcher |
Pitch Rating |
1 |
R.A. Dickey |
53 |
2 |
C.J. Wilson |
39 |
Discussion
Well, there we have it. By valuing his pitches, Nathan Eovaldi was the most valuable pitcher in MLB in March and April, and Wandy Rodriguez was the least valuable. The most valuable pitch was Eovaldi’s four-seam fastball. The most valuable offspeed pitch was Jose Fernandez’s curveball. The least valuable pitch was Danny Salazar’s slider. The least valuable fastball was Johnny Cueto’s cutter.
By ratings, the best overall pitch was Jose Fernandez’s curveball. The worst overall pitch was a three way tie between Tim Lincecum’s slider and the changeups thrown by Bruce Chen and Matt Cain. The best fastball was Dallas Keuchel’s sinker. The worst fastball was Johnny Cueto’s cutter.
I feel this is the strongest iteration yet in my attempts to value individual pitches. Hopefully, you agree. Of course, similar analysis could be done on relievers. I would expect more extremes, especially in the 20-80 ratings from relievers.