Heads up: All models on this page are in their early stages and should be considered placeholders. The underlying methodology is still being refined — take the specific numbers with a grain of salt.
What powers the models
Every grade starts with Statcast pitch tracking data — the same system that measures velocity, spin, and movement for every MLB pitch. Features are engineered to keep command, stuff, and context cleanly separated across models.
- Velocity (effective speed, plate speed)
- Movement (horizontal break, induced vertical break, total break)
- Spin (rate, axis, efficiency, active spin)
- Release (extension, position, arm slot)
- Deception (approach angle, tunnel metrics, VAA)
- Plate crossing position (horizontal and vertical)
- Zone-relative placement
- Arm-plane coordinates (along arm, across arm)
- Against-break location (how far the pitch fought its spin)
- Balls and strikes in the count
- Two-strike indicator
- Three-ball indicator
- Inning context (decomposed)
- How many times the batter has seen this pitch type
- Tunnel rotation from the fastball
- Axis deviation from expected spin
- Fastball movement spread (consistency)
- Break x location interaction
- Pitch type usage distribution
- Velocity separation between pitches
- Movement spread across the arsenal
- Tunnel contrast between offerings
Statcast provides pitch-level tracking (velocity, spin, movement, location) for every MLB pitch since 2015. FanGraphs provides season-level context (ERA, FIP, K%, BB%) for validation and projections.
A slider to a right-handed batter is a fundamentally different pitch than a slider to a lefty. Separate models let each learn cleaner surfaces without cross-contamination from different pitch physics.
Location+ sees only location and count. Stuff+ sees only physics. This isn't a limitation — it's the design. By keeping inputs separated, each model produces a clean, interpretable signal. Pitching+ then combines everything for the full picture.
