Product / Model Cards
Model cards Catching · Defense · Contract Studio

Catcher Framing (Challenge Era)

Called strikes above expectation, valued by count, and re-measured for the ABS challenge system.

Supports: What a catcher’s glove is worth in 2027, now that hitters can challenge calls, for tenders, trades and projections. Refresh: Every build Open Catching

What it predicts

Runs saved by getting borderline pitches called strikes, per catcher-season.

Inputs

  • Every taken pitch 2021–26 (Statcast): location, zone height, count, batter and pitcher hand, pitch family, catcher
  • Each challenged pitch’s original umpire call (Savant ABS data, 2026)
  • Savant blocking, throwing and failed-challenge costs for the Catching page’s total

Method

  • Expected strike probability from a gradient-boosted classifier per season; framing = (called strike − expected) × the run value of a strike over a ball in that count
  • Shrunk with empirical-Bayes ballast from the spread across catchers vs. the noise of each called pitch
  • 2026 measured twice: on final calls (what counts) and on the umpires’ original calls, which splits the drop between umpires and overturned challenges; the split is reported on variances, with each season’s noise estimated from the ballast
  • Catching total = final-call framing + blocking + throwing + the cost of failed challenges vs. average: a challenge the catcher won is already a called strike, so it is counted once
  • Projections re-value pre-2026 framing at the challenge-era rate (the 2026 spread over the 2024–25 spread)

How well it works

Computed by the pipeline from the data on this site

Agreement with the public measures (catchers with 2,000+ called pitches)
Savant 2023: r = 0.97 · 2024: r = 0.97 · 2025: r = 0.98 · 2026: r = 0.92 FanGraphs 2021: 0.85 · 2022: 0.94 · 2023: 0.95 · 2024: 0.94 · 2025: 0.93 · 2026: 0.92
Year-to-year repeatability (framing per pitch, same catcher)
2021→2022 r = 0.50, slope 0.502022→2023 r = 0.58, slope 0.632023→2024 r = 0.66, slope 0.632024→2025 r = 0.67, slope 0.652025→2026 r = 0.46, slope 0.34
The challenge era (2026)
Spread among regular catchers 8.2 → 4.7 runs (57%); on the umpires’ original calls 5.4 Measured on variances, so 83% of the drop is umpires calling a tighter zone, and the rest is challenges reversing calls. Projections re-value pre-2026 framing at 57%.
2026 catcher projections: framing as published, re-valued, and dropped
RMSE 1.139 as published → 1.096 re-valued; 1.082 with pre-2026 framing dropped (WAR, 98 catchers) Dropping pre-2026 framing scored best on this in-sample test, by 0.014 WAR. We keep 57% because 2026 itself measured framing at 57% of its old spread, not at zero. The re-value rate comes from 2026 itself, so this checks consistency; 2027 is the first blind test.

Data: every taken pitch 2021–26 (Statcast); Savant and FanGraphs framing for the agreement check; 2026 ABS challenges (Baseball Savant).

What it can't see

  • One season of the challenge era; the rate will be re-measured every year.
  • The 2026 zone was redefined (fixed to each batter), so part of the drop credited to umpires may be the zone itself.
  • Umpire identity isn’t in the public data, so zone differences by umpire are noise here.
  • Game-calling and pitcher comfort aren’t measurable from public data.
  • The Winter Plan values catchers through FanGraphs WAR, whose catcher defense uses FanGraphs framing, not this model.

How we'd measure impact

  • Catcher projection error in 2027 (the first blind test of the re-valuation)
Keystone is an independent portfolio project. It is not affiliated with Major League Baseball or any club. Data: MLB Stats API, Baseball Savant, FanGraphs. Used under their terms for individual, non-commercial use.