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

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
109
targets to trust the number
shrunkrawthe shrink90% CI
60%65%70%75%TE avg1George KittleSF · 10773.7%2Darren WallerLV · 11772.7%3Tyler HigbeeLA · 8972.3%4Austin HooperATL · 9971.8%5Kyle RudolphMIN · 4971.7%6Will DisslySEA · 2771.5%7Jonnu SmithTEN · 4471.4%8Ryan GriffinNYJ · 4371.2%9Taysom HillNO · 2271.2%10Foster MoreauLV · 2571.1%11Jason WittenDAL · 8570.7%12Irv SmithMIN · 4770.7%13Hayden HurstBAL · 3970.4%14Blake JarwinDAL · 4170.2%15Travis KelceKC · 13669.9%16Marcedes LewisGB · 1969.7%17Maxx WilliamsARI · 1969.7%18Nick VannettPIT · 2269.7%19Hunter HenryLAC · 7769.5%20Charles ClayARI · 2469.3%21Geoff SwaimJAX · 1769.2%22Kaden SmithNYG · 4369.2%23Darren FellsHOU · 4868.9%24Josh HillNO · 3568.9%25Nick BoyleBAL · 4468.8%26Nick O'LearyJAX · 1868.7%27Benjamin WatsonNE · 2468.6%28Jacob HollisterSEA · 5968.6%29Vance McDonaldPIT · 5568.4%30James O'Shaughnes…JAX · 2068.4%31Jeff HeuermanDEN · 2068.4%

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

Catch rate leaderboard for the 2019 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1George Kittle◦ provisionalSFTE10779.4%73.7%68.7%78.5%
2Darren WallerLVTE11776.9%72.7%67.7%77.4%
3Tyler Higbee◦ provisionalLATE8977.5%72.3%67.0%77.4%
4Austin Hooper◦ provisionalATLTE9975.8%71.8%66.5%76.8%
5Kyle Rudolph◦ provisionalMINTE4979.6%71.7%65.6%77.4%
6Will Dissly◦ provisionalSEATE2785.2%71.5%65.0%77.7%
7Jonnu Smith◦ provisionalTENTE4479.5%71.4%65.3%77.2%
8Ryan Griffin◦ provisionalNYJTE4379.1%71.2%65.0%77.1%
9Taysom Hill◦ provisionalNOTE2286.4%71.2%64.5%77.5%
10Foster Moreau◦ provisionalLVTE2584.0%71.1%64.5%77.3%
11Jason Witten◦ provisionalDALTE8574.1%70.7%65.3%76.0%
12Irv Smith◦ provisionalMINTE4776.6%70.7%64.5%76.5%
13Hayden Hurst◦ provisionalBALTE3976.9%70.4%64.1%76.4%
14Blake Jarwin◦ provisionalDALTE4175.6%70.2%63.9%76.1%
15Travis KelceKCTE13671.3%69.9%65.0%74.6%
16Marcedes Lewis◦ provisionalGBTE1979.0%69.7%62.9%76.2%
17Maxx Williams◦ provisionalARITE1979.0%69.7%62.9%76.2%
18Nick Vannett◦ provisionalPITTE2277.3%69.7%62.9%76.1%
19Hunter Henry◦ provisionalLACTE7771.4%69.5%63.8%74.9%
20Charles Clay◦ provisionalARITE2475.0%69.3%62.6%75.7%
21Geoff Swaim◦ provisionalJAXTE1776.5%69.2%62.3%75.8%
22Kaden Smith◦ provisionalNYGTE4372.1%69.2%62.9%75.2%
23Darren Fells◦ provisionalHOUTE4870.8%68.9%62.7%74.9%
24Josh Hill◦ provisionalNOTE3571.4%68.9%62.4%75.1%
25Nick Boyle◦ provisionalBALTE4470.5%68.8%62.5%74.8%
26Nick O'Leary◦ provisionalJAXTE1872.2%68.7%61.8%75.3%
27Benjamin Watson◦ provisionalNETE2470.8%68.6%61.8%75.0%
28Jacob Hollister◦ provisionalSEATE5969.5%68.6%62.6%74.3%
29Vance McDonald◦ provisionalPITTE5569.1%68.4%62.4%74.3%
30James O'Shaughnessy◦ provisionalJAXTE2070.0%68.4%61.5%75.0%
31Jeff Heuerman◦ provisionalDENTE2070.0%68.4%61.5%75.0%
32Virgil Green◦ provisionalLACTE1369.2%68.2%61.2%75.0%
33Josh Perkins◦ provisionalPHITE1369.2%68.2%61.2%75.0%
34Derek Carrier◦ provisionalLVTE1968.4%68.2%61.2%74.7%
35Matt LaCosse◦ provisionalNETE1968.4%68.2%61.2%74.7%
36Ross Dwelley◦ provisionalSFTE2268.2%68.1%61.3%74.6%
37Delanie Walker◦ provisionalTENTE3167.7%68.0%61.4%74.3%
38Robert Tonyan◦ provisionalGBTE1566.7%67.9%60.9%74.6%
39Seth DeValve◦ provisionalJAXTE1866.7%67.9%61.0%74.5%
40Tyler Eifert◦ provisionalCINTE6467.2%67.8%61.8%73.5%
41Adam Shaheen◦ provisionalCHITE1464.3%67.7%60.6%74.4%
42C.J. Uzomah◦ provisionalCINTE4165.8%67.5%61.1%73.6%
43Dallas Goedert◦ provisionalPHITE8766.7%67.5%61.9%72.9%
44Tommy Sweeney◦ provisionalBUFTE1361.5%67.4%60.3%74.2%
45Jared Cook◦ provisionalNOTE6566.1%67.4%61.4%73.1%
46Rhett Ellison◦ provisionalNYGTE2864.3%67.3%60.6%73.8%
47Cameron Brate◦ provisionalTBTE5565.5%67.2%61.1%73.1%
48Jordan Akins◦ provisionalHOUTE5565.5%67.2%61.1%73.1%
49Luke Stocker◦ provisionalATLTE1457.1%66.9%59.8%73.7%
50Dan Arnold◦ provisionalARITE1457.1%66.9%59.8%73.7%
51Ricky Seals-Jones◦ provisionalCLETE2360.9%66.8%60.0%73.4%
52Jeremy Sprinkle◦ provisionalWASTE4163.4%66.8%60.4%73.0%
53O.J. Howard◦ provisionalTBTE5364.1%66.8%60.6%72.8%
54Evan Engram◦ provisionalNYGTE6864.7%66.8%60.9%72.5%
55Mark Andrews◦ provisionalBALTE9865.3%66.8%61.3%72.1%
56Jimmy Graham◦ provisionalGBTE6063.3%66.4%60.3%72.3%
57Jesse James◦ provisionalDETTE2759.3%66.3%59.6%72.9%
58Trey Burton◦ provisionalCHITE2458.3%66.3%59.5%72.9%
59Anthony Firkser◦ provisionalTENTE2458.3%66.3%59.5%72.9%
60Blake Bell◦ provisionalKCTE1553.3%66.3%59.2%73.1%
61Hale Hentges◦ provisionalWASTE1553.3%66.3%59.2%73.1%
62Zach ErtzPHITE13664.7%66.2%61.2%71.1%
63Durham Smythe◦ provisionalMIATE1450.0%66.0%58.9%72.9%
64Logan Thomas◦ provisionalDETTE2857.1%65.9%59.1%72.4%
65Gerald Everett◦ provisionalLATE6061.7%65.8%59.7%71.7%
66Vernon Davis◦ provisionalWASTE1952.6%65.8%58.8%72.5%
67Greg Olsen◦ provisionalCARTE8362.6%65.8%60.0%71.3%
68Eric Ebron◦ provisionalINDTE5259.6%65.4%59.1%71.4%
69Noah Fant◦ provisionalDENTE6660.6%65.3%59.3%71.1%
70Tyler Kroft◦ provisionalBUFTE1442.9%65.2%58.1%72.1%
71Demetrius Harris◦ provisionalCLETE2853.6%65.1%58.3%71.7%
72Ian Thomas◦ provisionalCARTE3053.3%64.9%58.2%71.4%
73N'Keal Harry◦ provisionalNETE2450.0%64.8%57.9%71.5%
74Jordan Matthews◦ provisionalPHITE1233.3%64.7%57.4%71.6%
75Jack Doyle◦ provisionalINDTE7358.9%64.4%58.5%70.2%
76Dawson Knox◦ provisionalBUFTE5056.0%64.3%58.0%70.4%
77Mike Gesicki◦ provisionalMIATE8957.3%63.2%57.6%68.8%
78T.J. Hockenson◦ provisionalDETTE5954.2%63.2%57.0%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).