Armside

← Methods

Zone Seen% / Zone%

Batter

Share of zone-tracked pitches seen that were inside the strike zone (Savant zones 1-9). Zone is Savant's discrete zone column, not a geometric test. Not comparable across the 2026 ABS boundary, where plate position was re-measured.

Agreement with Savant

Checked nightly. Agreement tolerance: ±0.

Pitcher

Share of zone-tracked pitches thrown that were inside the strike zone (Savant zones 1-9). Zone is Savant's discrete zone column, not a geometric test. Not comparable across the 2026 ABS boundary, where plate position was re-measured.

Agreement with Savant

Checked nightly. Agreement tolerance: ±0.

Shown for: batter and pitcher.

Formula

sum(in_zone)::real / NULLIF(sum(in_zone) + sum(out_zone), 0) — in-zone pitches over zone-tracked pitches only (zones 1-9 over 1-9 plus 11-14), not over every pitch seen.

Inputs

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