Sweet Spot% / Sweet Spot%
Batter
Share of batted balls with a measured launch angle between 8 and 32 degrees, bunts excluded. Not parity-checked against Savant: launch angles are whole degrees at source, so the two sides disagree on boundary balls.
Agreement with Savant
Recorded, but not parity-enforced. This column is stored and shown; no agreement with Savant is claimed for it.
Pitcher
Share of batted balls allowed with a measured launch angle between 8 and 32 degrees, bunts excluded. Not parity-checked against Savant: launch angles are whole degrees at source, so the two sides disagree on boundary balls.
Agreement with Savant
Recorded, but not parity-enforced. This column is stored and shown; no agreement with Savant is claimed for it.
Shown for: batter and pitcher.
Formula
sum(sweetspot_n)::real / NULLIF(sum(la_bbe), 0) — non-bunt batted balls launched between 8 and 32 degrees, over the same la_bbe denominator avg_la uses.
Inputs
pitches.launch_angleplate_appearances.sweetspot_nplate_appearances.la_bbe
Era caveats
Bunts are excluded
Every exit-velocity figure excludes bunts, matching Savant's hfFlag=is..bunt search flag. That flag reproduces Savant's published exit velocity exactly; velocity cutoffs and the sac_bunt column do not. (runbook §16)
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-08-31 — Added with the sweet-spot and distance slice. Ruled unenforceable at 1/256: launch_angle is whole-degree at the source, so the [8,32] boundary and two alternative boundary treatments return byte-identical counts — there is no fractional value for a boundary choice to disagree over. (runbook §52)