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.

Catch rate · 2021

Receptions per target, shrunk within position (WR vs TE separately). Depth-of-target confound; catchable-target rate not available here.

Beats raw by
18.3%
lower out-of-sample error
RMSE raw → shrunk
11.1% → 9.1%
odd vs. even weeks
Split-half reliability
0.35
how repeatable the raw stat is
Stabilizes at
177
targets to trust the number
shrunkrawthe shrink90% CI
60%65%70%75%TE avg1Durham SmytheMIA · 4171.1%2Albert OkwuegbunamDEN · 4070.9%3George KittleSF · 9470.8%4C.J. UzomahCIN · 6370.8%5Hayden HurstATL · 3170.6%6Maxx WilliamsARI · 1770.6%7Noah FantDEN · 9170.5%8Anthony FirkserTEN · 4370.4%9Pat FreiermuthPIT · 8070.4%10Gerald EverettSEA · 6370.4%11Dalton SchultzDAL · 10670.3%12Marcedes LewisGB · 2870.2%13Geoff SwaimTEN · 4070.0%14Will DisslySEA · 2669.9%15Stephen AndersonLAC · 1969.9%16John BatesWAS · 2569.8%17Dallas GoedertPHI · 7769.7%18Josiah DeguaraGB · 3369.5%19Tyler HigbeeLA · 8569.4%20Zach GentryPIT · 2569.3%21Harrison BryantCLE · 2869.2%22T.J. HockensonDET · 8669.2%23Jordan AkinsHOU · 3369.0%24Tyler ConklinMIN · 8768.9%25Adam ShaheenMIA · 1668.9%26MyCole PruittTEN · 1968.8%27Logan ThomasWAS · 2568.8%28Tommy SweeneyBUF · 1268.7%29Donald ParhamLAC · 2868.7%30Brevin JordanHOU · 2868.7%31Drew SampleCIN · 1568.7%32Kylen GransonIND · 1568.7%

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.

Catch rate · 2021 · full board

Catch rate leaderboard for the 2021 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1Durham Smythe◦ provisionalMIATE4182.9%71.1%65.9%76.0%
2Albert Okwuegbunam◦ provisionalDENTE4082.5%70.9%65.8%75.9%
3George Kittle◦ provisionalSFTE9475.5%70.8%66.2%75.3%
4C.J. Uzomah◦ provisionalCINTE6377.8%70.8%65.9%75.5%
5Hayden Hurst◦ provisionalATLTE3183.9%70.6%65.3%75.7%
6Maxx Williams◦ provisionalARITE1794.1%70.6%65.1%75.8%
7Noah Fant◦ provisionalDENTE9174.7%70.5%65.8%75.0%
8Anthony Firkser◦ provisionalTENTE4379.1%70.4%65.3%75.4%
9Pat Freiermuth◦ provisionalPITTE8075.0%70.4%65.6%75.0%
10Gerald Everett◦ provisionalSEATE6376.2%70.4%65.5%75.1%
11Dalton Schultz◦ provisionalDALTE10673.6%70.3%65.8%74.7%
12Marcedes Lewis◦ provisionalGBTE2882.1%70.2%64.9%75.3%
13Geoff Swaim◦ provisionalTENTE4077.5%70.0%64.8%75.0%
14Will Dissly◦ provisionalSEATE2680.8%69.9%64.5%75.1%
15Stephen Anderson◦ provisionalLACTE1984.2%69.9%64.4%75.1%
16John Bates◦ provisionalWASTE2580.0%69.8%64.3%75.0%
17Dallas Goedert◦ provisionalPHITE7772.7%69.7%64.8%74.3%
18Josiah Deguara◦ provisionalGBTE3375.8%69.5%64.2%74.6%
19Tyler Higbee◦ provisionalLATE8571.8%69.4%64.7%74.0%
20Zach Gentry◦ provisionalPITTE2576.0%69.3%63.8%74.5%
21Harrison Bryant◦ provisionalCLETE2875.0%69.2%63.8%74.4%
22T.J. Hockenson◦ provisionalDETTE8670.9%69.2%64.4%73.8%
23Jordan Akins◦ provisionalHOUTE3372.7%69.0%63.7%74.1%
24Tyler Conklin◦ provisionalMINTE8770.1%68.9%64.2%73.5%
25Adam Shaheen◦ provisionalMIATE1675.0%68.9%63.3%74.2%
26MyCole Pruitt◦ provisionalTENTE1973.7%68.8%63.3%74.2%
27Logan Thomas◦ provisionalWASTE2572.0%68.8%63.3%74.0%
28Tommy Sweeney◦ provisionalBUFTE1275.0%68.7%63.1%74.2%
29Donald Parham◦ provisionalLACTE2871.4%68.7%63.3%74.0%
30Brevin Jordan◦ provisionalHOUTE2871.4%68.7%63.3%74.0%
31Drew Sample◦ provisionalCINTE1573.3%68.7%63.1%74.1%
32Kylen Granson◦ provisionalINDTE1573.3%68.7%63.1%74.1%
33Dawson Knox◦ provisionalBUFTE7169.0%68.5%63.6%73.3%
34Brock Wright◦ provisionalDETTE1770.6%68.5%62.9%73.9%
35Travis Kelce◦ provisionalKCTE13468.7%68.5%64.1%72.7%
36Blake Bell◦ provisionalKCTE1369.2%68.4%62.7%73.8%
37James O'Shaughnessy◦ provisionalJAXTE3568.6%68.4%63.0%73.5%
38Foster Moreau◦ provisionalLVTE4468.2%68.3%63.1%73.3%
39David Njoku◦ provisionalCLETE5367.9%68.2%63.1%73.2%
40Pharaoh Brown◦ provisionalHOUTE3467.7%68.2%62.9%73.4%
41Eric Saubert◦ provisionalDENTE1266.7%68.2%62.5%73.7%
42Eric Ebron◦ provisionalPITTE1866.7%68.2%62.6%73.5%
43O.J. Howard◦ provisionalTBTE2166.7%68.1%62.6%73.5%
44Mark Andrews◦ provisionalBALTE15867.7%68.0%63.8%72.2%
45Blake Jarwin◦ provisionalDALTE1764.7%68.0%62.4%73.4%
46Hunter Henry◦ provisionalNETE7566.7%67.8%62.9%72.6%
47Tyler Kroft◦ provisionalNYJTE2564.0%67.8%62.3%73.1%
48Dan Arnold◦ provisionalJAXTE5366.0%67.8%62.6%72.8%
49Kyle Rudolph◦ provisionalNYGTE4065.0%67.7%62.4%72.8%
50Nick Vannett◦ provisionalNOTE1560.0%67.7%62.0%73.1%
51Jacob Hollister◦ provisionalJAXTE1560.0%67.7%62.0%73.1%
52Josh Oliver◦ provisionalBALTE1560.0%67.7%62.0%73.1%
53Ryan Griffin◦ provisionalNYJTE4264.3%67.5%62.3%72.6%
54Jack Doyle◦ provisionalINDTE4564.4%67.5%62.3%72.6%
55Robert Tonyan◦ provisionalGBTE2962.1%67.4%62.0%72.7%
56Juwan Johnson◦ provisionalNOTE2259.1%67.3%61.8%72.7%
57Zach Ertz◦ provisionalARITE11365.5%67.2%62.6%71.7%
58Jimmy Graham◦ provisionalCHITE2458.3%67.1%61.6%72.5%
59Ian Thomas◦ provisionalCARTE3060.0%67.1%61.7%72.4%
60Jonnu Smith◦ provisionalNETE4562.2%67.1%61.8%72.2%
61Cole Kmet◦ provisionalCHITE9364.5%67.0%62.2%71.6%
62Adam Trautman◦ provisionalNOTE4461.4%66.9%61.7%72.0%
63Mike Gesicki◦ provisionalMIATE11364.6%66.9%62.3%71.3%
64N'Keal Harry◦ provisionalNETE2254.5%66.8%61.2%72.2%
65Evan Engram◦ provisionalNYGTE7363.0%66.8%61.8%71.6%
66Austin Hooper◦ provisionalCLETE6261.3%66.5%61.4%71.4%
67Ricky Seals-Jones◦ provisionalWASTE5158.8%66.2%61.0%71.3%
68Tommy Tremble◦ provisionalCARTE3655.6%66.2%60.8%71.4%
69Rob Gronkowski◦ provisionalTBTE8961.8%66.1%61.3%70.8%
70Kyle Pitts◦ provisionalATLTE11061.8%65.8%61.2%70.4%
71Mo Alie-Cox◦ provisionalINDTE4553.3%65.3%60.0%70.5%
72Darren Waller◦ provisionalLVTE9359.1%65.2%60.3%69.9%
73Cameron Brate◦ provisionalTBTE5752.6%64.5%59.3%69.6%
74Jared Cook◦ provisionalLACTE8556.5%64.5%59.6%69.3%

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