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

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
284
targets to trust the number
shrunkrawthe shrink90% CI
60%65%70%TE avg1Austin HooperATL · 9070.1%2Zach ErtzPHI · 15669.8%3Kyle RudolphMIN · 8469.4%4Anthony FirkserTEN · 2069.2%5Levine ToiloloDET · 2468.9%6Maxx WilliamsBAL · 1768.9%7Geoff SwaimDAL · 3268.8%8Benjamin WatsonNO · 4668.6%9Jack DoyleIND · 3368.6%10Ed DicksonSEA · 1368.5%11Dallas GoedertPHI · 4468.4%12Darren FellsCLE · 1268.4%13Jesse JamesPIT · 4068.3%14Ian ThomasCAR · 4968.3%15Blake JarwinDAL · 3668.2%16Tyler EifertCIN · 1968.1%17Lance KendricksGB · 2568.1%18Trey BurtonCHI · 7768.0%19O.J. HowardTB · 4867.9%20Rhett EllisonNYG · 3567.8%21Greg OlsenCAR · 3867.8%22Niles PaulJAX · 1367.8%23Vance McDonaldPIT · 7267.8%24Chris HerndonNYJ · 5667.8%25Jordan MatthewsPHI · 2867.7%26Tyler HigbeeLA · 3467.7%27Evan EngramNYG · 6567.7%28Jermaine GreshamARI · 1267.7%29Travis KelceKC · 15167.7%30Luke StockerTEN · 2167.7%31Virgil GreenLAC · 2767.6%32Logan ThomasBUF · 1767.6%33Dalton SchultzDAL · 1767.6%

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

Catch rate leaderboard for the 2018 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1Austin Hooper◦ provisionalATLTE9078.9%70.1%66.2%74.0%
2Zach Ertz◦ provisionalPHITE15674.4%69.8%66.2%73.4%
3Kyle Rudolph◦ provisionalMINTE8476.2%69.4%65.4%73.3%
4Anthony Firkser◦ provisionalTENTE2095.0%69.2%64.8%73.5%
5Levine Toilolo◦ provisionalDETTE2487.5%68.9%64.5%73.2%
6Maxx Williams◦ provisionalBALTE1794.1%68.9%64.4%73.2%
7Geoff Swaim◦ provisionalDALTE3281.3%68.8%64.4%73.0%
8Benjamin Watson◦ provisionalNOTE4676.1%68.6%64.3%72.7%
9Jack Doyle◦ provisionalINDTE3378.8%68.6%64.2%72.8%
10Ed Dickson◦ provisionalSEATE1392.3%68.5%64.0%72.8%
11Dallas Goedert◦ provisionalPHITE4475.0%68.4%64.1%72.5%
12Darren Fells◦ provisionalCLETE1291.7%68.4%63.8%72.7%
13Jesse James◦ provisionalPITTE4075.0%68.3%64.0%72.5%
14Ian Thomas◦ provisionalCARTE4973.5%68.3%64.0%72.4%
15Blake Jarwin◦ provisionalDALTE3675.0%68.2%63.9%72.4%
16Tyler Eifert◦ provisionalCINTE1979.0%68.1%63.6%72.4%
17Lance Kendricks◦ provisionalGBTE2576.0%68.1%63.6%72.4%
18Trey Burton◦ provisionalCHITE7770.1%68.0%63.9%71.9%
19O.J. Howard◦ provisionalTBTE4870.8%67.9%63.6%72.0%
20Rhett Ellison◦ provisionalNYGTE3571.4%67.8%63.5%72.0%
21Greg Olsen◦ provisionalCARTE3871.0%67.8%63.5%72.0%
22Niles Paul◦ provisionalJAXTE1376.9%67.8%63.3%72.2%
23Vance McDonald◦ provisionalPITTE7269.4%67.8%63.7%71.8%
24Chris Herndon◦ provisionalNYJTE5669.6%67.8%63.5%71.9%
25Jordan Matthews◦ provisionalPHITE2871.4%67.7%63.3%72.0%
26Tyler Higbee◦ provisionalLATE3470.6%67.7%63.3%72.0%
27Evan Engram◦ provisionalNYGTE6569.2%67.7%63.5%71.8%
28Jermaine Gresham◦ provisionalARITE1275.0%67.7%63.1%72.1%
29Travis Kelce◦ provisionalKCTE15168.2%67.7%63.9%71.3%
30Luke Stocker◦ provisionalTENTE2171.4%67.7%63.2%72.0%
31Virgil Green◦ provisionalLACTE2770.4%67.6%63.2%71.9%
32Logan Thomas◦ provisionalBUFTE1770.6%67.6%63.1%71.9%
33Dalton Schultz◦ provisionalDALTE1770.6%67.6%63.1%71.9%
34Mike Gesicki◦ provisionalMIATE3268.8%67.5%63.1%71.8%
35Mark Andrews◦ provisionalBALTE5068.0%67.5%63.2%71.6%
36Luke Willson◦ provisionalDETTE1968.4%67.4%62.9%71.8%
37Jordan Akins◦ provisionalHOUTE2568.0%67.4%63.0%71.7%
38Vernon Davis◦ provisionalWASTE3767.6%67.4%63.0%71.6%
39Nick Vannett◦ provisionalSEATE4367.4%67.4%63.1%71.6%
40Jared Cook◦ provisionalLVTE10167.3%67.4%63.4%71.2%
41C.J. Uzomah◦ provisionalCINTE6467.2%67.3%63.1%71.4%
42Josh Hill◦ provisionalNOTE2466.7%67.3%62.9%71.6%
43Jonnu Smith◦ provisionalTENTE3066.7%67.3%62.9%71.6%
44Scott Simonson◦ provisionalNYGTE1464.3%67.2%62.7%71.6%
45Jake Butt◦ provisionalDENTE1361.5%67.1%62.6%71.5%
46Dan Arnold◦ provisionalNOTE1963.2%67.1%62.6%71.5%
47Matt LaCosse◦ provisionalDENTE3764.9%67.1%62.7%71.3%
48Derek Carrier◦ provisionalLVTE1258.3%67.0%62.5%71.4%
49Jeff Heuerman◦ provisionalDENTE4864.6%67.0%62.7%71.2%
50Gerald Everett◦ provisionalLATE5164.7%67.0%62.7%71.1%
51Rob Gronkowski◦ provisionalNETE7265.3%67.0%62.8%71.0%
52Eric Tomlinson◦ provisionalNYJTE1457.1%66.9%62.4%71.3%
53Will Dissly◦ provisionalSEATE1457.1%66.9%62.4%71.3%
54James O'Shaughnessy◦ provisionalJAXTE3863.2%66.9%62.5%71.1%
55Jason Croom◦ provisionalBUFTE3562.9%66.9%62.5%71.2%
56Austin Seferian-Jenkins◦ provisionalJAXTE1957.9%66.8%62.3%71.2%
57Mo Alie-Cox◦ provisionalINDTE1353.8%66.8%62.2%71.2%
58Nick Boyle◦ provisionalBALTE3762.2%66.8%62.4%71.0%
59Jordan Reed◦ provisionalWASTE8464.3%66.7%62.6%70.7%
60Hayden Hurst◦ provisionalBALTE2356.5%66.6%62.1%70.9%
61David Njoku◦ provisionalCLETE8863.6%66.5%62.4%70.5%
62Cameron Brate◦ provisionalTBTE4961.2%66.5%62.2%70.7%
63Jordan Leggett◦ provisionalNYJTE2556.0%66.5%62.0%70.8%
64Charles Clay◦ provisionalBUFTE3658.3%66.4%62.0%70.6%
65George Kittle◦ provisionalSFTE13863.8%66.2%62.4%69.9%
66Antonio Gates◦ provisionalLACTE4858.3%66.1%61.7%70.3%
67Jimmy Graham◦ provisionalGBTE8961.8%66.0%62.0%70.0%
68Michael Roberts◦ provisionalDETTE2045.0%65.9%61.4%70.3%
69Ryan Griffin◦ provisionalHOUTE4355.8%65.8%61.5%70.1%
70Demetrius Harris◦ provisionalKCTE2548.0%65.8%61.3%70.2%
71Eric Ebron◦ provisionalINDTE11060.0%65.3%61.3%69.2%
72Ricky Seals-Jones◦ provisionalARITE6949.3%63.8%59.6%68.0%

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