In most cases, the gap between ERA and FIP can be explained by a pitcher's BABIP (Batting Average on Balls In Play). A pitcher with a low BABIP tends to have a lower ERA than FIP and vice versa. However, BABIP does not tell us whether the pitcher is actually good at limiting the damage of balls in play or if he has a good defense or is just plain lucky. Therefore, any skill that a pitcher might have in generating weak contact is at least partially obscured by other factors having nothing do do with his own abilities. Recently, analysts have used stats like hard-hit rate to explain why a pitcher's BABIP is either low or high. After all, a ball hit at 100 mph is more likely to be a hit than one hit at 80 mph. This is definitely a move in the right direction, but we can do better.
Now that we have complete hit trajectories (thanks to StatCast), we can quantify exactly how well a pitcher performs based on his batted-ball profile. As an example, consider a batted ball that is hit right up the middle at a launch angle of 14 degrees and a velocity of 95 miles per hour. Thankfully, you have Lorenzo Cain in center field and it's an easy out. However, consider that similar balls in play (batted ball direction between -3 and 3 degrees, launch angle between 12 and 14 degrees, and velocity between 90 and 100 mph) are a hit 61.6% of the time. Instead of just crediting the pitcher for what actually happened based on his defense, we can assess him on what (on average) should have happened. Instead of calling it 0 hits or 1 hit, we can call it 0.616 hits!
I wrote a program to analyze every batted ball in the StatCast database since beginning of 2015. The program takes the batted ball direction (BBD), launch angle (LA), and velocity (V) and determines (based on similar batted balls) how often that ball would be a hit and (on average) how many bases the hit was worth. In this way, it is possible to generate a pseudo batting average and slugging percentage for every pitcher (or hitter) based on StatCast hit trajectories. The batting average metric will be called StatCast Batting Average (scBA) and the slugging percentage metric will be called StatCast Slugging (scSLG). Since it is difficult to visually display the data in 4 dimensions (BBD, LA, V, and batting average), I have broken it up into 2 graphs. The first plot shows a contour plot of batting average (scBA) for combinations of velocity and launch angle:
The second plot is a contour plot of batting average (scBA) for combinations of launch angle and batted ball direction (-45 degrees is the left field line and 45 degrees is the right field line):
These plots are somewhat different from other "ball in play" data such as BABIP for a few reasons. BABIP considers all balls in play (in fair territory and foul territory) except home runs. Conversely, I have decided to include home runs and only balls hit in fair territory (since foul balls can only become outs and not hits). This means that the league-wide average for scBA is not ~0.300 like BABIP, but rather about 0.354 over the last 2 years. The average for StatCast slugging percentage (scSLG) is 0.576
For pitchers with at least 200 IP (106 total pitchers) since the beginning of 2015, here are the StatCast Batting Average Leaders:
As one might expect, there are a lot of elite starting pitchers on this list: Kershaw, Arrieta, Harvey, Syndergaard, Greinke, Scherzer, and Verlander. However, there are also some names that may surprise some people, including Marco Estrada and Steven Wright, two pitchers that often get mentioned as regression candidates. After all, they are both on the list of pitchers who have outperformed their FIP by at least 0.50 runs since the beginning of last year:
Out of the 10 pitchers who outperformed their FIP the most, 5 of them are in the top 15 in the league in scBA, including the top 2 (Estrada and Wright). This suggests that these pitchers have some skill in limiting hard contact and may not regress at all and certainly not as much as their underlying numbers would have you believe. Contrast that with a guy like Ian Kennedy, who ranks 102 out of 106 pitchers in scBA, yet has managed to outperform his FIP by 0.53. He is almost certainly getting lucky since his scBA is 21 points higher than the league average and his scSLG is 107 points higher than the league average!
Armed with this new information from StatCast, it is now possible to evaluate pitchers based on their batted ball profiles. Instead of seeing a low BABIP and immediately assuming that it's entirely luck or defense, we can finally see if there is some skill involved. Perhaps the next wave of sabermetric stats will include StatCast data to determine a pitcher's value. Maybe there is a more refined version of FIP (which FanGraphs uses for pitcher WAR) that includes a pitcher's batted-ball skill. After all, do we think that Michael Pineda (5.5 WAR on FanGraphs since 2015) is actually more valuable than Marco Estrada (4.5 WAR)?