Command PostJuly 26, 2007
Not an Article about Pitching at Altitude
By Joe P. Sheehan

This entry was supposed to be about how pitches moved and behaved at different altitudes. I briefly wrote about differences in pitch movement for a Weekend Blog in May and I was planning to revisit the topic when there were more stadiums supplying the data. After the All-Star break, several new stadiums went on-line with the pitch f/x system, including Chase Field in Arizona, the stadium with the second highest elevation in baseball, and I thought I was in business. I examined how pitches moved at Chase Field (or Turner Field, the third highest stadium in baseball) compared with how they moved at parks closes to sea level, such as Petco, Safeco or McAfee, but I found virtually no changes in how pitches moved at the different altitudes. This didn't seem right intuitively and it wasn't.

To make a long story short, I had forgotten to account for the distance traveled by the ball. has varied the distance they begin tracking the pitch, called y0, and although it appears to have recently stabilized around 50 feet, it began the season at 55 feet and after June 4th varied from 40-55 feet depending on the game. Needless to say, where the pitch is initially picked up is going to make a huge difference on the distance it breaks and after going back and looking at my results again, I didn't have enough pitchers who had the same y0 value at both a high-altitude and low-altitude park. That pretty much shot the column idea, so this post turned into a catch-all, with some updates and cool graphs that I haven't had a chance to post yet.


Despite not writing about differences due to altitude, I wanted to share two conflicting results I got when looking at altitude differences. The first result is about Rich Hill. Curveballs are thought to be very adversely affected by the high altitude at Coors Field and while Hill hasn't made a start in Colorado, he did start at Turner Field in Atlanta, which is roughly 945 feet above sea-level. Comparing Hill's start in Atlanta to a start he made at sea level in San Diego, his curveball broke 12 inches down in San Diego, but only 8 inches down in Atlanta. All of his pitch types dropped roughly 3 inches more in San Diego compared to Atlanta. It makes sense that balls thrown in the higher altitude would tend to "hang" more and not break as much. However, a pair of starts by Noah Lowry makes it seem like this isn't the case. Lowry has made a start in both Coors Field and Petco Park, but all of his pitches had a bigger drop at Coors. This is the opposite of what is expected and I have no idea what could be causing it, other than possibly something technical. I'd still like to revisit this topic in the future, but it might end up being more complicated than just waiting for more data.


This is a pitch chart for Justin Verlander's start on 6/23 at Atlanta. The chart is remarkable for several reasons and I've been trying to come up with an excuse to use it for more than a month. One thing you need to know to appreciate the graph is that the initial tracking point for the pitches in the game was 40 feet from home, and his fastball is still averaging 95 MPH. Even when the initial point is 55 feet from home, which is where my most pitches were tracked from, very few pitchers are able to throw 95 MPH. Another cool feature on the graph is the mess of points around 75-85 MPH. Verlander's change-up and curveball both travel the almost exactly same speed, but they move in completely opposite directions. Not only does the hitter need to recognize a speed difference between Verlander's pitches, but he then has to react very quickly to hit the fastball or try to identify which off speed pitch is coming.

Not many pitchers have a graph this "clean", with no pitches thrown in a 10 MPH range. (81-91 MPH) Josh Beckett has a similarly "clean" graph, making me think that could be a trait of power pitchers who consistently throw their fastball hard, instead of occasionally taking something off of it. This graph is a very obvious example of Verlander's pitches, but even looking at other starts he has made in pitch f/x equipped stadiums, the "clean" pattern remains the same.


Speaking of "clean" graphs, here's Clay Buchholz's pitch graph from the Futures Game. Buchholz is a top-prospect in the Red Sox system, and while 11 pitches aren't nearly enough to say for certain, it appears that Buchholz relies on vertical movement for his success and throws his fastball consistently fast. His fastball and changeup both have little horizontal movement in this graph, although again, this is based on 11 pitches. He also appears to throw both his change and curveball at the same speed, and similar to Verlander, the two pitches move in opposite directions.


This chart is for Franklin Morales of the Colorado Rockies system. Morales is another young, hard throwing pitcher, this time a left-hander with a big curve. His curve has similar vertical movement compared with Rich Hill's curve, although Hill gets more horizontal movement away from LHH. There's a huge difference between pitching in an exhibition game against other minor leaguers and pitching in the majors and I'm not saying that Morales is going to be as good as Hill or Buchholz will be as good as Verlander, only that some of their pitches look similar right now. I don't know how movement on pitches translates from the minors to the majors, if there could be something like MLEs for movement, but wild speculation about prospects is always fun.


rhhrhp.png rhhlhp.png

lhhrhp.png lhhlhp.png

These graphs show the Batting Average on Balls in Play (BABIP), broken up by batter/pitcher splits. I ran these in one of my first posts and had been updating them every couple of weeks since then. As a reminder, they are from the catcher's perspective, so the right hand side of the graph is inside for a LHH. For the most part, they've stayed pretty constant for the duration, but there are a couple of changes of note. In the RHH/RHP graph, the middle of the strike zone now has the highest BABIP, which wasn't the case the first time I showed the graphs. Another interesting note is the difference between the BABIP on high-inside and outside pitches. This is particularly noticeable for LHH against LHP, but all hitters have a higher BABIP on high-outside pitches compared with high-inside pitches. This connects with Perry Husband's invention of "Effective Velocity", a theory on hitting and pitching. He writes why certain pitches are tougher to hit than others, and if you click on his name and go to the bottom of that page, there is a graphic explaining it. He found that, everything else being equal, a fastball thrown high and inside looks 4 MPH faster than the same pitch thrown outside. The MPH difference isn't the only thing that goes into hitting a ball solidly, but it is interesting to think about. I'm not sure where he came up with the 4 MPH, but Husband's philosophy makes intuitive sense. In order to hit an inside pitch, the hitter needs to react quicker and meet the ball in front of the plate, leaving less reaction time, which serves the same purpose as an increase in MPH. It's interesting when two people arrive at similar conclusions using different processes.

Also, I haven't done this yet, but it would be interesting to see what these breakdowns look like using the strike-zone as it is actually called by umpires.


That's it for this entry. I promise that next time I have a good idea for an article, I'll make sure all the data are correct before I do the research and start writing.

Update: 11:20 AM- I fixed the BABIP charts that John mentions in his comment.



Nice work, as usual. Couple of comments:

1) Verlander has that nice clean plot because he does not throw a slider or cut fastball, which have speed and movement somewhere between fastball and curve. I think most pitchers have around 10 mph of difference between fastball and curve or changeup.

2) I love your BABIP charts, but you appear to have included the LHH charts twice and left out the righties.

3) The effective velocity stuff is interesting, I hadn't seen it before. If the high inside pitch really appears 4 mph faster, you might expect more swing-throughs on those pitches as well as lower BABIP. It would be interesting to see percentage of swinging strikes as a function of pitch location.

I find the idea fascinating that managers may want to align their rotation so that certain pitchers with certain strengths avoid ballparks that are detrimental to them. If it turns out that data like this shows conclusively something like "curveballs break x% less at stadium z", pitchers with a power curveball would seem to be prone to struggling.

Re: the BABIP graphs, is there anyway to determine from the data what % of BIP in each zone become groundballs, linedrives and flyballs?


Regarding Verlander, I was so happy with my theory about him and Beckett that I overlooked the obvious explanation about not throwing a slider. Peavy, who does throw a slider, has the same speed fastball as Peavy, but a much more cluttered graph.

This is somewhat unrelated, but Beckett's graph is pretty interesting too. The basic difference between him and Verlander is that Verlander's change is the same speed as his curve, while Beckett's change is distinctly faster than his curve. With Beckett, there are 3 distinct groups of pitches, all with unique velocities.

A commenter pointed me to the Effective Velocity stuff. It's interesting and while I couldn't find out how he got the values for each quadrent, like I said, they make sense intuitively.


Great stuff as usual.

I suspect the differences in pitching break are a result of them being just that....different days. My son is a High School pitcher and there are days when his breaking pitch is working and others when it is not. (more break) Although I do not see MLB pitchers every day, I have seen days when Derek Low's sinker was breaking much more than other days. I think this is just the nature of pitching. So I imagine to get the real answer you would have to look a a statistically significant sample of either the same pitcher at two ball parks (difficult) or a large number of pitchers at two ball parks and compare the data. My intuition tells me that the day-to-day difference in a pitcher may be greater than the differences in ball parks you are trying to measure. I think the humidor in Colorado may be unmasking the real differences from park to park also.

Either way there is more stuff here to analyze and write about.

BTW we look over your charts quite often and mess around with different grips and arm slots to try to understand and duplicate pitches from various pitchers you analyze. Your stuff with a reputable pitching coach has the potential of making an interesting book.

Wow, this is a great article. I think that you have a large enough sample, but there are too many variables to take into consideration. I'm not sure if humidity, wind, temp, and variances in delivery for a pitcher on a given day can all be accounted for. I'm sure there is a difference pitching at altitude, but I'm not sure there's a 4 inch or 33% difference due to altitude. I suspect the value to be more around 5%. Keep up the good work though, this is quite interesting.


The last post reminded me of something that I have previously read in Dr. Adair's book "The Physics of Baseball" (great read even for the non-technical person) and another ball I did not go back and verify his number but I believe in his book he indicates around a 10% variance in ball flight from Colorado to Sea Level (approx 5,000') I do know from experience that the differences in ball flight from California sea level to Colorado approximately a 10-15% difference in ball distance from the same club. I am not sure how this might correlate to pitch break but another another data point to consider.

What about the humidor? Its certainly done its job for the CO pitching staff the last two years, wouldn't it explain why Lowry, like the rest of the CO staff, is not longer so aversely effected by the elevation?

I'm pumped for when Colorado gets the system online, and hopefully it happens soon. The NL West has the two highest parks in baseball and two parks at sea level in San Fran and San Diego, so there should be a good sized sample of pitchers from both high and low altitude stadiums by the end of the season.

Finding how much variation exists day-to-day for a pitcher is also very important. When I looked at Halladay's different starts, I didn't find much difference between the starts, but a more in-depth look is probably warrented. Clearly there are days when pitchers appear to have better stuff than others.

I'm not sure how much the humidor would influence the break values of a ball. My limited knowledge on the humidor is that it primarily impacts the coefficient of restitution (COR) of a ball, by adding moisture back to the ball that would othewise evaporate due to the altitude. The COR measures how the ball reacts to being hit by a bat, and the humidor lowers the COR of the ball, either to MLB/Rawlings specs. (as the Rockies claim) or below them (as critics claim). There might be a side-effect that does something with the break values, but I think the problem with pitches not breaking at altitude has to do with the air density, not the ball. I could be wrong about this so if someone knows more, let me know.

Using my analysis technique, the Magnus force is determined, independent of the initial tracking location. That should allow comparison among all data sets. I don't work with the values of "break" or pfx_x, etc. provided in the .xml file. Instead I use the 9-parameter fit to the entire trajectory to derive quantities such as the Magnus force (the force responsible for the break). For an example of such an analysis, see

Re break and humidity:

The break should be directly proportional to the air density. Dry air (such as at Coors) is more dense than humid air (a nitrogen molecule is more massive than a water molecule). I would expect that to be a very small effect compared to the altitude effect, where the air density in Denver is about 80% of that at sea level. That should directly show up in the size of the Magnus force (i.e., only 80%) and in the break of the pitch. But be careful: if you use the "break" number in the .xml file, that number is largely dominated by gravity. Better to use the pfx_x and pfx_z numbers, which is the break due just to the Magnus force.

I am working on a brief article about the difference between pfx_x,pfx_z and "break". Others have written about this also. I will give some specific numerical examples to show the difference.