Charting Consistency in Pitch Movement

As I dive deeper into data, the one thing I become more convinced of is that consistency is the most important thing for a pitcher. If you can get your delivery to be consistent, you’re going to be able to reliable put the ball where you want to. The most important thing in pitching is throwing strikes, and consistency makes that easier.

So, Sean and I had a bullpen with one of our guys this week. I got PitchLogic data on his pitches and I pushed it into the Python visualization code I’ve been working on. Among the charts it creates is one for movement by pitch type. On that chart, it creates a box that’s where about half the pitches would be if he threw with this consistency. So, for some players and some pitch types, it can be very large and for others, very small.

For these four-seam fastballs, that box is about 4 square inches. You can see most of his pitches are near it and a third of them are in it.

If Player One can get all of his four-seam fastballs to move 15 to 17.5 inches vertically and around 8 to 9 inches horizontally, he’s going to be consistently hitting his aim point.

Our goal isn’t for all of our pitches to put their pitches in his box, but, rather, that he consistently throws his four-seams this way. If he does, he can change his aim point and dominate hitters.

Every player is going to have a different box. Here’s a younger player whose box is about 10 square inches. As he gets more consistent, there will be fewer outliers and his box will get smaller (and he’ll throw more strikes).

I’ve only recently come up with this box – so recent that I don’t even have a name for it. It’s from the inter-quartile range of the movement data, so I could call it the IQR box, but that would get everyone asking why it’s called that instead of what it means and how it’s used. Maybe I could call it the MCB – Movement Consistency Box?

The PitchLogic ball auto-tags the pitches by type. I love this because it points out when players are not doing what they intend (throwing a cutter when they want to throw a fastball) or when they are mislabeling their pitches (throwing a cutter but calling it a fastball). The unintended variety tend to be younger players, while the mislabeling tends to come from high school players.

For our bullpen the other night, four pitches go auto-tagged as cutters. All four would have been down and to the left of the MCB for his four-seam fastballs. So, these wouldn’t have gone where he thought they would go. He also lost velocity on each of them. So, that high, hard inside pitch ends up slightly slower and out over the plate. Yikes!

Is it due to incorrect grip? Or a bad release? Is it lack of pronation? I honestly don’t know, but I know it’s something we’ll investigate and work on. I also need to check location on these pitches – time to get back to the code!


I’m not including any of the visualization posts in the Coaching Courses because they don’t really fit. They’re a bit esoteric and not really what you need to start coaching. It’s fascinating stuff, though.

Visualizing Pitching Data

I’ve been dumping my PitchLogic data into spreadsheets and manipulating it in HCL Notes databases, but I wanted to see some ‘visualizations’ to evaluate the data a little better. A picture is worth a thousand words, right? Or it “a pitcher is worth a thousand words”?

Within the PitchLogic app, you can get the vertical and horizontal movement for a single session. When you go look at your session reports, you see a little more. So, I’d used ChatGPT to help me create some visualizations from my downloaded data. Here’s a sample, showing those movement profiles by pitch type. This is only from about 50 pitches, so it looks interesting, but is a little less-than-actionable.

As you know from Coaching 203: Bullpen Pitch-Tracking Sheet, I’m collecting location data on my bullpen tracking sheets, so I decided to create some charts and graphs using that.

Now, that gives a very good visual impression of where the pitches are going. Fortunately for us, this is our hardest throwing pitcher and we’re going to have him for two more years. One of the things that pops out about this is that he’s missing high (1-2-3) more than he’s missing low (7-8-9) with 34% of his pitches being high and just 6% being low. Oddly, in this sample, nothing inside or outside at strike zone height. That could be just because it’s a small sample or might point out bad data collection (we might be categorizing those inside and outside pitches as high or low as well.)

The good thing is that I can also break this down into different pies for each pitch type, but the lack of data doesn’t make that real useful right now. When you have it, it can really bring home what the quality of the pitches really is.

I learned something new as well. I might have seen a boxplot a few times, but I never understood them. This uses statistical methods to place the velocity of the various pitches he’s thrown. Now, you must keep in mind that these are to auto-tagged pitch types. For any of you who are coaching young teens, you’re going to notice that how the PitchLogic ball tags the pitches is not always what the player intended to throw.

I’ve been telling other coaches that one of the things we need to work on with youth players is “grip discipline”. Most of them grow up with no instruction in how to grip the ball at all. Sometimes, they get instruction in how their fingers ought to be aligned, but rarely do they get instruction in how to line up the laces and their fingers the same every time. When I first started coaching Little League, I sent a Dad out to the mound to talk to our pitcher. He came back and said, “He was holding the ball with three fingers!” That was when I first realized that a lot of Dads and assistant coaches also need coaching and instruction.

Technology, and the PitchLogic ball in particular, give us a lot of numbers. As any old baseball guy will tell you, the only number that actually matters is balls and strikes. I don’t focus on how to improve those myriad numbers, like a player’s spin rate or velocity. The goal is consistency since moving the ball in a consistent way makes it easier to throw strikes. So, we look at how consistent is the arm slot, or whether the release makes it a cutter instead of a fastball. Then, we use the numbers as a gauge for ‘how consistent’ the pitches are.

How can you do this?

If you have a PitchLogic ball, you can get your data. Just go to the “hamburger” down in the lower left in portrait mode or upper right in landscape mode and then click on “Get CSV Data”. This will let you pick the dates for which you want data and then email you a file. You can drop it into ChatGPT and start asking it to make you some visualizations.

I plan on writing about the technical details on my software development blog, so for those who love that stuff, revisit here in a few days for a link!

Long toss distances

As I try to improve my own velocity for pitching and coach up my players, I continually go back to long toss as one of the great methods for improving arm strength. I always hunt down this tweet for the handy guide to distance for long toss.

On the practice field, I try to visualize this, but am usually wrong. So, I wanted to work out what these distances would be in quick field dimension terms.

We play on 50/70 diamonds, so home to second is just short of 100 feet. That’s how far an EIGHT YEAR OLD should use for long toss (with above average arm strength). So, on my team of 12 and 13 year olds, every player ought to easily throw unencumbered from home to second. The 12 year olds should be able to back off 50 feet into shallow center, which would be the same distance from second as the rubber on the mound is. If you’re using the first or third base line instead, go down the line a little further than the distance from home to the bag. At the end of the spring, my 13 year olds should be able to throw long toss from nearly three times the distance between bases. Throwing from the fence to the infield fringe is around 200 feet, so that will be the goal….

I haven’t paid serious attention to other teams throwing programs before games, but mine sure as heck isn’t throwing this far yet. At least I am starting to understand the scope….