Skip to main content
Read-only snapshot: model data as of 2026-07-16; paper desk record through 2026-10-22. No live data; paper units only.
CourtVision
Ask Scout

Findings

Findings

When the leaderboard regresses to the mean

A regularized estimate, not a skill ranking. Empirical-Bayes shrinkage moves raw MLB rates toward their group mean, and the shrunk table depends on the fitted prior.

no packet verdict (descriptive exhibit)n = 113 catcher_ooz; 102 umpire_ooz; 394 platoon_vs_lhpno intervalmlb_shrinkage.jsongenerated 2026-07-24descriptive_only
quoted on 2 pages
Findings are exploratory unless a pre-registration file, date and hash are shown on the page.

How it was tested

  • Gate: descriptive: empirical-Bayes shrinkage under a fitted prior
  • Corpora: Statcast 2022_2023
  • Folds: none

Replication

single corpus

Inspector

No inspector page for this finding.

Published rates before and after empirical-Bayes shrinkage in a fixed 2022-2023 slice. Rates on either side of the pooled mean move toward it under the fitted prior.

How to read this: every rate below is pulled toward its group's pooled mean by an amount that depends on how few trials back it. Fit a beta-binomial prior per group (pooled mean m, concentration kappa = alpha + beta), then replace each raw rate with the posterior mean (k+alpha)/(n+alpha+beta). A row with tens of thousands of trials barely moves; a row with a few hundred can move a lot. This is a modeling choice — that the underlying rates are exchangeable draws from one shared prior — not a newly discovered truth about any one name.

Window: 2022-2023 Statcast slice (statcast_fuller_v1) — fixed 2022-2023 slice.

catcher ooz

Catcher out-of-zone strike rate (NOT a framing/called-strike rate; descriptive)

pooled_mean 0.2813 · kappa 834.93 · alpha 234.91 · beta 600.02 · 113 source rows; distinct catcher identities unavailable

The source publishes names without catcher IDs. Repeated display names remain separate rows with their own support and rates; they cannot establish how many distinct people are represented.

Biggest regressors

Published rows with the largest absolute gaps. Raw minus shrunk is the source-reported difference in rate units: negative means shrinkage raised the rate; positive means it lowered it. A gap of 0.01 equals one percentage point.

NamenRaw rateShrunk rateRaw minus shrunk
Drew Millas5850.2120.2528-0.0408
Cooper Hummel9140.21770.2481-0.0304
Carlos Pérez1,2770.23880.2556-0.0168
David Fry8820.25280.2667-0.0139
Logan Porter6680.2620.2727-0.0108
Brett Sullivan1,7080.25120.2611-0.0099
Manny Piña5410.29760.2877+0.0099
P.J. Higgins1,9460.24970.2592-0.0095
Payton Henry7310.2640.2733-0.0092
Korey Lee2,1590.25010.2588-0.0087
Iván Herrera1,2080.26240.2702-0.0077
Carlos Pérez2,2340.25340.261-0.0076

Scroll horizontally for all columns.

Leaderboard after shrinkage

Published selection ordered by shrunk rate under this fitted prior. This is not a validated ranking of skill.

NamenRaw rateShrunk rate
René Pinto3,4480.31470.3082
Alejandro Kirk10,9630.30480.3031
Austin Barnes6,7070.30490.3023
Patrick Bailey5,6570.30350.3007
Travis d'Arnaud11,2810.29940.2982
Cal Raleigh14,5040.2990.2981
Jacob Stallings12,0900.29790.2969
Sandy León2,5370.30150.2965
Curt Casali5,0680.29850.2961
Danny Jansen8,4610.29750.296
Jose Trevino9,9810.29680.2956
Kyle Higashioka9,8210.29620.295

Scroll horizontally for all columns.

umpire ooz

Umpire out-of-zone strike rate (NOT a framing/called-strike rate; descriptive)

pooled_mean 0.2813 · kappa 2830.5 · alpha 796.18 · beta 2034.32 · n_entities 102

Biggest regressors

Published rows with the largest absolute gaps. Raw minus shrunk is the source-reported difference in rate units: negative means shrinkage raised the rate; positive means it lowered it. A gap of 0.01 equals one percentage point.

NamenRaw rateShrunk rateRaw minus shrunk
Randy Rosenberg5060.31420.2863+0.0279
David Arrieta7540.25860.2765-0.0179
Derek Thomas2,6080.25230.2674-0.0151
Marty Foster1,4920.29830.2871+0.0111
Jacob Metz1,7350.29860.2878+0.0107
Brian Walsh1,9600.2980.2881+0.0099
Greg Gibson1,3080.29510.2857+0.0095
John Bacon2,9330.2670.274-0.007
Jerry Meals3,7590.29740.2905+0.0069
Bill Miller8,8150.30770.3012+0.0064
Laz Diaz7,1970.30230.2964+0.0059
Chris Conroy4,2510.29550.2898+0.0057

Scroll horizontally for all columns.

Leaderboard after shrinkage

Published selection ordered by shrunk rate under this fitted prior. This is not a validated ranking of skill.

NamenRaw rateShrunk rate
Bill Miller8,8150.30770.3012
Doug Eddings8,1810.30230.2969
Laz Diaz7,1970.30230.2964
Andy Fletcher8,3280.30040.2956
Gabe Morales8,4090.29880.2944
Lance Barrett8,1840.29890.2944
CB Bucknor7,9150.29720.293
Phil Cuzzi8,0860.29680.2928
Rob Drake7,0280.29510.2911
Malachi Moore7,7000.29390.2905
Jerry Meals3,7590.29740.2905
Brian O'Nora7,2210.29320.2898

Scroll horizontally for all columns.

platoon vs lhp

On-base rate vs LHP (descriptive)

pooled_mean 0.3238 · kappa 226.3 · alpha 73.29 · beta 153.01 · n_entities 394

floor: pa_vs_l>=20

Biggest regressors

Published rows with the largest absolute gaps. Raw minus shrunk is the source-reported difference in rate units: negative means shrinkage raised the rate; positive means it lowered it. A gap of 0.01 equals one percentage point.

NamenRaw rateShrunk rateRaw minus shrunk
Jesús Sánchez1050.19050.2816-0.0911
Nick Ahmed1380.18120.2698-0.0886
Gabriel Arias1440.18060.2681-0.0876
Brett Baty1060.19810.2837-0.0856
Mitch Garver1480.45270.3748+0.0779
Sheldon Neuse1100.20910.2863-0.0772
JJ Bleday1150.20870.285-0.0764
James McCann1850.19460.2657-0.0711
Alek Thomas1770.20340.271-0.0676
Jackie Bradley Jr.1170.22220.2892-0.067
Jazz Chisholm Jr.1330.2180.2847-0.0666
Connor Wong1260.22220.2875-0.0653

Scroll horizontally for all columns.

Leaderboard after shrinkage

Published selection ordered by shrunk rate under this fitted prior. This is not a validated ranking of skill.

NamenRaw rateShrunk rate
Paul Goldschmidt3080.43830.3898
William Contreras2930.43690.3876
Robbie Grossman2860.42660.3812
Yandy Díaz2840.41550.3749
Mitch Garver1480.45270.3748
Mookie Betts3590.40110.3712
Rob Refsnyder2190.42010.3712
Yordan Alvarez3670.39780.3696
Harold Ramírez2460.41060.369
Jose Altuve2750.40360.3676
Chas McCormick2540.40160.365
Xander Bogaerts3200.39370.3648

Scroll horizontally for all columns.

Confounds

  • shrinkage assumes the entities are exchangeable draws from one prior -- a modeling choice, not a fact;
  • the OOZ rate is descriptive, NOT a called-strike/framing skill and NOT predictive;
  • the raw vs shrunk gap is the point: it shows how much a small-sample rate should be discounted, it is not a new 'true skill' claim;
  • fixed 2022-2023 window.

Descriptive statistical exhibit only. The shrunk rate is a regularized estimate under a modeling assumption, not a validated forecast-quality finding.

Limitations

  • Sample and independence: pitches cluster within games; catcher rows are source rows, not verified distinct people.
  • Scope: one fixed 2022-2023 Statcast slice.
  • Does not establish a skill ranking; the shrunk value depends on the modeling prior.

Verdict history

  1. : current: no packet verdict (descriptive exhibit)

Reproduce

python scripts/platformkit/analytics_showcase/mlb_shrinkage.py

Source path

scripts/platformkit/analytics_showcase/out/mlb_shrinkage.json

scripts/platformkit/analytics_showcase/mlb_shrinkage.py

Change log

Quoted on

scripts/platformkit/analytics_showcase/out/mlb_shrinkage.json is quoted on:

Findings