Creating a Command+ Metric for the 2026 Prospect League
Author: Carter Light – Applied Statistics Major at Purdue University and CornBelters Analytics Intern
1. Introduction
As MLB front offices have adapted year after year to the analytical revolution sweeping through baseball, pitchers, and specifically their ability to generate strikeouts, have benefited the most. The average fastball velocity among pitchers in 2002 sat at 89.0 mph, whereas in 2025 the average fastball velocity rested at 94.0 mph, a 5.0 mph jump accompanied by increases in spin rate, horizontal and vertical movement, extension, and other pitch characteristics. All this is to say that MLB front offices and coaches have deemed a pitcher’s stuff his most valuable tool, and therefore countless hours of research have been devoted to finding new ways to improve stuff. However, this heavy focus on stuff has created a blind spot in pitching evaluation: the command of a pitcher’s pitches remains both under-researched and undervalued.
While modern pitching analytics have direct statistical measurements for stuff, command has remained a subjective evaluation based on the quality of a pitcher’s strikes and can sometimes be confused with a pitcher’s control. Curt Schilling described the distinction between control and command by stating, “Control is the ability to throw strikes, command is the ability to throw quality strikes” (Schilling, 2002). However, this raises a new question: what defines a quality pitch? A quality pitch is not simply a pitch that enters the strike zone, but instead a pitch that is located in an area that provides the pitcher with a strategic advantage while minimizing the batter’s chances for success. Therefore, rather than attempting to directly measure pitcher intent, this paper evaluates command through three measurable indicators of pitch execution: pitch-specific location consistency, edge-zone attack percentage, and zone percentage in hitter’s counts.
2. Data and Sample
The data used to create the Command+ metric comes from trackman data of over 107,000 pitches thrown over the 2026 Prospect League season. Each pitch has a corresponding plate location value, call made by the umpire (either strike or ball), whether the ball was swung at, if the swing made contact, along with many other metrics measuring the outcome of the single pitch. Each pitch has been assigned a pitch type, based on the velocity, spin rate, and movement profile of the pitch, by Normal CornBelters analytics intern Brady Goodman. The Prospect League has 20 teams, made up by 2 conferences, each conference containing 2 divisions, which each contain 5 teams. Please note that a minimum 5 pitch filter was applied universally for each of the three metrics. While the metric is calculated with sample size adjustments in mind, rate metrics tend to result in unusable outliers when the sample is below 5, as a pitcher could throw 4 hitter’s count pitches in the zone on 4 attempts and will result in a 100% rate, which will still be an unusable outlier even after the shrinkage. This will result in a small number of pitchers to be filtered out completely, but the majority of the dataset will still be present.
3. Metric Construction
Location Consistency
To begin we filter out all pitches that do not have either a PlateLocSide value or PlateLocHeight value, then also filter out all pitches that have a Low for PitchLocationConfidence. These filters ensure we have a remaining dataset of pitches that were confidently tracked and located. Next, we group by pitcher and pitch type, as a pitcher might command one pitch better than the other, resulting in a further filtered down dataset of pitcher pitch type combinations with at least 5 pitches. Then, for each pitch we compute its Euclidean distance from the average location for that pitch type, which basically means how far each pitch lands away from where the pitcher usually throws it. The raw metric is the mean of all distances calculated, where a smaller average distance means the pitcher clusters his pitches around his own target acting as a proxy for command, but is independent of whether or not that target is a good location.
Edge Attack Rate
For every pitch, we classify whether it’s in the rulebook zone, whether it’s in the heart box (a small rectangle lying inside the strike zone where balls are generally hit harder and more frequently), and its distance to the nearest zone boundary. The distance calculation then branches: if the pitch is inside the strike zone, the minimum distance to any of the three walls (side, top, bottom) is taken, if the pitch is outside the strike zone, the Euclidean distance from the nearest wall or corner is taken. Then, if the pitch’s distance from nearest wall/corner is within 0.25 ft and not inside the heart box, it is counted as an “edge” pitch. The raw metric is the share of a pitcher’s total pitches thrown in either the 0.25 feet edge of the inner strike zone, or the 0.25 feet boundary outside the strike zone.
Behind-in-Count Zone Rate
We filter down the dataset to pitches thrown in counts where the pitcher is behind either 1-0, 2-0, 2-1, 3-0, or 3-1. Each of these counts gives the hitter the leverage to sit on a pitch and not have to protect the plate, therefore increasing the value of command as the pitcher needs a strike to get back in the count. We also require pitchers to have at least 5 pitches in these counts, as behind-counts are naturally rarer than the full pitch sample and will result in more outliers. The raw metric is just zone rate restricted to the count-filtered subset.
Bayesian Mean Shrinkage
All three newly calculated raw metrics are then run through the same shrink metric function before anything else is done to them, as we want to remove low sample size noise before cumulating into a final metric. For each pitcher’s raw estimate, we calculate a sampling variance, how much that estimate would bounce around just from having a small sample, then compare it to the between-pitcher variance in the full population ( ). We then use the ratio to decide how much to pull each pitcher to a prior mean. For edge rate and behind-zone rate we just use the global mean, but for the location consistency metric we use pitch-type specific means, as the spread for a fastball will be different than a spread for a curveball. Pitchers with smaller sample sizes will get pulled much harder to the prior mean than a pitcher with a large sample size. Location consistency also does this shrinkage on the log scale, as spread is strictly positive and right-skewed, exponentiates back at the end, and each shrunk pitch spread is added together weighted by usage rate for each pitcher. The formula for the Bayesian mean shrinkage is shown below
Where is the pitcher’s raw estimate, is the league prior mean, is his pitch count, and shrinks noisy pitchers towards and leaves reliable ones alone
4. Creating the Composite
Once the three metrics are calculated and Bayesian mean shrunk, we combine them all into one unified dataset before standardizing each metric. Both Behind-in-count zone rate and Edge attack rate can be standardized normally, but location consistency is multiplied by -1 as the raw metric has a negative relationship between location spread and command, therefore the smaller the spread of a pitcher the better his command. We then tested the three newly standardized metrics for correlation between each other, in which we found that all three metrics shared positive moderate correlations with each other. What this means is that the hypothesis that these three metrics measure the same latent skill (command) is not proven incorrect, as a pitcher that performs well in one metric is more likely to perform well in the other two. The correlation only being moderate and not high means we avoid two or more metrics measuring the same thing and in turn being redundant for a cumulative metric.

These correlations lead me to choose PCA, or Principal Component Analysis, as the way to generate weights for each of the metrics before adding them together. PCA works best for models where the variables share variance, as the technique’s purpose is to find the linear combination of variables that explains the most shared variance in the dataset. For this project we used the first principal component, PC1, which is the single linear combination of Behind-in-count zone rate, Location consistency, and Edge attack rate that captures the most shared variance across the three. This shared variance is also described as the latent command skill we previously hypothesized the three metrics had in common.

The PCA output shows that PC1 explains 62.97% of total variance across all three standardized metrics, greater than both PC2 and PC3. For PC1, the loading for Behind-in-count zone rate is -0.569, -0.633 for Location consistency, and -0.525 for Edge attack rate. These weights are all similar in value, suggesting that no metric has an overwhelming impact on command, where Location consistency is slightly more correlated to command than the other two metrics. This follows traditional thinking: being able to consistently locate your pitches is a better sign of command than either Behind-in-count zone rate or edge rate. Next, we multiply each z-scored metric by its corresponding PC1 weight and add them together, before standardizing, then multiplying by 10, and finally adding to 100. This leaves us with a Command+ metric in which 100 is league average, and every 10 points deviated away, either positive or negative, results in one standard deviation away from average.
5. Validation
To validate that our PCA loadings weren’t influenced by a few outlier pitchers, we ran a nonparametric bootstrap with 1,000 resamples, redoing PCA on each resample and recording the PC1 loadings.

The results show little to no bias, 0.0054, 0.0041, and 0.0004 for Behind-in-count zone rate, Location consistency, and Edge attack rate respectively. The standard errors are also small, at 0.079 for behind-in-count zone rate, 0.035 for Location consistency, and 0.065 for edge attack rate. Once we validated the PCA results, we then want to test whether Command+ was repeatable over a full season rather than noise, so we split the season at June 27th and independently calculated all pitcher Command+ for both halves using the same PC1 loadings derived from the full season. Of the pitchers who met the minimum-pitch thresholds across the full season, 247 retained valid scores in both halves independently. The correlation between the first-half of season and second-half of season Command+ scores was 0.422, indicating a statistically significant and moderate relationship between a pitcher’s command in the first half of a season and the second half of the season. Using the Spearman-Brown prophecy formula, which corrects a half-season correlation to estimate the reliability of a full-season, we get a full season reliability of 0.594. Of the three metrics, location consistency showed the highest half-to-half correlation at 0.492, followed by behind-in-count zone rate at 0.197, with edge attack rate coming in last at 0.118. This seems like a glaring issue at first glance, the only moderately high half-season to half-season correlation is location consistency, whereas the two location based metrics have weak to very weak correlation. The main reason I decided to move on with the PCA loadings even after this finding is due to the nature of how these stats are calculated, where location consistency is measured on every single pitch thrown by a pitcher throughout a season, edge attack rate and behind-in-count zone rate are both counting stats that are heavily pulled by outlier outings, both positive and negative. While these two metrics are less consistent than location consistency, I still value them as command stats. Rate stats are going to have more variance than non-rate stats, but they measure a skill, nonetheless. For example: both slugging and average exit velocity measure the power of a batter, but you wouldn’t say slugging is useless due to it being a rate stat. Therefore, I will proceed with the z-scores weighted by the calculated PCA loadings.



Lastly, we want to check Command+’s correlation with popular counting stats that we know signify a pitcher’s ability, mainly his walk rate, called strike plus whiff rate, and whiff rate.



Command+ showed a moderately strong negative statistically significant relationship with walk rate at -0.556, a positive statistically significant relationship with CSW% at 0.268, and effectively no relationship with whiff rate at -0.055. These results make sense with our beliefs on what command truly measures, as a poor command pitcher will walk many more batters than a pitcher with good command. CSW% having a positive relationship with Command+ also makes sense, as the stat relies heavily on pitch location, and is less strong than walk rate due to noise such as umpire zone or catcher framing effects. Whiff rate having no correlation with Command+ also makes sense, as whiffs are primarily driven by velocity, movement, pitch tunneling, not location. A pitcher could throw a perfectly placed fastball, but if it is slow and doesn’t move much it won’t generate any whiffs.
6. Application
Beyond validating Command+ statistically, a central goal of this project was to make the metric usable in a scouting or coaching workflow, not just for a research paper. The final component of this project is an interactive Shiny application that displays Command+ and its three underlying components for every pitcher in the dataset. We wanted to have three separate tabs for the app: an overall leaderboard to see which pitchers perform the best or worst on the metric, a player radar chart to see why a certain player performs better or worse in Command+ based on his underlying metrics, and an overall pitcher dashboard with all metrics used as well as percentiles for each metric to make it easier to filter down the dataset and find pitchers that fit a specific set of conditions. Each page has several filters or menus to use and browse through, and the metrics are color coded to help potential users more easily understand the metrics.



7. Limitations
The first and most obvious limitation with this project is the sample size: a model built off of a 56 game collegiate summer league with 100,000 pitches pales in comparison to the years of data MLB front offices work with. This results in more noise and random outcomes that are usually filtered out by large sample sizes. For example, the Spearman-Brown correlation from earlier was only at 0.594, when at the MLB level that year-to-year correlation would sit between 0.8 and 0.9. This means the Command+ scores you see from my project need to be taken with a grain of salt, even after Bayesian mean shrunk. In that same thought of sample size, the 5 pitch filter we set as a minimum threshold is also a limitation, but a limitation chosen by me after dealing with low sample size pitchers ruining the metric.
The Command+ metric was also constructed without the influence of catcher glove positioning, pitch-type mix, or sequencing. This results in pitchers who could have great command over one pitch but not the others having a lower Command+ score than expected. The metric also heavily favors fastball heavy pitchers over breaking ball heavy pitchers, as fastballs are notoriously easier to locate than breaking balls so a pitcher who throws a high amount of breaking balls with good command may score lower on Command+ than a pitcher who throws a high amount of fastballs with mediocre command.
The PCA loadings were also only derived from and validated against this specific sample. There is no guarantee the three metrics would load similarly if refit on a different league or season. The validation is against three concurrent metrics, not predictive. Command+ and these outcomes are all computed from the same pitches this season, rather than future or split half seasons. There is no comparison against a human-generated benchmark, such as a scout’s command grade on a pitcher, which would be of great help if the metric is eventually meant to be used by scouts and coaches.
8. Conclusion and Takeaways
In conclusion, I am very proud of my Command+ model and app that I created. I wanted to do something with pitcher command since the first week of my internship but struggled for a while due to the lack of catcher glove position tracking. I still believe command as a skill is undervalued and MLB front offices should begin to broaden their focus from just pitcher stuff, to stuff and command. There are limitations with this project, with the main few being sample size and pitch specific command, both of which can be solved with a larger sample size to work with. While the goal for this project was to create a metric that both evaluates a pitcher’s command while also being usable by scouts and coaches, I would recommend not fully evaluating a pitcher’s command off the stat alone. The stat works best with added context and as a pitcher location skill, rather than a straight up command grade.
If given the chance and a larger dataset, I would go through and format the model on a pitch type basis, in the same method used for most Stuff+ models. That way you could more easily tell if a pitcher has overall bad command, or if specific pitches need to be worked on rather than others. This would provide a significant advantage for the project to be used by coaches and scouts. I would also like to get previous seasons’ Trackman data to see if a player who has played in multiple seasons has increased in Command+ over the years, indicating that the metric is a skill that can increase with time or training.
Overall, I am incredibly grateful to the Normal CornBelters and Jarrett Rodgers for the opportunity to work with the trackman pitch data, and alongside such talented analytics interns. This project really helped me grow as an analyst, specifically in my data wrangling and visualization skills. I would also like to give special thanks to the other analytics interns who made this summer as enjoyable as it was: Jack Hughes, Michael Baker, Connor Courtright, Brady Goodman, Jonah Holfeld, Kendall Pilner, and Stacey Fitzsimmons.
9. Sources
- Baseball Almanac. (n.d.). Command. https://www.baseball-almanac.com/dictionary-term.php?term=command
- Baseball Scouter. (n.d.). Command vs. control: Understanding pitching skills. https://baseballscouter.com/command-vs-control-pitching-skills/
- Code: https://github.com/carterlight/Command-PL-2026
- App Website: https://carterlight.shinyapps.io/commandplusapp/