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 dropback · 2022

Mean QB EPA per dropback.

Beats raw by
14.9%
lower out-of-sample error
RMSE raw → shrunk
0.17 → 0.14
odd vs. even weeks
Split-half reliability
0.47
how repeatable the raw stat is
Stabilizes at
255
dropbacks to trust the number
shrunkrawthe shrink90% CI
-0.2-0.10.00.10.20.3avg1Patrick MahomesKC · 677+0.222Tua TagovailoaMIA · 421+0.153Jimmy GaroppoloSF · 326+0.144Josh AllenBUF · 600+0.135Jared GoffDET · 610+0.136Joe BurrowCIN · 651+0.117Trevor LawrenceJAX · 615+0.108Jalen HurtsPHI · 499+0.109Brock PurdySF · 181+0.1010Dak PrescottDAL · 414+0.0711Sam DarnoldCAR · 147+0.0712Nick MullensMIN · 25+0.0713Tom BradyTB · 758+0.0714Ryan TannehillTEN · 358+0.0515Gardner MinshewPHI · 81+0.0516Derek CarrLV · 532+0.0417Bailey ZappeNE · 98+0.0418Andy DaltonNO · 404+0.0419Jacoby BrissettCLE · 392+0.0420Geno SmithSEA · 619+0.0421Daniel JonesNYG · 514+0.0422Mitchell TrubiskyPIT · 191+0.0423Justin HerbertLAC · 736+0.0324Desmond RidderATL · 124+0.0325Lamar JacksonBAL · 352+0.0326Kirk CousinsMIN · 690+0.0327Marcus MariotaATL · 326+0.0328Teddy BridgewaterMIA · 87+0.0229Davis WebbNYG · 41+0.0230Nathan PetermanCHI · 25+0.0131Aaron RodgersGB · 575+0.0032Kenny PickettPIT · 417-0.00

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 dropback · 2022 · full board

EPA per dropback leaderboard for the 2022 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPosdropbacksRawShrunk90% interval
1Patrick MahomesKCQB677+0.29+0.22+0.13+0.30
2Tua TagovailoaMIAQB421+0.23+0.15+0.06+0.25
3Jimmy GaroppoloSFQB326+0.23+0.14+0.04+0.25
4Josh AllenBUFQB600+0.17+0.13+0.04+0.21
5Jared GoffDETQB610+0.17+0.13+0.04+0.21
6Joe BurrowCINQB651+0.14+0.11+0.02+0.19
7Trevor LawrenceJAXQB615+0.14+0.10+0.02+0.19
8Jalen HurtsPHIQB499+0.14+0.10+0.01+0.20
9Brock Purdy◦ provisionalSFQB181+0.20+0.10-0.02+0.22
10Dak PrescottDALQB414+0.10+0.07-0.02+0.17
11Sam Darnold◦ provisionalCARQB147+0.15+0.07-0.05+0.20
12Nick Mullens◦ provisionalMINQB25+0.50+0.07-0.08+0.22
13Tom BradyTBQB758+0.08+0.07-0.01+0.15
14Ryan TannehillTENQB358+0.06+0.05-0.06+0.15
15Gardner Minshew◦ provisionalPHIQB81+0.10+0.05-0.09+0.18
16Derek CarrLVQB532+0.05+0.04-0.05+0.13
17Bailey Zappe◦ provisionalNEQB98+0.08+0.04-0.09+0.18
18Andy DaltonNOQB404+0.05+0.04-0.06+0.14
19Jacoby BrissettCLEQB392+0.05+0.04-0.06+0.14
20Geno SmithSEAQB619+0.04+0.04-0.05+0.12
21Daniel JonesNYGQB514+0.04+0.04-0.05+0.13
22Mitchell Trubisky◦ provisionalPITQB191+0.05+0.04-0.08+0.16
23Justin HerbertLACQB736+0.03+0.03-0.05+0.11
24Desmond Ridder◦ provisionalATLQB124+0.04+0.03-0.10+0.16
25Lamar JacksonBALQB352+0.03+0.03-0.07+0.13
26Kirk CousinsMINQB690+0.03+0.03-0.05+0.11
27Marcus MariotaATLQB326+0.02+0.03-0.08+0.13
28Teddy Bridgewater◦ provisionalMIAQB87-0.01+0.02-0.12+0.16
29Davis Webb◦ provisionalNYGQB41-0.06+0.02-0.13+0.16
30Nathan Peterman◦ provisionalCHIQB25-0.20+0.01-0.14+0.16
31Jameis Winston◦ provisionalNOQB125-0.03+0.01-0.12+0.14
32David Blough◦ provisionalARIQB63-0.08+0.01-0.13+0.15
33Jarrett Stidham◦ provisionalLVQB90-0.06+0.01-0.13+0.14
34Aaron RodgersGBQB575-0.01+0.00-0.09+0.09
35Tyler Huntley◦ provisionalBALQB117-0.06+0.00-0.13+0.13
36Trevor Siemian◦ provisionalCHIQB28-0.26+0.00-0.15+0.15
37Mike White◦ provisionalNYJQB184-0.04-0.00-0.12+0.12
38Kenny PickettPITQB417-0.02-0.00-0.10+0.10
39Joshua Dobbs◦ provisionalTENQB74-0.12-0.00-0.14+0.13
40Cooper Rush◦ provisionalDALQB168-0.06-0.00-0.13+0.12
41Trey Lance◦ provisionalSFQB33-0.29-0.01-0.16+0.14
42Taylor HeinickeWASQB276-0.05-0.01-0.12+0.10
43Kyler MurrayARIQB418-0.04-0.01-0.11+0.08
44Matt RyanINDQB502-0.06-0.03-0.12+0.06
45Matthew StaffordLAQB332-0.07-0.03-0.13+0.08
46Anthony Brown◦ provisionalBALQB52-0.31-0.03-0.17+0.12
47Mac JonesNEQB478-0.06-0.03-0.12+0.06
48PJ Walker◦ provisionalCARQB113-0.18-0.03-0.17+0.10
49Deshaun Watson◦ provisionalCLEQB188-0.13-0.04-0.16+0.08
50John Wolford◦ provisionalLAQB69-0.29-0.04-0.18+0.10
51Bryce Perkins◦ provisionalLAQB39-0.48-0.04-0.19+0.11
52Joe Flacco◦ provisionalNYJQB201-0.13-0.04-0.16+0.08
53Zach WilsonNYJQB265-0.14-0.06-0.17+0.06
54Colt McCoy◦ provisionalARIQB145-0.21-0.06-0.18+0.07
55Carson WentzWASQB309-0.13-0.06-0.16+0.05
56Brett Rypien◦ provisionalDENQB96-0.30-0.06-0.20+0.07
57Russell WilsonDENQB538-0.11-0.06-0.15+0.03
58Skylar Thompson◦ provisionalMIAQB111-0.29-0.07-0.20+0.06
59Baker MayfieldLAQB371-0.14-0.07-0.17+0.03
60Kyle Allen◦ provisionalHOUQB85-0.42-0.08-0.22+0.05
61Davis MillsHOUQB511-0.15-0.09-0.18+0.00
62Nick Foles◦ provisionalINDQB50-0.68-0.09-0.23+0.06
63Trace McSorley◦ provisionalARIQB86-0.43-0.09-0.22+0.05
64Sam Ehlinger◦ provisionalINDQB115-0.35-0.09-0.22+0.04
65Justin FieldsCHIQB377-0.18-0.09-0.20+0.01
66Malik Willis◦ provisionalTENQB71-0.55-0.10-0.24+0.04

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