I want to start by saying I am not a data scientist by any means, pretty much everything I have learned in Python has been from 3 courses on Udemy and Googling. The terms in this post might sound confusing, but truly anyone can do this. I will try do my best to make the overly worded terms sound as simple as they are.
What is VAA?
VAA is the angle of descent of a pitch. If you want to think of it as the pitcher's "attack angle" you can, but don't overthink it. VAA's will be closer to 0 at the top of the zone, and more negative at the bottom of the zone. Here is a picture, where descent angle is the same as VAA.
*Picture courtesy of Alan Nathan's website: http://baseball.physics.illinois.edu/swing.html
Why Is VAA Important?
In future posts, I will evaluate how important VAA really is (or isn't). It is not a publicly available metric, but by taking what we are given through Statcast data, it can be figured out. I believe that VAA could be more important than Vertical Break. Think of two pitchers who have the exact same movement profile with identical Vertical Break, but they have a difference of 6 inches in their release height and extension. They will have different VAA’s. This could be valuable when evaluating pitch results in various parts of the zone, such as whiffs and barrels (or non-barrels). Being able to pair this with Blast Motion would be especially valuable because it could help determine optimal attack angles.
How I Did This
I started with a Trackman file that has 288 pitches in it. Ideally there would be more, but that is all I had. In order to determine if there was any relationship between different Trackman metrics (independent variables) and the Vertical Approach Angle (dependent variable), I created a scatter plot and found the correlation of each measurement with Vertical Approach Angle. I then removed any metrics that were uncorrelated. It’s also important to note that I only used Trackman metrics that are also available through public MLB Statcast data, because otherwise, we wouldn’t need to calculate VAA separately.
I found that I would need to use RelSpeed, RelHeight, Extension, PlateLocHeight, and pfxz from the Trackman data in order to determine VertApprAngle, all of which are publicly available. I then ran a multiple regression (one of the big words that sounds scary, but it’s not) that outputs correlation coefficients. An example of a correlation coefficient that you may be familiar with as a coach are Bauer Units. They tell us that for every additional gain in velocity, spin will increase by whatever the Bauer Units are. These are the coefficients for the Trackman metrics I mentioned.
Constant: -11.6236 (*not a coefficient)
RelSpeed: .0921
RelHeight: -1.0763
Extension: -.0244
PlateLocHeight: 1.0976
pfxz: .1777
Here is an example of how to calculate the VAA. You always start with the constant, and then add the coefficients multiplied by the actual numbers from that pitch. So for a single pitch where RelSpeed=93.59, RelHeight=5.45, Extension=4.69, PlateLocHeight=2.99, and pfxz= 4.95, here would be the equation:
VAA = -11.6236 + (.0921 * RelSpeed) - (1.0763 * RelHeight) - (.0244 * Extension) + (1.0976 * PlateLocHeight) + (.1777 * pfxz)
My VAA = -4.83 where Trackman’s VAA=-4.87. I’ll take it. There are a ton of questions to answer now that I have figured out how to calculate this.
Do you know how pfxz is calculated? I'm trying to find my own VAA using Rapsodo data and I don't think they measure pfxz. Is there any way to calculate VAA without pfxz? Thanks