Expected Outs & Defense Map
The chance an average defense turns each ball in play into an out; a team’s outs above that, mapped by zone.
What it predicts
Whether a ball in play became an out (2021–26, no home runs or bunts).
Inputs
- Every ball in play: exit velocity, launch angle, spray direction, distance (Statcast)
- Batter sprint speed (Savant)
- Ballpark (walls and outfield size differ), measured on visiting teams’ balls
- Savant OAA by position, split among each fielder’s clubs by balls in play, to check the team measure
- Infield and outfield alignment (Statcast labels), for the positioning analysis
Method
- Gradient-boosted classifier per season, scored out of fold (five folds by game: no ball is predicted by a model that saw its game); outs above expected = out − expected
- The park is not a model feature. Each park × zone term comes from visiting teams’ balls only (each visitor’s own zone average removed), pooled over three seasons at the same ballpark and shrunk by how much park terms repeat from year to year. Walls show up in the deep outfield; the infield dirt carries almost no park term. The first version fitted the park on the same balls, so it absorbed part of the home team’s defense
- Team totals are checked every build against Savant’s OAA as each team played, 2023–26 (the build fails if the agreement across the 30 clubs drops below r = .55; Team Defense shows the live figures). Infield liners and pop-ups are reported apart: that part doesn’t track Savant and barely repeats from one season to the next
- Each season × zone is centered on the league after the park term, with infield liners and pop-ups centered on their own (the model has no season term, and the park terms don’t sum to zero), so 0 is the average club that season on the whole, on grounders and flies, and on infield liners and pop-ups; the build fails if any of them strays from zero
- Zones: infield split between the four infielders’ average spots; outfield thirds, shallow vs. deep. Runs per zone use the league’s run value of an out vs. a hit there
- Zone rating per fielder: every ball hit to his zone while he played there (Savant OAA, which knows each fielder’s starting spot, stays the individual grade)
- Positioning: out rate above expected on ground balls by infield alignment and by how much the hitter pulls, with standard errors
How well it works
Computed by the pipeline from the data on this site
- Calibration (Brier score; lower is better)
- 2021 0.105 vs. 0.211 (113,432 balls)2022 0.106 vs. 0.210 (117,039 balls)2023 0.100 vs. 0.212 (116,546 balls)2024 0.099 vs. 0.210 (116,849 balls)2025 0.099 vs. 0.210 (117,182 balls)2026 0.097 vs. 0.209 (116,554 balls)
- Zone rating vs. Savant OAA, by position (r)
- 2023 1B 0.62 · 2B 0.35 · 3B 0.41 · SS 0.36 · LF 0.52 · CF 0.47 · RF 0.722024 1B 0.66 · 2B 0.58 · 3B 0.66 · SS 0.23 · LF 0.60 · CF 0.74 · RF 0.762025 1B 0.79 · 2B 0.59 · 3B 0.70 · SS 0.34 · LF 0.62 · CF 0.71 · RF 0.822026 1B 0.63 · 2B 0.46 · 3B 0.35 · SS 0.08 · LF 0.53 · CF 0.68 · RF 0.59 Strong in the outfield, weak at shortstop. Individual grades on this site use Savant OAA; the zone model maps where a team leaks.
- Team defense year to year (r, 30 teams)
- 2021→2022 0.362022→2023 0.362023→2024 0.592024→2025 0.372025→2026 0.54
Data: every Statcast ball in play 2021–26 (697,602); Savant OAA by position, 2023–26.
What it can't see
- Positioning is part of the measure; it can’t separate a fielder’s range from where the staff put him.
- Fielder attribution by zone is rough at shortstop (he covers several).
- Alignment is chosen, so “shade vs. standard” mixes the effect with which hitters get shaded.
- Statcast has no ballpark field, so park changes follow the public schedule: the Athletics’ seasons in Sacramento (2025–26) and the Rays’ 2025 at Steinbrenner Field get their own park terms. Wall changes inside one park, and Toronto’s 2021 games in Dunedin and Buffalo, are pooled with the rest.
- Savant’s OAA as played leaves out fielders below its leaderboard minimum, so it is compared club against club, not against zero.
How we'd measure impact
- Pittsburgh’s team outs above expected next to Savant’s OAA as played, every season
- Third-base zone runs in 2027 after the fix (Winter Plan)