A Historic Game for Home Runs

June 10, 2019

Yesterday’s Phillies/Diamondbacks game was historic — a combined 13 home runs were hit in the single game which is a MLB record. This raises several questions:

  1. Were these all legitimate home runs? That is, they were all hit at reasonable launch angles and launch velocities for home runs?
  2. Was there a ballpark effect contributing to this home run outburst? Perhaps weather conditions were helping flyballs go out in this particular game.

We’ll address the first question by using a model to predict home runs based on launch angle and exit velocity and checking the predicted home run probabilities for these 13 home runs.

Predictions using a GAM model

I start by fitting a generalized additive model to predict the probability of a home run using launch angle and launch velocity. I think it makes sense to estimate these probabilities relative to the 2019 season, so I use 2019 data (games through June 10) to estimate the GAM model.

Here is a basic graph that shows how the probability of a home run varies by the two variables. This is a shaded contour graph where the boundaries of the regions are at the values 0.1, 0.2, 0.3, …., 0.9. An optimal launch angle is about 28 degrees — with this angle one is pretty certain (with probability 0.9) that a batted ball with a 105 mph exit velocity will be a home run. If, instead the ball is hit at, say 35 degrees, it would take a harder hit ball to be certain of a home run.

Adding Information from the 13 Home Runs

Now that we have a handle of the launch angle/launch speed/home run relationship, let’s look at yesterday’s home runs. I add the launch angles and launch speeds for the 13 home runs, labeling each point with the initials of the player. (Note that three players each hit home runs, so I add a 1 and 2 to the initials for these players.)

There were several hard hit home runs, the 2nd one hit by Vargas and the 2nd hit by Escobar — both were hit over 105 mph. There were a number of home runs hit in the 100 – 105 mph range. Home runs hit by Avila, Hoskins, and Kingery (the first one) and Segura were all hit at launch speeds under 100 mph.

One surprising thing we learn from the graph is that several of these home runs were unlikely (based on launch angle and launch speed) to be home runs. Specifically, the ones hit by Hoskins and Segura each had a predicted home run probability under 10%.

Adding Spray Angle Information

We can learn more about these unlikely home runs by looking at their spray angles. I’ve redrawn the graph where the label is now the spray angle. To help understand these values, a spray angle of -45 degrees is along the left foul line, a spray angle of 45 degrees is on the right foul line, and a spray angle of 0 degrees is dead center.

We see that most of yesterday’s home runs were hit to left or right field. Segura’s unlikely home run was hit to left field at a spray angle of -42 degrees. In fact I see four home runs hit at extreme spray angles of -43, -42, 42, and 43. I suspect that there was an unusual fraction of home runs at these extreme spray angles.


What have we learned from this exercise?

  • Most of the home runs hit in yesterday’s Phillies-Diamondbacks game appear to be hit at reasonable values of launch angle and launch speeds.
  • There were several obvious cheap home runs, such as Segura’s 92 mph home run hit to extreme left field.
  • Were there more home runs in yesterday’s game than one would expected based on my GAM model? I compute the probability of a home run (using the GAM model) for all balls in play — when I sum these probabilities, I get 6.6 expected home runs. So, yes, since 6.6 is smaller than 13 it appears that there were a number of marginal home runs hit in yesterday’s game.
  • What is the explanation for the big difference between observed and expected home runs for this game? I think there are several plausible explanations such as the high number of home runs hit at extreme spray angles and the weather. To get a better understanding of these effects, we should look at more data which is more that I want to do for this particular post.