Chase% / Chase%
Batter
Swings at pitches outside the strike zone divided by pitches outside the zone (Savant zones 11-14), intentional balls and pitchouts included. Untracked pitches are in neither half. Rolling values cover completed plate appearances only.
Agreement with Savant
Checked nightly. Agreement tolerance: ±0.
Pitcher
Swings induced at pitches outside the strike zone divided by pitches thrown outside the zone (Savant zones 11-14), intentional balls and pitchouts included. Untracked pitches are in neither half. Rolling values cover completed plate appearances only.
Agreement with Savant
Checked nightly. Agreement tolerance: ±0.
Shown for: batter and pitcher.
Formula
sum(oz_swings)::real / NULLIF(sum(out_zone), 0) — swings at pitches outside the strike zone (Savant zones 11-14) over pitches outside the zone, intentional balls and pitchouts included.
Inputs
pitches.zonepitches.descriptionplate_appearances.oz_swingsplate_appearances.out_zone
Era caveats
The strike zone changed in 2026
sz_top drops from 3.435 to 3.215 with the automated ball-strike system, and migration 001 flags the rows with abs_era. Zone-defined rates are measured against a zone that changed, so comparing 2026 with an earlier season measures the rule change as much as the player. Parity is unaffected: the comparison is per-season against a Savant who has the same boundary. (runbook §52)
Three tracking systems across the seasons shown
Rows carry a tracking_era of trackman, hawkeye or hawkeye_bat (migration 001). The systems differ in what they measure and how precisely, so long spans cross a measurement boundary as well as a rule one.
Version history
- 2026-09-02 — Added with the pitch-owner spine. Zone is Savant's discrete zone column, never geometry — reconstructing it from plate position matches only 12-23 of 673 validation-sample batters. (runbook §52)