Hang time

I’ve been playing with the Hit F/X data from Sportsvision for a little while now, and I think I finally have something worth sharing with the class.

If you check out the first THT Annual, you’ll find an article from Robert Dudek about the importance of hang time in how easy it is to field a fly ball (which, for these purposes, I am using to encompass everything that isn’t a ground ball). This is a huge, important thing.

But the data providers have never recorded hang time for us; instead, we get the three bins “fly ball”, “line drive” and “pop-up.” (There are a few more bins, like “fliner,” in the BIS data.) So we’ve had to make due with that. This is one of the chief reasons that outfield defense is harder to measure than infield defense, for instance.

Well, now we have Hit F/X. This gives us a few pieces of data that we can use to estimate hang time:

  • Vertical angle at launch
  • Speed at launch
  • Position at launch

The most important piece of missing data is the ball’s spin at launch. This can potentially be estimated based upon the spin of the incoming pitch and the launch angle (smarter men than I will be required for this task). For the time being, I am proceeding as though a hit ball has no spin. This is an area for further improvement. (Other potential areas of improvement would be the inclusion of air density and wind data.)

Professor Alan Nathan has provided a set of spreadsheets useful to the calculation of a baseball’s flight path based upon the data we have. I have based my efforts upon these spreadsheets (and am especially indebted to him for help in understanding some of the particulars).

As a little taste, here’s a look at DER for a ball in play (in other words, home runs excluded) based upon hang time:


The smallest time in the air looks like it’s largely bunt attempts. A little longer time is mostly for ground balls. Then we get to fly balls. Past a certain point, the longer a ball stays in the air, the more likely it’s getting caught.

There is of course a lot more we can do with this data, and a lot of improvements that can be made to how the data is derived from Hit F/X. This hopefully at least whets your appetite.

For those interested, you can download the source code used to calculate hang time here. In order for it to work you need:

Go ahead and leave a comment or drop me a line if you have any questions or helpful suggestions regarding the Python code.

UPDATE: Professor Nathan, from a comment at Tango’s blog:

Colin: I am not sure exactly how you did your calculation, but I am pretty sure that neglecting the spin is not a very good approximation. I just did a quickee calculation of a typical home run trajectory (100 mph, 29 deg). Without spin, the hang time is 3.9 sec. With 2000 rpm backspin, it is 5.4 sec. One thing I have done is used at hitf/x data combined with Greg R’s hittracker data for home runs. What I can do is compare the measured hang time (by Greg) with the hang time expected in the absence of any aerodynamic effects of lift and drag. What I find is that the actual hang time is longer (as you would expect) by an average of 20% (sometimes as much as 40%, sometimes as low as 0%).

For a line drive type of hit, the hang time is even more senstive to the spin (at least, percentage-wise). E.g., a line drive hit 3 ft off the ground at 0-deg has a hang time of 0.44 and 0.74 with 0 and 2000 rpm of backspin, respectively.

Getting the spin is important to getting the trajectory (and therefore the hang time). Hitf/x does not get us the spin. Unfortunate, but true.

I modified the code base to include the effects of backspin at 2000 rpm, and I think my results line up with his as far as the 20% figure goes. I can’t tell you which is more reliable, or even if either set of estimates is more useful than what we currently have for air balls. (Although I think that it is, but my thinking is far from proof.)

MLB’s Diversity Fellowship Is a Step in the Right Direction
It is not a perfect program, but it certainly counts as progress.

For those who want to see the data, you can. The first column is the id as per the provided table from Sportsvision,the next two columns are distance and time without spin, and two columns that follow are distance and time computed with spin.

Print This Post

Comments are closed.