Armside

← Methods

xSLG / xSLG

Batter

Expected slugging: Savant's per-batted-ball estimate divided by at-bats, excluding at-bats whose batted ball carries no estimate. See runbook section 22.

Agreement with Savant

Checked nightly. Agreement tolerance: ±0.

Pitcher

Expected slugging against: Savant's per-batted-ball estimate divided by at-bats against, excluding at-bats whose batted ball carries no estimate. See runbook section 22.

Agreement with Savant

Checked nightly. Agreement tolerance: ±0.

Shown for: batter and pitcher.

Formula

COALESCE(sum(xslg_num), 0) / NULLIF(sum(ab) - sum((ab = 1 AND bip = 1 AND xba_num IS NULL)::int), 0) — Savant's per-batted-ball slugging estimate averaged over at-bats, excluding at-bats whose batted ball carries no estimate. The subtracted term keys off xba_num for both rates: xba_num and xslg_num are null on exactly the same at-bats.

Inputs

Era caveats

Untracked contact leaves the denominator

Savant excludes batted balls it could not track rather than imputing them, and matching that is what closed the residual. The exclusion reaches the three expected stats by two different routes: xBA and xSLG subtract at aggregation time — at-bats minus at-bats whose batted ball carries no estimate — while xwOBA never counts them at all, because a plate appearance with no estimate never enters xwoba_den when its fact row is built. (runbook §10)

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