Thursday, July 28, 2011
Tango’s Lab: Deconstructing FIP
Bill James wrote an article recent called “Abe Lincoln Scores”, where he focused on 4 scores (BB+HB, SO, HR, BIP). He set the score for BIP to a “1”, and floated the other numbers around that. SO was 0, HR was 4, BB+HB was 2. (HR is undervalued in his metric.)
At this point, you should be thinking two things:
a. wOBA
b. FIP
The wOBA equation is this:
0.0: SO, other outs
0.7: BB, HB
0.9: 1B, ROE
1.3: 2B, 3B
2.0: HR
What James did was to focus just on those FIP things. So, we can come up with a FIP equation based on wOBA fairly easily:
wOBAfip = (0*SO + 0.7*BB + 2.0*HR + something*BIP) / PA
So, this made me think. Whereas in the FIP equation, the “3.2” is a constant for all pitchers, the “something*BIP/PA” is specific for each pitcher. That is, his wOBA will be affected based on the percentage of his PA that are BIP. To take an extreme view, if 100% of his PA are BIP, his FIP will equal 3.20. The wOBA for such a pitcher will be 0.300.
Is a .300 wOBA actually a 3.20 ERA? Not exactly. I mean, it’s pretty close. A .300 wOBA is more like a 3.30 ERA. But, still, there’s a bit of bias to account for.
The other thing is if the 13, 3, -2 weights are correct. FIP complicates matters by having IP, not PA, as its denominator. Since we are trying to remove the fielders from the equation, the existence of IP implicitly includes them.
***
The linear weights run values are these for the 4 scores:
Runs above average =
-.28 SO
-.03 BIP
+.32 BB
+1.40 HR
To convert to runs, we add +.12 runs (per PA). So, we get:
Total Runs =
-.16 SO
+.09 BIP
+.44 BB
+1.52 HR
This gives us runs scored per game.
Since FIP likes to keep the BIP “fixed”, then we remove .09 runs per PA from each event, and spin it off into its own. Now we have:
Total Runs =
-.25 * SO
+.00 * BIP
+.35 * BB
+1.43 * HR
+.09 * PA
Since there are 38.5 PA per game, we get:
-.25 * SO
+.00 * BIP
+.35 * BB
+1.43 * HR
+.09 * 38.5
Note: there are an average of 38.5 PA per game. Great pitchers see fewer batters. Hence, the reason we have a bias here.
With 9 IP per game, we get:
-.25*9 * SO/IP
+.00*9 * BIP/IP
+.35*9 * BB/IP
+1.43*9 * HR/IP
+.09 * 38.5
Which is:
(
-2.25 * SO
+3.15 * BB
+12.9 * HR
) / IP
+ 3.47
Since this is on a runs scale, and not an earned runs scale, we can multiply everything above by 0.923 to get the ERA scale:
(
-2.1 * SO
+2.9 * BB
+11.9 * HR
) / IP
+ 3.20
Hence, we see where the -2, +3, +13, 3.20 figures from FIP comes from. Based on this deconstruction, we see that the HR value in FIP may be too high, that I should be using 12, not 13.
***
However, remember that the run value of a HR is fairly static at +1.40 runs, while the run value of the walk moves with the run environment. As the run environment goes down, so does the run value of the walk. So, relatively speaking, the HR value compared to the walk increases as the run environment goes down, and decreases as the run environment goes up.
Indeed, if the run value of the walk is +.30, then the FIP component for HR becomes 13. If the run value of the walk is +.33, then the FIP component for the HR becomes 12.
***
We of course have another bias, and that is that runs are not linear when dealing with pitchers. But we’ve taken a decidedly linear approach. So, there are two things that conspire against a great pitcher’s FIP score being biased too high:
1. We give him 38.5 batters per 9IP, when it should be a bit lower.
2. Each event has less impact the fewer runners on base.
However, one thing that shifts the balance is the use of IP, not PA, in the denominator. So, it kind of sets the balance back the other way.
***
What am I saying? I don’t know. Maybe change the “13” to “12” for HR? Maybe try to focus on PA and not IP? Maybe look at percentage of PA that are BIP? Maybe have a FIP equation that is better tuned to the run environment than simply floating the 3.2? I don’t know yet.
That’s why this is a lab thread.


I really enjoyed this. I was wondering the other day how the run values of things have changed with the lower run environment the other day. So, a more ‘flexible’ FIP equation would be something I’d like to see.
I wonder if Colin would implement a ‘flexible’ version at B-Pro.