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 · 2018

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
194
carrys to trust the number
shrunkrawthe shrink90% CI
-0.2-0.10.00.1avg1Todd GurleyLA · 260+0.022Alvin KamaraNO · 197+0.013Melvin GordonLAC · 176-0.004Gus EdwardsBAL · 139-0.005C.J. AndersonLA · 67-0.006Derrick HenryTEN · 215-0.017Marlon MackIND · 197-0.018Christian McCaffr…CAR · 219-0.019Austin EkelerLAC · 106-0.0210Aaron JonesGB · 133-0.0211Phillip LindsayDEN · 193-0.0212Zach ZennerDET · 55-0.0313Nick ChubbCLE · 192-0.0314Matt BreidaSF · 153-0.0315Chris CarsonSEA · 247-0.0316Kareem HuntKC · 181-0.0317Cordarrelle Patte…NE · 42-0.0318Jordan WilkinsIND · 60-0.0319Wendell SmallwoodPHI · 88-0.0320Mike DavisSEA · 112-0.0421Sony MichelNE · 209-0.0422Kapri BibbsGB · 21-0.0423James ConnerPIT · 215-0.0424Ezekiel ElliottDAL · 304-0.0525Saquon BarkleyNYG · 263-0.0526Malcolm BrownLA · 43-0.0527Kenneth DixonBAL · 60-0.0528Devontae BookerDEN · 34-0.0529Frank GoreMIA · 156-0.0530Kerryon JohnsonDET · 118-0.0531Damien WilliamsKC · 50-0.0632Raheem MostertSF · 34-0.0633Darren SprolesPHI · 29-0.0634Duke JohnsonCLE · 42-0.06

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 · 2018 · full board

EPA per rush leaderboard for the 2018 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPoscarrysRawShrunk90% interval
1Todd GurleyLARB260+0.08+0.02-0.05+0.09
2Alvin KamaraNORB197+0.08+0.01-0.07+0.08
3Melvin Gordon◦ provisionalLACRB176+0.07-0.00-0.08+0.08
4Gus Edwards◦ provisionalBALRB139+0.09-0.00-0.08+0.08
5C.J. Anderson◦ provisionalLARB67+0.18-0.00-0.10+0.09
6Derrick HenryTENRB215+0.05-0.01-0.08+0.07
7Marlon MackINDRB197+0.04-0.01-0.09+0.06
8Christian McCaffreyCARRB219+0.03-0.01-0.09+0.06
9Austin Ekeler◦ provisionalLACRB106+0.08-0.02-0.10+0.07
10Aaron Jones◦ provisionalGBRB133+0.05-0.02-0.10+0.06
11Phillip Lindsay◦ provisionalDENRB193+0.03-0.02-0.10+0.06
12Zach Zenner◦ provisionalDETRB55+0.11-0.03-0.12+0.07
13Nick Chubb◦ provisionalCLERB192+0.01-0.03-0.11+0.05
14Matt Breida◦ provisionalSFRB153+0.02-0.03-0.11+0.05
15Chris CarsonSEARB247-0.00-0.03-0.10+0.04
16Kareem Hunt◦ provisionalKCRB181+0.01-0.03-0.11+0.05
17Cordarrelle Patterson◦ provisionalNERB42+0.13-0.03-0.13+0.07
18Jordan Wilkins◦ provisionalINDRB60+0.08-0.03-0.13+0.06
19Wendell Smallwood◦ provisionalPHIRB88+0.04-0.03-0.12+0.06
20Mike Davis◦ provisionalSEARB112+0.02-0.04-0.12+0.05
21Sony MichelNERB209-0.01-0.04-0.11+0.03
22Kapri Bibbs◦ provisionalGBRB21+0.20-0.04-0.14+0.06
23James ConnerPITRB215-0.02-0.04-0.12+0.03
24Ezekiel ElliottDALRB304-0.03-0.05-0.11+0.02
25Saquon BarkleyNYGRB263-0.03-0.05-0.12+0.02
26Malcolm Brown◦ provisionalLARB43+0.05-0.05-0.14+0.05
27Kenneth Dixon◦ provisionalBALRB60+0.02-0.05-0.14+0.05
28Devontae Booker◦ provisionalDENRB34+0.07-0.05-0.15+0.05
29Frank Gore◦ provisionalMIARB156-0.03-0.05-0.13+0.03
30Kerryon Johnson◦ provisionalDETRB118-0.02-0.05-0.13+0.04
31Damien Williams◦ provisionalKCRB50-0.01-0.06-0.15+0.04
32Joe MixonCINRB237-0.05-0.06-0.13+0.02
33Marshawn Lynch◦ provisionalLVRB90-0.03-0.06-0.14+0.03
34Raheem Mostert◦ provisionalSFRB34+0.01-0.06-0.16+0.04
35Rashaad Penny◦ provisionalSEARB85-0.03-0.06-0.15+0.03
36Darren Sproles◦ provisionalPHIRB29+0.01-0.06-0.16+0.04
37Duke Johnson◦ provisionalCLERB42-0.02-0.06-0.16+0.04
38Spencer Ware◦ provisionalKCRB51-0.03-0.06-0.15+0.04
39Lamar MillerHOURB210-0.06-0.06-0.14+0.01
40James White◦ provisionalNERB94-0.05-0.06-0.15+0.03
41Jaylen Samuels◦ provisionalPITRB56-0.05-0.06-0.16+0.03
42Cameron Artis-Payne◦ provisionalCARRB19-0.02-0.06-0.17+0.04
43Dwayne Washington◦ provisionalNORB27-0.04-0.06-0.17+0.04
44Mark Ingram◦ provisionalNORB138-0.06-0.07-0.15+0.02
45Isaiah Crowell◦ provisionalNYJRB143-0.07-0.07-0.15+0.01
46Justin Jackson◦ provisionalLACRB50-0.07-0.07-0.16+0.03
47Tevin Coleman◦ provisionalATLRB167-0.07-0.07-0.15+0.01
48Giovani Bernard◦ provisionalCINRB56-0.08-0.07-0.16+0.03
49Marcus Murphy◦ provisionalBUFRB52-0.09-0.07-0.17+0.02
50Keith Ford◦ provisionalBUFRB21-0.11-0.07-0.17+0.03
51Corey Clement◦ provisionalPHIRB69-0.09-0.07-0.17+0.02
52Jay Ajayi◦ provisionalPHIRB46-0.11-0.07-0.17+0.02
53Doug Martin◦ provisionalLVRB172-0.09-0.08-0.16+0.00
54Chase Edmonds◦ provisionalARIRB60-0.11-0.08-0.17+0.02
55Brian Hill◦ provisionalATLRB20-0.18-0.08-0.18+0.02
56Jacquizz Rodgers◦ provisionalTBRB33-0.15-0.08-0.18+0.02
57Theo Riddick◦ provisionalDETRB40-0.14-0.08-0.18+0.02
58Javorius Allen◦ provisionalBALRB41-0.14-0.08-0.18+0.02
59Kenjon Barner◦ provisionalCARRB19-0.22-0.08-0.18+0.02
60Tarik Cohen◦ provisionalCHIRB99-0.11-0.08-0.17+0.00
61Adrian PetersonWASRB251-0.10-0.08-0.16-0.01
62Jordan HowardCHIRB250-0.10-0.09-0.16-0.01
63Wayne Gallman◦ provisionalNYGRB51-0.16-0.09-0.18+0.01
64Trenton Cannon◦ provisionalNYJRB38-0.19-0.09-0.19+0.01
65Rod Smith◦ provisionalDALRB44-0.17-0.09-0.18+0.01
66Kalen Ballage◦ provisionalMIARB36-0.19-0.09-0.19+0.01
67Bilal Powell◦ provisionalNYJRB80-0.14-0.09-0.18+0.00
68Kenyan Drake◦ provisionalMIARB120-0.13-0.09-0.18-0.01
69Nyheim Hines◦ provisionalINDRB85-0.14-0.09-0.18-0.00
70Ronald Jones◦ provisionalTBRB23-0.32-0.09-0.20+0.01
71Jamaal Williams◦ provisionalGBRB121-0.14-0.09-0.18-0.01
72Leonard Fournette◦ provisionalJAXRB133-0.13-0.09-0.18-0.01
73Royce Freeman◦ provisionalDENRB130-0.14-0.10-0.18-0.01
74Chris Thompson◦ provisionalWASRB43-0.22-0.10-0.19+0.00
75DeAndre Washington◦ provisionalLVRB30-0.30-0.10-0.20+0.00
76John Kelly◦ provisionalLARB27-0.33-0.10-0.20+0.00
77Alfred Morris◦ provisionalSFRB111-0.16-0.10-0.19-0.01
78Latavius Murray◦ provisionalMINRB140-0.15-0.10-0.18-0.02
79Rex Burkhead◦ provisionalNERB57-0.21-0.10-0.20-0.01
80T.J. Yeldon◦ provisionalJAXRB104-0.17-0.10-0.19-0.02
81Ito Smith◦ provisionalATLRB90-0.18-0.10-0.19-0.01
82Chris Ivory◦ provisionalBUFRB115-0.16-0.10-0.19-0.02
83Alex Collins◦ provisionalBALRB114-0.18-0.11-0.19-0.02
84Dalvin Cook◦ provisionalMINRB133-0.17-0.11-0.19-0.02
85Jeff Wilson◦ provisionalSFRB66-0.24-0.11-0.21-0.02
86Josh Adams◦ provisionalPHIRB121-0.19-0.11-0.20-0.03
87Stevan Ridley◦ provisionalPITRB29-0.43-0.12-0.22-0.01
88Jalen Richard◦ provisionalLVRB56-0.30-0.12-0.22-0.03
89Mike Gillislee◦ provisionalNORB16-0.89-0.13-0.23-0.03
90Peyton BarberTBRB234-0.18-0.13-0.20-0.06
91Alfred Blue◦ provisionalHOURB150-0.22-0.13-0.21-0.05
92LeSean McCoy◦ provisionalBUFRB161-0.22-0.14-0.22-0.06
93Carlos Hyde◦ provisionalJAXRB172-0.23-0.14-0.22-0.06
94Dion Lewis◦ provisionalTENRB155-0.24-0.14-0.23-0.06
95LeGarrette Blount◦ provisionalDETRB155-0.24-0.15-0.23-0.07
96David JohnsonARIRB259-0.20-0.15-0.22-0.08
97Elijah McGuire◦ provisionalNYJRB92-0.36-0.16-0.25-0.07

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