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.

EPA per rush · 2021

Mean EPA per carry. Blocking & scheme are large, un-controlled inputs.

Beats raw by
21.1%
lower out-of-sample error
RMSE raw → shrunk
0.16 → 0.13
odd vs. even weeks
Split-half reliability
0.17
how repeatable the raw stat is
Stabilizes at
393
carrys to trust the number
shrunkrawthe shrink90% CI
-0.1-0.1-0.10.00.1avg1Jonathan TaylorIND · 332+0.022Tony PollardDAL · 130-0.023Nick ChubbCLE · 228-0.024Chase EdmondsARI · 116-0.025Rashaad PennySEA · 119-0.026Leonard FournetteTB · 180-0.037AJ DillonGB · 187-0.038Dontrell HilliardTEN · 56-0.039Travis HomerSEA · 21-0.0310Damien HarrisNE · 202-0.0311Darrel WilliamsKC · 144-0.0312D'Ernest JohnsonCLE · 100-0.0313Kareem HuntCLE · 79-0.0314Aaron JonesGB · 171-0.0415Jonathan WilliamsWAS · 17-0.0416Rhamondre Stevens…NE · 133-0.0417Austin EkelerLAC · 208-0.0418Miles SandersPHI · 138-0.0419Boston ScottPHI · 87-0.0420Nyheim HinesIND · 56-0.0421Christian McCaffr…CAR · 99-0.0422Kenneth GainwellPHI · 69-0.0423James ConnerARI · 202-0.0424Darrell HendersonLA · 149-0.0525J.D. McKissicWAS · 49-0.0526Derrick HenryTEN · 220-0.0527Devin SingletaryBUF · 188-0.0528Jamaal WilliamsDET · 153-0.0529Jermar JeffersonDET · 15-0.0530Jordan HowardPHI · 86-0.0531DeeJay DallasSEA · 33-0.0532JaMycal HastySF · 16-0.0533Derrick GoreKC · 51-0.0534Ryquell ArmsteadJAX · 15-0.0535Elijhaa PennyNYG · 25-0.0536Chris EvansCIN · 17-0.0537Patrick TaylorGB · 23-0.05

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.

EPA per rush · 2021 · full board

EPA per rush leaderboard for the 2021 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPoscarrysRawShrunk90% interval
1Jonathan Taylor◦ provisionalINDRB332+0.10+0.02-0.04+0.07
2Tony Pollard◦ provisionalDALRB130+0.10-0.02-0.08+0.05
3Nick Chubb◦ provisionalCLERB228+0.05-0.02-0.08+0.04
4Chase Edmonds◦ provisionalARIRB116+0.10-0.02-0.09+0.04
5Rashaad Penny◦ provisionalSEARB119+0.09-0.02-0.09+0.04
6Leonard Fournette◦ provisionalTBRB180+0.05-0.03-0.09+0.04
7AJ Dillon◦ provisionalGBRB187+0.03-0.03-0.09+0.03
8Dontrell Hilliard◦ provisionalTENRB56+0.16-0.03-0.10+0.04
9Travis Homer◦ provisionalSEARB21+0.46-0.03-0.10+0.04
10Damien Harris◦ provisionalNERB202+0.02-0.03-0.09+0.03
11Darrel Williams◦ provisionalKCRB144+0.03-0.03-0.10+0.03
12D'Ernest Johnson◦ provisionalCLERB100+0.06-0.03-0.10+0.03
13Kareem Hunt◦ provisionalCLERB79+0.08-0.03-0.10+0.03
14Aaron Jones◦ provisionalGBRB171+0.01-0.04-0.10+0.02
15Jonathan Williams◦ provisionalWASRB17+0.43-0.04-0.11+0.03
16Rhamondre Stevenson◦ provisionalNERB133+0.02-0.04-0.10+0.02
17Austin Ekeler◦ provisionalLACRB208-0.00-0.04-0.10+0.02
18Miles Sanders◦ provisionalPHIRB138+0.01-0.04-0.10+0.02
19Boston Scott◦ provisionalPHIRB87+0.04-0.04-0.11+0.03
20Nyheim Hines◦ provisionalINDRB56+0.07-0.04-0.11+0.03
21Christian McCaffrey◦ provisionalCARRB99+0.02-0.04-0.11+0.02
22Kenneth Gainwell◦ provisionalPHIRB69+0.04-0.04-0.11+0.02
23James Conner◦ provisionalARIRB202-0.02-0.04-0.11+0.02
24Darrell Henderson◦ provisionalLARB149-0.01-0.05-0.11+0.02
25J.D. McKissic◦ provisionalWASRB49+0.06-0.05-0.12+0.03
26Derrick Henry◦ provisionalTENRB220-0.02-0.05-0.11+0.01
27Devin Singletary◦ provisionalBUFRB188-0.02-0.05-0.11+0.02
28Jamaal Williams◦ provisionalDETRB153-0.02-0.05-0.11+0.02
29Jermar Jefferson◦ provisionalDETRB15+0.21-0.05-0.12+0.02
30Jordan Howard◦ provisionalPHIRB86-0.01-0.05-0.12+0.02
31Devonta Freeman◦ provisionalBALRB133-0.02-0.05-0.11+0.01
32DeeJay Dallas◦ provisionalSEARB33+0.06-0.05-0.12+0.02
33JaMycal Hasty◦ provisionalSFRB16+0.17-0.05-0.12+0.02
34Justin Jackson◦ provisionalLACRB69+0.00-0.05-0.12+0.02
35Dalvin Cook◦ provisionalMINRB251-0.04-0.05-0.11+0.01
36Derrick Gore◦ provisionalKCRB51+0.01-0.05-0.12+0.02
37Ryquell Armstead◦ provisionalJAXRB15+0.11-0.05-0.13+0.02
38Khalil Herbert◦ provisionalCHIRB103-0.03-0.05-0.12+0.01
39Duke Johnson◦ provisionalMIARB71-0.02-0.05-0.12+0.02
40Elijhaa Penny◦ provisionalNYGRB25+0.02-0.05-0.13+0.02
41Michael Carter◦ provisionalNYJRB148-0.04-0.05-0.12+0.01
42Ronald Jones◦ provisionalTBRB101-0.04-0.05-0.12+0.01
43Chris Evans◦ provisionalCINRB17+0.04-0.05-0.13+0.02
44Patrick Taylor◦ provisionalGBRB23+0.01-0.05-0.13+0.02
45Rex Burkhead◦ provisionalHOURB122-0.04-0.05-0.12+0.01
46Brandon Bolden◦ provisionalNERB45-0.02-0.06-0.13+0.02
47Chris Carson◦ provisionalSEARB54-0.03-0.06-0.13+0.01
48Ty'Son Williams◦ provisionalBALRB35-0.02-0.06-0.13+0.02
49Damien Williams◦ provisionalCHIRB40-0.03-0.06-0.13+0.01
50Trayveon Williams◦ provisionalCINRB15-0.01-0.06-0.13+0.02
51Trey Sermon◦ provisionalSFRB41-0.04-0.06-0.13+0.01
52Latavius Murray◦ provisionalBALRB119-0.06-0.06-0.12+0.01
53Austin Walter◦ provisionalNYJRB26-0.06-0.06-0.13+0.01
54Jaret Patterson◦ provisionalWASRB68-0.07-0.06-0.13+0.01
55Najee Harris◦ provisionalPITRB307-0.06-0.06-0.12-0.00
56Tevin Coleman◦ provisionalNYJRB84-0.07-0.06-0.13+0.01
57Ke'Shawn Vaughn◦ provisionalTBRB36-0.09-0.06-0.13+0.01
58James Robinson◦ provisionalJAXRB164-0.07-0.06-0.12+0.00
59Ezekiel Elliott◦ provisionalDALRB240-0.07-0.06-0.12-0.00
60Clyde Edwards-Helaire◦ provisionalKCRB119-0.07-0.06-0.13+0.00
61Elijah Mitchell◦ provisionalSFRB207-0.07-0.06-0.12-0.00
62Corey Clement◦ provisionalDALRB33-0.15-0.07-0.14+0.01
63Wayne Gallman◦ provisionalMINRB28-0.17-0.07-0.14+0.01
64Samaje Perine◦ provisionalCINRB55-0.12-0.07-0.14+0.00
65Zack Moss◦ provisionalBUFRB96-0.10-0.07-0.13-0.00
66Devontae Booker◦ provisionalNYGRB145-0.09-0.07-0.13-0.00
67Qadree Ollison◦ provisionalATLRB21-0.22-0.07-0.14+0.01
68Godwin Igwebuike◦ provisionalDETRB18-0.25-0.07-0.14+0.01
69Javonte Williams◦ provisionalDENRB203-0.09-0.07-0.13-0.01
70Eno Benjamin◦ provisionalARIRB34-0.18-0.07-0.14+0.00
71J.J. Taylor◦ provisionalNERB19-0.27-0.07-0.14+0.00
72Marlon Mack◦ provisionalINDRB28-0.21-0.07-0.14+0.00
73Craig Reynolds◦ provisionalDETRB55-0.14-0.07-0.14+0.00
74Le'Veon Bell◦ provisionalTBRB40-0.17-0.07-0.14+0.00
75D'Onta Foreman◦ provisionalTENRB133-0.10-0.07-0.13-0.01
76Alex Collins◦ provisionalSEARB108-0.11-0.07-0.14-0.00
77Jeff Wilson◦ provisionalSFRB79-0.13-0.07-0.14-0.00
78Melvin Gordon◦ provisionalDENRB203-0.09-0.07-0.13-0.01
79Kenyan Drake◦ provisionalLVRB63-0.14-0.07-0.14-0.00
80Cordarrelle Patterson◦ provisionalATLRB153-0.10-0.07-0.13-0.01
81Joe Mixon◦ provisionalCINRB294-0.09-0.07-0.13-0.01
82David Montgomery◦ provisionalCHIRB225-0.10-0.07-0.13-0.01
83Antonio Gibson◦ provisionalWASRB259-0.09-0.07-0.13-0.01
84Royce Freeman◦ provisionalHOURB56-0.17-0.07-0.14-0.00
85Jeremy McNichols◦ provisionalTENRB41-0.21-0.07-0.14-0.00
86Sony Michel◦ provisionalLARB208-0.10-0.07-0.13-0.01
87Peyton Barber◦ provisionalLVRB55-0.18-0.07-0.14-0.00
88Malcolm Brown◦ provisionalMIARB33-0.26-0.07-0.15-0.00
89Matt Breida◦ provisionalBUFRB26-0.33-0.08-0.15-0.00
90Ty Johnson◦ provisionalNYJRB61-0.18-0.08-0.14-0.01
91Dare Ogunbowale◦ provisionalJAXRB44-0.23-0.08-0.15-0.01
92Adrian Peterson◦ provisionalSEARB38-0.26-0.08-0.15-0.01
93Ameer Abdullah◦ provisionalCARRB51-0.22-0.08-0.15-0.01
94Mike Davis◦ provisionalATLRB138-0.13-0.08-0.14-0.01
95Larry Rountree III◦ provisionalLACRB36-0.28-0.08-0.15-0.01
96Saquon Barkley◦ provisionalNYGRB162-0.13-0.08-0.14-0.02
97Salvon Ahmed◦ provisionalMIARB54-0.22-0.08-0.15-0.01
98Benny Snell◦ provisionalPITRB36-0.31-0.08-0.15-0.01
99Chuba Hubbard◦ provisionalCARRB172-0.14-0.08-0.15-0.02
100Joshua Kelley◦ provisionalLACRB33-0.46-0.09-0.16-0.02
101Josh Jacobs◦ provisionalLVRB217-0.15-0.09-0.15-0.03
102Myles Gaskin◦ provisionalMIARB173-0.17-0.09-0.15-0.03
103D'Andre Swift◦ provisionalDETRB151-0.18-0.09-0.16-0.03
104Alexander Mattison◦ provisionalMINRB135-0.19-0.09-0.16-0.03
105Tony Jones◦ provisionalNORB54-0.35-0.09-0.16-0.02
106Phillip Lindsay◦ provisionalMIARB88-0.26-0.10-0.16-0.03
107David Johnson◦ provisionalHOURB67-0.32-0.10-0.17-0.03
108Mark Ingram◦ provisionalNORB160-0.20-0.10-0.16-0.04
109Alvin Kamara◦ provisionalNORB241-0.17-0.10-0.16-0.04
110Carlos Hyde◦ provisionalJAXRB72-0.35-0.10-0.17-0.03

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).