# Extrapolating 3D Contact Point Using Statcast

Over the past two years we have had many conversations about batters increasing or decreasing launch angle. Obviously, these conversations have been brought about by our brand new launch angle stats, which only recently became publicly available. However, launch angle remains a difficult concept to fully grasp. What properties determine launch angle? How do batters control it? Can the batter control it? These are all very valid questions which I think everyone has struggled to answer, including coaching staffs, players, analysts, and fans.

Yesterday Eno Sarris put up an article touching on this topic, in which he explains his journey towards wrapping his head around the phrase “go get the ball”. In doing so he posted two images that were generated using HITfx data, and he briefly mentioned that one may use a bit of math to make a few deductions from this data. Well, that is the topic of this article. I aim to take these images, compare them to the Statcast information we have for launch angle, and reverse engineer the contact point for batters.

First, the images. Well, in this case, image, singular. I have combined the two images into one for ease of use. Keep in mind that the blue line represents the home run probability while the green line represents average exit velocity. Note that both of these are calculated using HITfx, so these numbers will vary a bit from Statcast, since they both use different methods for measuring, well, everything. Especially velocity. Also note the vertical tick marks are exit velocity, not home run probability.

I am assuming the Contact Point tick marks are accurate, in which case there are about 124 pixels per foot. Using this information I found that the peak exit velocity is about 21.2 inches in front of the plate and the peak home run rate is 29.4 inches.

The following chart depicts the average exit velocity and home run probability by launch angle, this time using Statcast data. Note that the chart follows the same sort of pattern as the previous one with contact point. Peak exit velocity comes before peak home run rate. The peak exit velocity is around 7 degrees, while peak home run rate is 27 degrees.

So, now we know the peak exit velocity is around 21.2 inches in front of the plate, and this corresponds to roughly 7 degrees of launch angle.

We also know the peak home run rate is about 29.4 inches in front of the plate, which corresponds to a launch angle around 27 degrees.

If we assume launch angle is linear, or at least close to linear, between these two points, then you have a difference of 20 degrees over 8.2 inches. Or, roughly, 2.43 degrees per inch.

I am making a large number of assumptions here, since I am working with very little data, but for the sake of argument let’s assume the conclusion is true. How could this be applied to batters?

Well, in 2016 Josh Donaldson had a 14.7 degree average launch angle and 91.9 mph exit velocity. In 2017, Donaldson has a 13.1 degree launch angle. Can we predict his exit velocity from this information alone?

Well, the following equation is a rough and ugly approximation for the exit velocity curve. I have absolutely no doubt that someone can find a better approximation of this curve, but this will at least get the ball rolling:

Where ϴ is the number of inches in front of the plate.

So, you can plug the inches into those two equations and get an exit velocity. For example:

Inches Ahead of the Plate | Predicted League Average EV |
---|---|

17 | 85.3 |

25 | 85.5 |

30 | 84.6 |

48 | 74.8 |

Okay, so we’re assuming 2.43 degrees is equal to one inch in front of the plate, and 7 degrees is 21.2 inches in front of the plate. Donaldson’s average angle in 2016 was 14.7 degrees, which would be 24.4 inches in front of the plate. Plug that into my formula, and you get 85.54 mph, but he hit the ball 91.9 mph. So let’s say his bat speed is sufficient to increases his exit velocity by 7.4% above league average.

He now has 13.1 degree launch angle, which translates to 23.7 inches, which is 85.58 mph in my equation. Multiply this by that 1.074 factor for his increased bat speed and you get 91.94 mph expected exit velocity.

Next, by my records, average exit velocity is down from 87.6 mph to 86.6 mph in 2017. I am not sure why this is the case, but it appears to be down for pretty much everyone, so I will assume it is some systemic effect. Maybe a different ball, maybe a new way to measure velocity, I don’t know. Either way, I am going to multiply the expected velocity by 0.989 to make up for this difference. In this case, 91.94 x .989 = 90.92.

Okay, fair enough. Let’s check his actual exit velocity this season: 90.8.

Well, we got pretty close, didn’t we?

Let’s try another player. Justin Turner. Last year he hit the ball on a 16.9 degree angle at 90.5 mph. This year he has an 18.1 degree angle. When I plug these numbers into the formula I get 89.4 mph expected exit velocity for his new launch angle. His actual exit velocity? 89.2 mph.

Name | Predicted EV | Actual EV | Difference |
---|---|---|---|

Carlos Gonzalez | 88.9 | 86.2 | -2.7 |

Neil Walker | 87.6 | 85.0 | -2.6 |

Jake Lamb | 90.7 | 88.6 | -2.1 |

Corey Dickerson | 88.1 | 86.8 | -1.3 |

Mike Trout | 89.7 | 88.8 | -0.9 |

Christian Yelich | 91.2 | 90.7 | -0.5 |

Kyle Seager | 88.7 | 88.3 | -0.4 |

Dee Gordon | 79.5 | 79.2 | -0.3 |

Andrew McCutchen | 88.6 | 88.3 | -0.3 |

Daniel Murphy | 89.4 | 89.2 | -0.2 |

Justin Turner | 89.4 | 89.2 | -0.2 |

J. D. Martinez | 89.7 | 90.0 | 0.3 |

Billy Hamilton | 78.7 | 79.1 | 0.4 |

Travis Shaw | 87.8 | 88.2 | 0.4 |

Carlos Correa | 90.1 | 91.0 | 0.9 |

Seth Smith | 88.2 | 90.0 | 1.8 |

Khris Davis | 90.5 | 92.6 | 2.1 |

League Average | 87.29 | 87.35 | 0.06 |

Now, this doesn’t work for every batter, and the curve I selected could be greatly improved. This curve does not drop off fast enough, especially near the inflection point between 21 and 24 inches. Batters who are very close to that 24 inch mark will not have the correct difference in exit velocity between seasons.

This is a hack, I am trying to extrapolate data that we do not have access to. I do not know how well this hack might work, since I cannot compare my results to the actual measured numbers. However, it does seem to predict exit velocity most of the time, and you can find a curve with a better fit that could be even more predictive.

Keep in mind that the contact point is not the only factor that goes into exit velocity. Horizontal and vertical location matter as well. So does pitch selection, health, and a large number of other factors. You shouldn’t expect this contact adjustment to account for all changes in exit velocity, but it shows that we might be able to extrapolate the y value of the contact point via launch angle and exit velocity. We can then incorporate the y value of the contact point with the x and zed values supplied by MLB to have a more complete picture of a batter’s swing.

For example, if we see a change in launch angle without the correct corresponding change in exit velocity it could point towards perhaps luck, or perhaps a hot streak/slump. On the flip side, if we see a change in exit velocity that matches the launch angle we might assume the batter has made an adjustment to their swing. If the adjustment points towards power, then that would be a great turn of events. Or perhaps it could point towards diminishing power. Either way, using this sort of technique may bring us closer to quantifying a batter’s swing based upon their mechanics, as opposed to relying on results alone.

Contact point is currently one of the most sought after stats in the public sphere. This hack might get us a little closer, but use it at your own risk. I calculated the contact point and predicted exit velocities for each batter who had at least 200 balls in play in both 2016 and 2017, and you can view it here.

Andrew Perpetua is the creator of CitiFieldHR.com and xStats.org, and plays around with Statcast data for fun. Follow him on Twitter @AndrewPerpetua.

Interesting. I think this is a great approach to help us understand the interplay between EV and LA based on swing mechanics. I’m not sure how much this really tells us about the contact point, because you are computing it as a function of LA and then using that value to predict exit velocity. What you’re really doing is predicting EV based on LA using a new (and probably better) function based on what we know about swing mechanics, which is valuable in itself.

There are three variables here, and MLB supplies two of them: EV and Angle. Using the chart above, and remember I only have a chart not the underlying data that created that chart, I identify a relationship between angle, velocity, and contact point. Showing that I can accurately predict velocity using angle by way of the contact point suggests the relationship between the three variables may actually be similar to the hypothesis. It isn’t conclusive, but it shows that it could be real. I could have predicted launch angle using exit velocity as well, it would have been effectively the same process but in reverse.

Being able to predict EV by converting angle to contact point or predict angle by converting EV to contact point shows you that there exists a relationship between the three variables. That you can use EV and angle to estimate a contact point. This is really the first step of the process, you can also go through and examine how the horizontal and vertical values might relate, since we know how they impact exit velocity as well. You could slowly build up a picture of what the bat is doing.

Perhaps some of the players who have largest differences between predicted and actual EV are hitting the ball higher in the zone or have weaker plate discipline, or vice versa, and you could account for the rest of the difference that way. I recently showed that as much as 1 or 2 mph can be attributed to making contact with pitches at better locations in the strike zone.

If the hypothesized relationship between the three variables is true, then you can use the two known quantities to estimate the unknown. This small first step might not look like much, but I am very excited.

I think there are more than just 3 variables: 2 dependent variables (EV and LA), and a collection of independent variables that describe the swing mechanics. These include contact point (in 3D), bat speed, swing plane, etc.

I know you accounted for bat speed, but I imagine that a swing plane is an important variable that we can’t yet account for. I imagine that a player with a flat swing that gets out in front of the ball can have a similar LA to someone with an uppercut swing that stays back a bit.

Even with the model you use for converting LA to contact point, there’s probably a fair amount of noise given the variability in swing planes.

Considering the lack of publicly available data, your analysis is really insightful and definitely an exciting first step.