wOBA / wOBA
Batter
Weighted on-base average: each way of reaching base weighted by its run value in that season, over plate appearances less intentional walks, sacrifice bunts and catcher's interference. See runbook section 27 for where the weights come from.
Agreement with Savant
Checked nightly. Agreement tolerance: ±0.
Pitcher
Weighted on-base average against: each way of reaching base allowed, weighted by its run value in that season, over batters faced less intentional walks, sacrifice bunts and catcher's interference. See runbook section 27.
Agreement with Savant
Checked nightly. Agreement tolerance: ±0.
Shown for: batter and pitcher.
Formula
sum(woba_num) / NULLIF(sum(woba_den), 0) — each way of reaching base weighted by its own season's linear weight, over plate appearances less intentional walks, sacrifice bunts and catcher's interference (woba_den).
Inputs
plate_appearances.woba_numplate_appearances.woba_den
Era caveats
None recorded.
Version history
- 2026-08-19 — Added with the linear-weights slice: each season's own six weights, recovered by least squares from Savant's published leaderboard and stored per row (migration 011). woba_value, the column an obvious implementation reaches for, is a fixed lookup unchanged since 2015 and reproduces Savant's published wOBA in no season — nothing here reads it. (runbook §27)