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

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
97
targets to trust the number
shrunkrawthe shrink90% CI
55%60%65%70%75%TE avg1Benjamin WatsonBAL · 8069.3%2Jack DoyleIND · 10968.8%3Austin HooperATL · 6568.3%4Jason WittenDAL · 8767.8%5Jordan ReedWAS · 3567.2%6Hunter HenryLAC · 6267.1%7Kyle RudolphMIN · 8166.7%8Maxx WilliamsBAL · 1866.7%9Nick BoyleBAL · 3866.4%10Rhett EllisonNYG · 3266.4%11Levine ToiloloATL · 1466.4%12Adam ShaheenCHI · 1466.4%13Jermaine GreshamARI · 4666.2%14Travis KelceKC · 12266.1%15Coby FleenerNO · 3065.9%16Nick VannettSEA · 1565.8%17David MorganMIN · 1265.8%18Trey BurtonPHI · 3265.6%19Brandon WilliamsIND · 1765.5%20Jesse JamesPIT · 6365.4%21George KittleSF · 6365.4%22Austin Seferian-J…NYJ · 7465.3%23Josh HillNO · 2265.3%24Delanie WalkerTEN · 11165.2%25Zach ErtzPHI · 11165.2%26Tyler KroftCIN · 6265.2%27Anthony FasanoMIA · 1665.2%28Jordan MatthewsBUF · 3665.2%29Martellus BennettNE · 4465.0%30Nick O'LearyBUF · 3264.9%31Luke WillsonSEA · 2264.4%32Niles PaulWAS · 1964.4%33Clive WalfordLV · 1364.3%

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

Catch rate leaderboard for the 2017 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1Benjamin Watson◦ provisionalBALTE8076.3%69.3%63.5%74.9%
2Jack DoyleINDTE10973.4%68.8%63.4%74.0%
3Austin Hooper◦ provisionalATLTE6575.4%68.3%62.2%74.2%
4Jason Witten◦ provisionalDALTE8772.4%67.8%62.0%73.3%
5Jordan Reed◦ provisionalWASTE3577.1%67.2%60.3%73.7%
6Hunter Henry◦ provisionalLACTE6272.6%67.1%60.9%73.1%
7Kyle Rudolph◦ provisionalMINTE8170.4%66.7%60.8%72.4%
8Maxx Williams◦ provisionalBALTE1883.3%66.7%59.3%73.7%
9Nick Boyle◦ provisionalBALTE3873.7%66.4%59.6%72.9%
10Rhett Ellison◦ provisionalNYGTE3275.0%66.4%59.5%73.1%
11Levine Toilolo◦ provisionalATLTE1485.7%66.4%58.9%73.5%
12Adam Shaheen◦ provisionalCHITE1485.7%66.4%58.9%73.5%
13Jermaine Gresham◦ provisionalARITE4671.7%66.2%59.6%72.6%
14Travis KelceKCTE12268.0%66.1%60.7%71.2%
15Coby Fleener◦ provisionalNOTE3073.3%65.9%58.9%72.6%
16Nick Vannett◦ provisionalSEATE1580.0%65.8%58.3%73.0%
17David Morgan◦ provisionalMINTE1283.3%65.8%58.1%73.0%
18Trey Burton◦ provisionalPHITE3271.9%65.6%58.7%72.4%
19Brandon Williams◦ provisionalINDTE1776.5%65.5%58.1%72.6%
20Jesse James◦ provisionalPITTE6368.3%65.4%59.1%71.5%
21George Kittle◦ provisionalSFTE6368.3%65.4%59.1%71.5%
22Austin Seferian-Jenkins◦ provisionalNYJTE7467.6%65.3%59.2%71.2%
23Josh Hill◦ provisionalNOTE2272.7%65.3%58.0%72.3%
24Delanie WalkerTENTE11166.7%65.2%59.7%70.6%
25Zach ErtzPHITE11166.7%65.2%59.7%70.6%
26Tyler Kroft◦ provisionalCINTE6267.7%65.2%58.9%71.3%
27Anthony Fasano◦ provisionalMIATE1675.0%65.2%57.7%72.4%
28Jordan Matthews◦ provisionalBUFTE3669.4%65.2%58.3%71.8%
29Martellus Bennett◦ provisionalNETE4468.2%65.0%58.3%71.5%
30Nick O'Leary◦ provisionalBUFTE3268.8%64.9%57.8%71.6%
31Charles Clay◦ provisionalBUFTE7466.2%64.7%58.6%70.6%
32Julius Thomas◦ provisionalMIATE6266.1%64.6%58.3%70.7%
33O.J. Howard◦ provisionalTBTE3966.7%64.5%57.6%71.1%
34Luke Willson◦ provisionalSEATE2268.2%64.4%57.1%71.5%
35Rob GronkowskiNETE10665.1%64.4%58.8%69.8%
36Niles Paul◦ provisionalWASTE1968.4%64.4%57.0%71.5%
37Clive Walford◦ provisionalLVTE1369.2%64.3%56.6%71.6%
38C.J. Uzomah◦ provisionalCINTE1566.7%64.0%56.4%71.3%
39Darren Fells◦ provisionalDETTE2665.4%64.0%56.7%70.9%
40Daniel Brown◦ provisionalCHITE2065.0%63.8%56.4%71.0%
41Virgil Green◦ provisionalDENTE2263.6%63.6%56.2%70.7%
42Garrett Celek◦ provisionalSFTE3363.6%63.6%56.6%70.4%
43C.J. Fiedorowicz◦ provisionalHOUTE2263.6%63.6%56.2%70.7%
44Richard Rodgers◦ provisionalGBTE1963.2%63.5%56.0%70.7%
45Austin Traylor◦ provisionalDENTE1361.5%63.3%55.7%70.7%
46Jared Cook◦ provisionalLVTE8662.8%63.2%57.3%69.0%
47Vernon Davis◦ provisionalWASTE6962.3%63.0%56.8%69.1%
48Cameron Brate◦ provisionalTBTE7762.3%63.0%56.9%69.0%
49Ed Dickson◦ provisionalCARTE4961.2%62.8%56.1%69.3%
50Jonnu Smith◦ provisionalTENTE3060.0%62.7%55.6%69.7%
51Eric Ebron◦ provisionalDETTE8661.6%62.7%56.7%68.5%
52Vance McDonald◦ provisionalPITTE2458.3%62.5%55.2%69.6%
53James O'Shaughnessy◦ provisionalJAXTE2458.3%62.5%55.2%69.6%
54Zach Miller◦ provisionalCHITE3557.1%61.9%54.8%68.7%
55Brent Celek◦ provisionalPHITE2454.2%61.7%54.4%68.8%
56Jeff Heuerman◦ provisionalDENTE1850.0%61.5%53.9%68.8%
57Antonio Gates◦ provisionalLACTE5356.6%61.1%54.5%67.6%
58Seth DeValve◦ provisionalCLETE5856.9%61.1%54.6%67.4%
59Tyler Higbee◦ provisionalLATE4555.6%61.0%54.2%67.7%
60Jimmy GrahamSEATE9858.2%60.9%55.1%66.5%
61Dion Sims◦ provisionalCHITE2951.7%60.9%53.6%67.9%
62Troy Niklas◦ provisionalARITE2347.8%60.6%53.1%67.8%
63Lance Kendricks◦ provisionalGBTE3551.4%60.4%53.3%67.3%
64A.J. Derby◦ provisionalMIATE4052.5%60.3%53.4%67.1%
65Ross Travis◦ provisionalINDTE1741.2%60.2%52.6%67.6%
66Dwayne Allen◦ provisionalNETE2245.5%60.2%52.8%67.5%
67Ryan Griffin◦ provisionalHOUTE2748.1%60.2%52.9%67.3%
68Gerald Everett◦ provisionalLATE3250.0%60.2%53.1%67.2%
69Demetrius Harris◦ provisionalKCTE3650.0%59.9%52.8%66.8%
70David Njoku◦ provisionalCLETE6053.3%59.7%53.2%66.0%
71Evan EngramNYGTE11555.6%59.3%53.7%64.8%
72Ricky Seals-Jones◦ provisionalARITE2842.9%58.9%51.6%66.1%
73Darrell Daniels◦ provisionalINDTE1323.1%58.8%51.0%66.4%
74Marcedes Lewis◦ provisionalJAXTE4949.0%58.7%51.9%65.3%
75Greg Olsen◦ provisionalCARTE3844.7%58.3%51.2%65.2%
76Stephen Anderson◦ provisionalHOUTE5248.1%58.2%51.5%64.7%

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