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

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
107
targets to trust the number
shrunkrawthe shrink90% CI
60%70%80%TE avg1Robert TonyanGB · 5974.6%2Durham SmytheMIA · 2972.0%3Cameron BrateTB · 3470.9%4Darren WallerLV · 14670.7%5Adam TrautmanNO · 1670.6%6Will DisslySEA · 2970.5%7Mo Alie-CoxIND · 3970.5%8Kaden SmithNYG · 2170.2%9George KittleSF · 6470.1%10Drew SampleCIN · 5369.9%11Travis KelceKC · 14669.9%12Pharaoh BrownHOU · 1669.8%13Jordan AkinsHOU · 4969.8%14Ross DwelleySF · 2469.4%15Anthony FirkserTEN · 5369.3%16Nick BoyleBAL · 1769.3%17Richard RodgersPHI · 3269.0%18Tyler HigbeeLA · 6169.0%19Kyle RudolphMIN · 3868.9%20Dalton SchultzDAL · 8968.8%21Darren FellsHOU · 2868.8%22Jace SternbergerGB · 1568.8%23Dallas GoedertPHI · 6568.5%24Jason WittenLV · 1768.5%25Vance McDonaldPIT · 2068.4%26James O'Shaughnes…JAX · 3968.4%27Tyler ConklinMIN · 2668.3%28Tyler KroftBUF · 1668.2%29Ryan GriffinNYJ · 1268.0%30Geoff SwaimTEN · 1268.0%31Blake BellDAL · 1567.9%32Albert OkwuegbunamDEN · 1567.9%

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

Catch rate leaderboard for the 2020 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1Robert Tonyan◦ provisionalGBTE5988.1%74.6%68.9%80.0%
2Durham Smythe◦ provisionalMIATE2989.7%72.0%65.5%78.1%
3Cameron Brate◦ provisionalTBTE3482.3%70.9%64.4%77.0%
4Darren WallerLVTE14673.3%70.7%65.9%75.3%
5Adam Trautman◦ provisionalNOTE1693.8%70.6%63.7%77.2%
6Will Dissly◦ provisionalSEATE2982.8%70.5%63.9%76.8%
7Mo Alie-Cox◦ provisionalINDTE3979.5%70.5%64.1%76.5%
8Kaden Smith◦ provisionalNYGTE2185.7%70.2%63.4%76.7%
9George Kittle◦ provisionalSFTE6475.0%70.1%64.2%75.7%
10Drew Sample◦ provisionalCINTE5375.5%69.9%63.8%75.7%
11Travis KelceKCTE14671.9%69.9%65.1%74.6%
12Pharaoh Brown◦ provisionalHOUTE1687.5%69.8%62.8%76.4%
13Jordan Akins◦ provisionalHOUTE4975.5%69.8%63.6%75.7%
14Ross Dwelley◦ provisionalSFTE2479.2%69.4%62.6%75.8%
15Anthony Firkser◦ provisionalTENTE5373.6%69.3%63.2%75.1%
16Nick Boyle◦ provisionalBALTE1782.3%69.3%62.3%75.9%
17Richard Rodgers◦ provisionalPHITE3275.0%69.0%62.4%75.3%
18Tyler Higbee◦ provisionalLATE6172.1%69.0%63.0%74.7%
19Kyle Rudolph◦ provisionalMINTE3873.7%68.9%62.4%75.0%
20Dalton Schultz◦ provisionalDALTE8970.8%68.8%63.3%74.1%
21Darren Fells◦ provisionalHOUTE2875.0%68.8%62.1%75.2%
22Jace Sternberger◦ provisionalGBTE1580.0%68.8%61.7%75.5%
23Dallas Goedert◦ provisionalPHITE6570.8%68.5%62.6%74.2%
24Jason Witten◦ provisionalLVTE1776.5%68.5%61.4%75.1%
25Vance McDonald◦ provisionalPITTE2075.0%68.4%61.5%75.0%
26James O'Shaughnessy◦ provisionalJAXTE3971.8%68.4%62.0%74.6%
27Tyler Conklin◦ provisionalMINTE2673.1%68.3%61.6%74.8%
28Tyler Kroft◦ provisionalBUFTE1675.0%68.2%61.1%74.9%
29Ryan Griffin◦ provisionalNYJTE1275.0%68.0%60.8%74.8%
30Geoff Swaim◦ provisionalTENTE1275.0%68.0%60.8%74.8%
31Blake Bell◦ provisionalDALTE1573.3%67.9%60.8%74.7%
32Albert Okwuegbunam◦ provisionalDENTE1573.3%67.9%60.8%74.7%
33Jack Doyle◦ provisionalINDTE3369.7%67.8%61.1%74.1%
34Dan Arnold◦ provisionalARITE4568.9%67.7%61.3%73.8%
35Irv Smith◦ provisionalMINTE4468.2%67.5%61.1%73.6%
36Chris Herndon◦ provisionalNYJTE4667.4%67.2%60.9%73.3%
37Darrell Daniels◦ provisionalARITE1266.7%67.1%59.9%74.0%
38Ryan Izzo◦ provisionalNETE2065.0%66.8%59.8%73.5%
39David Njoku◦ provisionalCLETE2965.5%66.8%60.1%73.3%
40Gerald Everett◦ provisionalLATE6266.1%66.8%60.7%72.6%
41Jimmy Graham◦ provisionalCHITE7665.8%66.6%60.8%72.2%
42Mark Andrews◦ provisionalBALTE8865.9%66.6%61.0%72.0%
43Noah Fant◦ provisionalDENTE9466.0%66.6%61.0%72.0%
44Austin Hooper◦ provisionalCLETE7065.7%66.6%60.7%72.3%
45Greg Olsen◦ provisionalSEATE3764.9%66.6%60.0%72.9%
46Jesse James◦ provisionalDETTE2263.6%66.6%59.6%73.2%
47Nick Vannett◦ provisionalDENTE2263.6%66.6%59.6%73.2%
48Ian Thomas◦ provisionalCARTE3164.5%66.6%59.8%73.0%
49Taysom Hill◦ provisionalNOTE1361.5%66.6%59.3%73.5%
50T.J. Hockenson◦ provisionalDETTE10265.7%66.4%61.0%71.7%
51Harrison Bryant◦ provisionalCLETE3863.2%66.1%59.5%72.4%
52Marcedes Lewis◦ provisionalGBTE1758.8%66.0%58.9%72.9%
53Logan ThomasWASTE11164.9%66.0%60.6%71.2%
54Hunter Henry◦ provisionalLACTE9364.5%65.9%60.3%71.4%
55O.J. Howard◦ provisionalTBTE1957.9%65.8%58.7%72.6%
56Cole Kmet◦ provisionalCHITE4562.2%65.7%59.3%71.9%
57Troy Fumagalli◦ provisionalDENTE1553.3%65.5%58.3%72.4%
58Jacob Hollister◦ provisionalSEATE4161.0%65.5%58.9%71.8%
59Jonnu Smith◦ provisionalTENTE6662.1%65.2%59.2%71.1%
60Hayden Hurst◦ provisionalATLTE8962.9%65.2%59.6%70.7%
61Jared Cook◦ provisionalNOTE6061.7%65.2%59.0%71.1%
62Demetrius Harris◦ provisionalCHITE1450.0%65.2%57.9%72.1%
63Mike Gesicki◦ provisionalMIATE8562.4%65.0%59.3%70.6%
64Adam Shaheen◦ provisionalMIATE2254.5%65.0%58.0%71.8%
65Trey Burton◦ provisionalINDTE4759.6%64.8%58.4%71.0%
66Tyler Eifert◦ provisionalJAXTE6060.0%64.6%58.4%70.6%
67Donald Parham◦ provisionalLACTE2050.0%64.5%57.4%71.3%
68Eric Ebron◦ provisionalPITTE9260.9%64.3%58.6%69.8%
69Jordan Reed◦ provisionalSFTE4656.5%64.0%57.5%70.2%
70N'Keal Harry◦ provisionalNETE5757.9%63.9%57.7%70.0%
71Rob Gronkowski◦ provisionalTBTE7758.4%63.5%57.6%69.3%
72Dawson Knox◦ provisionalBUFTE4454.5%63.5%56.9%69.8%
73Evan EngramNYGTE10957.8%62.4%57.0%67.8%
74Zach Ertz◦ provisionalPHITE7349.3%59.9%53.8%65.8%

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