At Triple-A and Low-A (Florida parks), MLB deploys Hawk-Eye Statcast sensors that capture true three-dimensional pitch coordinates — the same technology used at the major league level. Zone classifications at these levels are high-confidence and directly comparable to Baseball Savant data.
At Double-A and High-A, pitch locations are manually entered by human stringers who plot each pitch on a screen as it crosses the plate. These coordinates are recorded as raw pixel values rather than normalized feet. Crucially, only the horizontal (x) axis is consistently captured — vertical (z) position is largely absent or unreliable at these levels. Zone classifications here are therefore based on horizontal position only.
In 2018, researcher Eli Ben-Porat published a study in The Hardball Times examining the accuracy of MiLB stringer data by comparing pitch locations recorded at each minor league level to the same pitchers documented locations at the MLB level. The R² values below represent how well the MiLB stringer data predicts true pitch location:
Z-Contact% is likely overstated. Pitches that are horizontally in the zone but vertically out — high fastballs, bounced breaking balls, pitches above the letters — get incorrectly classified as in-zone. These are generally easier pitches to make contact with, which inflates Z-Contact%.
O-Swing% is likely understated. Some pitches truly out-of-zone vertically get classified as in-zone, shrinking the out-of-zone pool and lowering O-Swing%.
Additionally, each stringer has their own viewing angle and natural offset. Without per-game normalization, horizontal zone boundaries may drift between games and parks, adding an estimated ±3–5 inches of horizontal error per pitch.
Stats unaffected: SwStr%, Swing%, K%, and BB% are calculated from umpire call codes only — not coordinates. These are exact at every level.
Applies to Double-A and High-A only. Triple-A and Low-A (FL) require no adjustment. High-A carries wider uncertainty than Double-A due to near-zero vertical signal at that level.
| Shown Z-Contact% | Est. True Range (AA) | Est. True Range (High-A) | Example |
|---|---|---|---|
| 90% | 81–86% | 75–86% | A player showing 90% Z-Con at AA likely makes true contact on 81–86% of zone swings |
| 85% | 76–81% | 70–81% | An 85% Z-Con at High-A could reflect anywhere from 70–81% true Z-Contact% |
| 80% | 71–76% | 65–76% | The uncertainty band widens at High-A — treat as a range, not a point estimate |
| 75% | 66–71% | 60–71% | At the lower end, a 75% showing at High-A may reflect a true Z-Con as low as 60% |
| Shown O-Swing% | Est. True Range (AA) | Est. True Range (High-A) | Example |
|---|---|---|---|
| 35% | 39–44% | 39–48% | A player showing 35% O-Swing at AA is likely chasing closer to 39–44% of true chase pitches |
| 30% | 34–39% | 34–43% | A 30% O-Swing at High-A may still reflect 34–43% true chase rate |
| 25% | 29–34% | 29–38% | The shown number is compressed downward — true chase rates are consistently higher |
These are modeled estimates, not empirically validated against true MiLB Hawk-Eye data. Individual park and stringer variation may cause results to fall outside these ranges.
Do not compare Z-Contact% or O-Swing% directly between levels. A player posting 85% Z-Contact% at Low-A faces fundamentally different pitching quality than one posting 85% at Triple-A. Rankings are most meaningful within the same level.
SwStr%, Swing%, K%, and BB% are more comparable across levels since they are exact at every level — but underlying pitch quality still differs significantly between Low-A and Triple-A.
SwStr%, Swing%, K%, and BB% are calculated directly from umpire call codes in the play-by-play data. Not affected by coordinate quality or zone classification in any way. Reliable and exact at all four levels.