NFL · Empirical Bayes

True-Talent Leaderboards

A raw single-season rate is a noisy guess at a player’s real ability, and the noise is worst for the smallest samples — so a naïve leaderboard is topped by whoever got lucky in the fewest tries. This one shrinks every rate toward its position-group prior by how much the sample can be trusted, and shows a 90% credible interval instead of a point. Toggle raw vs. shrunk to watch the flukes fall back to the pack.

Yards per carry · 2024

Mean rushing yards per carry. Heavy-tailed (one long run moves it); the band reflects that.

Beats raw by
18.1%
lower out-of-sample error
RMSE raw → shrunk
1.04 → 0.85
odd vs. even weeks
Split-half reliability
0.23
how repeatable the raw stat is
Stabilizes at
165
carrys to trust the number
shrunkrawthe shrink90% CI
45avg1Derrick HenryBAL · 3255.392Saquon BarkleyPHI · 3485.333Jahmyr GibbsDET · 2505.144Emari DemercadoARI · 245.005Bucky IrvingTB · 2074.966Dameon PierceHOU · 404.957Sean TuckerTB · 504.798Jerome FordCLE · 1044.789Jordan MasonSF · 1534.7510James CookBUF · 2074.6511Bijan RobinsonATL · 3054.6412Chuba HubbardCAR · 2514.6113Isaiah DavisNYJ · 304.5914Isaac GuerendoSF · 844.5815Jonathan TaylorIND · 3054.5816Emanuel WilsonGB · 1034.5717Kenny McIntoshSEA · 314.5618Ty JohnsonBUF · 414.5419J.K. DobbinsLAC · 1954.5220Tyler AllgeierATL · 1384.5121James ConnerARI · 2394.5022Rico DowdleDAL · 2354.5023Chris BrooksGB · 364.5024Austin EkelerWAS · 774.5025Chris Rodriguez J…WAS · 354.4726Ameer AbdullahLV · 664.4727Tank BigsbyJAX · 1684.4728Justice HillBAL · 474.4629Jeremy McNicholsWAS · 564.4630Raheem BlackshearCAR · 154.4531Tyler GoodsonIND · 324.4432Sincere McCormickLV · 394.4333Julius ChestnutTEN · 224.41

Each row is a player: the solid dot is the shrunk estimate, the hollow dot the raw rate, joined by the red pull of regression; the grey bar is the 90% credible interval. A hollow shrunk dot means the sample is below the stabilization line — the number is mostly the position prior. Switch to Raw rank and watch the small-sample names climb.

Yards per carry · 2024 · full board

Yards per carry leaderboard for the 2024 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPoscarrysRawShrunk90% interval
1Derrick HenryBALRB3255.915.394.935.86
2Saquon BarkleyPHIRB3485.785.334.875.78
3Jahmyr GibbsDETRB2505.655.144.645.65
4Emari Demercado◦ provisionalARIRB249.295.004.255.75
5Bucky IrvingTBRB2075.424.964.425.49
6Dameon Pierce◦ provisionalHOURB407.334.954.235.67
7Sean Tucker◦ provisionalTBRB506.164.794.095.49
8Jerome Ford◦ provisionalCLERB1045.434.784.165.41
9Jordan Mason◦ provisionalSFRB1535.164.754.175.33
10James CookBUFRB2074.874.654.125.19
11Bijan RobinsonATLRB3054.784.644.165.11
12Chuba HubbardCARRB2514.774.614.115.12
13Isaiah Davis◦ provisionalNYJRB305.804.593.865.33
14Isaac Guerendo◦ provisionalSFRB845.004.583.935.24
15Jonathan TaylorINDRB3054.694.584.115.06
16Emanuel Wilson◦ provisionalGBRB1034.874.573.945.19
17Kenny McIntosh◦ provisionalSEARB315.554.563.825.29
18Ty Johnson◦ provisionalBUFRB415.204.543.825.25
19J.K. DobbinsLACRB1954.644.523.985.06
20Tyler Allgeier◦ provisionalATLRB1384.684.513.925.11
21James ConnerARIRB2394.594.503.995.02
22Rico DowdleDALRB2354.594.503.995.02
23Chris Brooks◦ provisionalGBRB365.084.503.775.23
24Austin Ekeler◦ provisionalWASRB774.774.503.845.16
25Chris Rodriguez Jr.◦ provisionalWASRB354.944.473.755.20
26Ameer Abdullah◦ provisionalLVRB664.714.473.795.15
27Tank BigsbyJAXRB1684.564.473.905.03
28Justice Hill◦ provisionalBALRB474.744.463.755.16
29Jeremy McNichols◦ provisionalWASRB564.704.463.765.15
30Raheem Blackshear◦ provisionalCARRB155.334.453.695.22
31Trey Benson◦ provisionalARIRB634.624.443.765.12
32Tyler Goodson◦ provisionalINDRB324.784.443.715.17
33Sincere McCormick◦ provisionalLVRB394.694.433.715.16
34Aaron JonesMINRB2554.464.433.934.93
35De'Von AchaneMIARB2034.474.433.894.96
36Antonio Gibson◦ provisionalNERB1204.484.423.815.03
37Patrick Taylor◦ provisionalSFRB404.584.413.695.13
38Julius Chestnut◦ provisionalTENRB224.644.413.655.16
39Samaje Perine◦ provisionalKCRB204.604.403.645.16
40Craig Reynolds◦ provisionalDETRB314.484.393.665.13
41D'Ernest Johnson◦ provisionalJAXRB324.474.393.665.12
42Ronnie Rivers◦ provisionalLARB224.504.393.645.14
43Josh JacobsGBRB3034.394.383.914.86
44Jaleel McLaughlin◦ provisionalDENRB1134.394.383.765.00
45Tyrone Tracy Jr.NYGRB1924.374.373.834.92
46Deuce Vaughn◦ provisionalDALRB174.124.353.595.11
47Cordarrelle Patterson◦ provisionalPITRB324.224.353.625.08
48Pierre Strong◦ provisionalCLERB264.154.343.605.09
49Chase BrownCINRB2304.314.343.824.86
50Cam Akers◦ provisionalMINRB1044.274.333.714.96
51Jaylen Warren◦ provisionalPITRB1204.264.333.724.94
52Brian RobinsonWASRB1874.274.323.774.87
53Rachaad White◦ provisionalTBRB1444.264.323.734.91
54Jeff Wilson◦ provisionalMIARB163.564.303.545.07
55Zach Charbonnet◦ provisionalSEARB1354.214.303.714.90
56Christian McCaffrey◦ provisionalSFRB504.044.303.595.00
57Audric Estimé◦ provisionalDENRB764.084.283.624.94
58Jordan Mims◦ provisionalNORB203.504.283.525.04
59Dare Ogunbowale◦ provisionalHOURB303.734.283.545.01
60JaMycal Hasty◦ provisionalNERB203.454.273.525.03
61David MontgomeryDETRB1864.174.263.714.81
62Michael Carter◦ provisionalARIRB353.744.263.544.99
63Kendre Miller◦ provisionalNORB393.794.263.544.98
64Alvin KamaraNORB2284.174.253.734.77
65Breece HallNYJRB2124.154.253.724.78
66Khalil Herbert◦ provisionalCINRB363.614.243.514.96
67Tony PollardTENRB2614.144.233.734.73
68Joe MixonHOURB2474.114.223.714.73
69Kenneth Gainwell◦ provisionalPHIRB753.874.223.554.88
70Kimani Vidal◦ provisionalLACRB433.604.223.504.93
71Miles Sanders◦ provisionalCARRB553.734.213.524.91
72Kyren WilliamsLARB3164.114.203.734.67
73Ray Davis◦ provisionalBUFRB1133.914.193.574.80
74Keaton Mitchell◦ provisionalBALRB152.004.183.414.94
75Devin Singletary◦ provisionalNYGRB1133.874.173.554.79
76Jaylen Wright◦ provisionalMIARB683.664.173.494.84
77Blake Corum◦ provisionalLARB583.574.173.484.85
78Isiah Pacheco◦ provisionalKCRB833.734.163.514.81
79Jamaal Williams◦ provisionalNORB483.424.163.454.86
80Tyjae Spears◦ provisionalTENRB843.714.153.504.80
81Najee HarrisPITRB2633.974.123.634.62
82Will Shipley◦ provisionalPHIRB302.734.123.394.86
83Braelon Allen◦ provisionalNYJRB923.634.113.474.75
84Carson Steele◦ provisionalKCRB563.274.093.404.79
85Rhamondre StevensonNERB2073.874.093.564.63
86Ty Chandler◦ provisionalMINRB563.254.093.404.78
87Hassan Haskins◦ provisionalLACRB342.624.073.344.80
88Kenneth Walker III◦ provisionalSEARB1533.754.073.494.65
89Gus Edwards◦ provisionalLACRB1023.584.073.444.70
90Travis Etienne◦ provisionalJAXRB1503.724.063.484.64
91Javonte Williams◦ provisionalDENRB1393.694.063.474.65
92D'Onta Foreman◦ provisionalCLERB713.274.043.374.71
93Zack Moss◦ provisionalCINRB743.274.033.374.70
94D'Andre SwiftCHIRB2533.794.023.524.52
95Raheem Mostert◦ provisionalMIARB853.274.003.354.65
96Trey Sermon◦ provisionalINDRB562.843.993.294.68
97Kareem HuntKCRB2003.643.973.434.51
98Ezekiel Elliott◦ provisionalDALRB743.053.973.304.63
99Roschon Johnson◦ provisionalCHIRB552.733.963.274.66
100Nick Chubb◦ provisionalCLERB1023.253.953.324.58
101Zamir White◦ provisionalLVRB652.823.933.264.61
102Alexander Mattison◦ provisionalLVRB1343.153.833.234.42

How the shrinkage works

Two estimators

Rate stats (completion %, success rate, catch rate) use a beta-binomial model: a Beta(α, β) prior fit by marginal likelihood over each position group, then a Beta posterior per player. Per-play averages (EPA, CPOE, yards) use a normal-normal model with DerSimonian–Laird between-player variance. Both pull each player toward their group by exactly how thin their sample is.

Does it help? & the fine print

The trust panel’s numbers come from a leakage-free odd/even-week holdout: fit on odd weeks, predict even-week raw. Shrinkage lowers out-of-sample error for every stat. Priors are fit per season and per position (WR and TE separately), so a TE’s baseline isn’t a skill. Regular season only, 2016–2025. Rushing and receiving efficiency are heavily scheme-driven — read the wide bands as the honesty they are.

Source: nflverse play-by-play. Counted and computed deterministically — never modeled by a language model. Built by build_nfl_leaderboards.py (byte-reproducible).