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.

EPA per target · 2021

Mean EPA per target, shrunk within position.

Beats raw by
24.4%
lower out-of-sample error
RMSE raw → shrunk
0.38 → 0.29
odd vs. even weeks
Split-half reliability
0.13
how repeatable the raw stat is
Stabilizes at
307 TE · 198 WR
targets to trust the number
shrunkrawthe shrink90% CI
0.00.20.4TE avgWR avg1Cooper KuppLA · 192+0.412Mike EvansTB · 114+0.373Mike WilliamsLAC · 130+0.354Ja'Marr ChaseCIN · 128+0.355DeAndre HopkinsARI · 64+0.356Tee HigginsCIN · 111+0.347Justin JeffersonMIN · 170+0.348Henry Ruggs IIILV · 36+0.349Kendrick BourneNE · 70+0.3410Tyler LockettSEA · 108+0.3311Christian KirkARI · 103+0.3312Byron PringleKC · 60+0.3313Allen LazardGB · 60+0.3314Davante AdamsGB · 169+0.3315Deebo Samuel Sr.SF · 121+0.3216Cedrick Wilson Jr.DAL · 62+0.3217Amari CooperDAL · 104+0.3218Amon-Ra St. BrownDET · 121+0.3219Antonio BrownTB · 62+0.3220Brandon AiyukSF · 86+0.3121Cyril GraysonTB · 12+0.3122Tyreek HillKC · 159+0.3123Jalen GuytonLAC · 48+0.3124Tim PatrickDEN · 85+0.3025Quez WatkinsPHI · 63+0.3026Hunter RenfrowLV · 129+0.3027Robert WoodsLA · 70+0.2928Randall CobbGB · 39+0.2929Michael PittmanIND · 130+0.2930Dallas GoedertPHI · 77+0.2931T.Y. HiltonIND · 37+0.2932Isaiah McKenzieBUF · 26+0.2933James ProcheBAL · 20+0.2934John RossNYG · 20+0.2835Isaiah FordMIA · 17+0.2736Mohamed SanuSF · 24+0.2737Maxx WilliamsARI · 17+0.2338John BatesWAS · 25+0.2339Juwan JohnsonNO · 22+0.2240Jimmy GrahamCHI · 24+0.2241MyCole PruittTEN · 19+0.21

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.

EPA per target · 2021 · full board

EPA per target leaderboard for the 2021 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1Cooper Kupp◦ provisionalLAWR192+0.59+0.41+0.28+0.55
2Mike Evans◦ provisionalTBWR114+0.58+0.37+0.21+0.52
3Mike Williams◦ provisionalLACWR130+0.51+0.35+0.20+0.50
4Ja'Marr Chase◦ provisionalCINWR128+0.51+0.35+0.20+0.50
5DeAndre Hopkins◦ provisionalARIWR64+0.66+0.35+0.18+0.51
6Tee Higgins◦ provisionalCINWR111+0.52+0.34+0.19+0.50
7Justin Jefferson◦ provisionalMINWR170+0.46+0.34+0.20+0.48
8Henry Ruggs III◦ provisionalLVWR36+0.86+0.34+0.16+0.52
9Kendrick Bourne◦ provisionalNEWR70+0.61+0.34+0.17+0.50
10Tyler Lockett◦ provisionalSEAWR108+0.50+0.33+0.18+0.49
11Christian Kirk◦ provisionalARIWR103+0.50+0.33+0.18+0.49
12Byron Pringle◦ provisionalKCWR60+0.61+0.33+0.16+0.50
13Allen Lazard◦ provisionalGBWR60+0.61+0.33+0.16+0.50
14Davante Adams◦ provisionalGBWR169+0.43+0.33+0.19+0.47
15Deebo Samuel Sr.◦ provisionalSFWR121+0.46+0.32+0.17+0.48
16Cedrick Wilson Jr.◦ provisionalDALWR62+0.58+0.32+0.16+0.49
17Amari Cooper◦ provisionalDALWR104+0.46+0.32+0.16+0.47
18Amon-Ra St. Brown◦ provisionalDETWR121+0.44+0.32+0.17+0.47
19Antonio Brown◦ provisionalTBWR62+0.55+0.32+0.15+0.48
20Brandon Aiyuk◦ provisionalSFWR86+0.47+0.31+0.15+0.47
21Cyril Grayson◦ provisionalTBWR12+1.44+0.31+0.13+0.50
22Tyreek Hill◦ provisionalKCWR159+0.39+0.31+0.17+0.45
23Jalen Guyton◦ provisionalLACWR48+0.56+0.31+0.13+0.48
24Tim Patrick◦ provisionalDENWR85+0.44+0.30+0.14+0.46
25Quez Watkins◦ provisionalPHIWR63+0.49+0.30+0.14+0.47
26Hunter Renfrow◦ provisionalLVWR129+0.39+0.30+0.15+0.45
27Robert Woods◦ provisionalLAWR70+0.44+0.29+0.13+0.46
28Randall Cobb◦ provisionalGBWR39+0.55+0.29+0.12+0.47
29Michael Pittman◦ provisionalINDWR130+0.37+0.29+0.15+0.44
30Dallas Goedert◦ provisionalPHITE77+0.69+0.29+0.17+0.42
31T.Y. Hilton◦ provisionalINDWR37+0.55+0.29+0.12+0.47
32Isaiah McKenzie◦ provisionalBUFWR26+0.65+0.29+0.11+0.47
33James Proche◦ provisionalBALWR20+0.72+0.29+0.10+0.47
34Laquon Treadwell◦ provisionalJAXWR51+0.45+0.29+0.12+0.46
35Donovan Peoples-Jones◦ provisionalCLEWR59+0.42+0.29+0.12+0.45
36Van Jefferson◦ provisionalLAWR89+0.38+0.28+0.13+0.44
37Jauan Jennings◦ provisionalSFWR38+0.48+0.28+0.11+0.46
38John Ross◦ provisionalNYGWR20+0.61+0.28+0.10+0.46
39Nick Westbrook-Ikhine◦ provisionalTENWR57+0.38+0.27+0.11+0.44
40Isaiah Ford◦ provisionalMIAWR17+0.62+0.27+0.09+0.46
41Josh Reynolds◦ provisionalDETWR49+0.39+0.27+0.10+0.44
42Mohamed Sanu◦ provisionalSFWR24+0.50+0.27+0.09+0.45
43A.J. Brown◦ provisionalTENWR105+0.32+0.27+0.12+0.43
44Marquez Callaway◦ provisionalNOWR84+0.33+0.27+0.11+0.43
45Emmanuel Sanders◦ provisionalBUFWR73+0.34+0.27+0.11+0.43
46Mack Hollins◦ provisionalMIAWR29+0.43+0.27+0.09+0.45
47DeVante Parker◦ provisionalMIAWR73+0.33+0.27+0.10+0.43
48Gabe Davis◦ provisionalBUFWR63+0.33+0.26+0.10+0.43
49Kendall Hinton◦ provisionalDENWR23+0.44+0.26+0.08+0.45
50A.J. Green◦ provisionalARIWR93+0.31+0.26+0.11+0.42
51Quintez Cephus◦ provisionalDETWR23+0.41+0.26+0.08+0.44
52Chris Godwin Jr.◦ provisionalTBWR127+0.28+0.26+0.11+0.41
53Cam Sims◦ provisionalWASWR23+0.39+0.26+0.08+0.44
54Julio Jones◦ provisionalTENWR48+0.32+0.26+0.09+0.43
55Brandon Zylstra◦ provisionalCARWR25+0.37+0.26+0.08+0.44
56DeVonta Smith◦ provisionalPHIWR105+0.28+0.26+0.10+0.41
57Michael Gallup◦ provisionalDALWR62+0.30+0.26+0.09+0.42
58Dalton Schultz◦ provisionalDALTE106+0.44+0.26+0.13+0.38
59Malik Turner◦ provisionalDALWR16+0.41+0.26+0.07+0.44
60Breshad Perriman◦ provisionalTBWR18+0.39+0.26+0.07+0.44
61DeSean Jackson◦ provisionalLVWR34+0.32+0.26+0.08+0.43
62Chris Moore◦ provisionalHOUWR22+0.36+0.26+0.07+0.44
63Bryan Edwards◦ provisionalLVWR60+0.29+0.25+0.09+0.42
64Freddie Swain◦ provisionalSEAWR41+0.30+0.25+0.08+0.43
65Marquise Goodwin◦ provisionalCHIWR40+0.30+0.25+0.08+0.43
66Chris Conley◦ provisionalHOUWR37+0.29+0.25+0.08+0.43
67Jerry Jeudy◦ provisionalDENWR56+0.28+0.25+0.08+0.42
68Jeff Smith◦ provisionalNYJWR17+0.32+0.25+0.07+0.43
69Travis Kelce◦ provisionalKCTE134+0.38+0.25+0.13+0.37
70Mark Andrews◦ provisionalBALTE158+0.35+0.25+0.13+0.36
71Adam Thielen◦ provisionalMINWR95+0.25+0.25+0.09+0.40
72Ashton Dulin◦ provisionalINDWR22+0.27+0.25+0.07+0.43
73Equanimeous St. Brown◦ provisionalGBWR17+0.28+0.25+0.06+0.43
74Josh Palmer◦ provisionalLACWR49+0.26+0.25+0.07+0.42
75Kadarius Toney◦ provisionalNYGWR57+0.25+0.25+0.08+0.41
76Hunter Henry◦ provisionalNETE75+0.46+0.25+0.12+0.37
77Lil'Jordan Humphrey◦ provisionalNOWR19+0.26+0.24+0.06+0.43
78Dawson Knox◦ provisionalBUFTE71+0.47+0.24+0.12+0.37
79Tre'Quan Smith◦ provisionalNOWR51+0.25+0.24+0.07+0.41
80Demarcus Robinson◦ provisionalKCWR41+0.24+0.24+0.07+0.42
81Kalif Raymond◦ provisionalDETWR71+0.24+0.24+0.08+0.41
82Damiere Byrd◦ provisionalCHIWR39+0.23+0.24+0.07+0.42
83DeAndre Carter◦ provisionalWASWR44+0.23+0.24+0.07+0.41
84CeeDee Lamb◦ provisionalDALWR121+0.23+0.24+0.09+0.39
85Olamide Zaccheaus◦ provisionalATLWR54+0.21+0.24+0.07+0.41
86Rashod Bateman◦ provisionalBALWR68+0.22+0.24+0.07+0.40
87Jakeem Grant◦ provisionalCHIWR17+0.14+0.24+0.05+0.42
88Mecole Hardman◦ provisionalKCWR83+0.22+0.24+0.08+0.40
89DK Metcalf◦ provisionalSEAWR129+0.22+0.24+0.09+0.38
90Rob Gronkowski◦ provisionalTBTE89+0.37+0.23+0.11+0.36
91Parris Campbell◦ provisionalINDWR20+0.12+0.23+0.05+0.41
92Marvin Jones◦ provisionalJAXWR120+0.21+0.23+0.08+0.38
93Tyler Boyd◦ provisionalCINWR95+0.20+0.23+0.07+0.39
94Maxx Williams◦ provisionalARITE17+0.89+0.23+0.09+0.37
95Courtland Sutton◦ provisionalDENWR100+0.20+0.23+0.07+0.39
96Marquez Valdes-Scantling◦ provisionalGBWR56+0.18+0.23+0.06+0.40
97Ben Skowronek◦ provisionalLAWR20+0.07+0.23+0.05+0.41
98Devin Duvernay◦ provisionalBALWR47+0.16+0.23+0.06+0.40
99Jamal Agnew◦ provisionalJAXWR40+0.14+0.23+0.05+0.40
100Deonte Harty◦ provisionalNOWR59+0.17+0.23+0.06+0.39
101John Bates◦ provisionalWASTE25+0.63+0.23+0.09+0.36
102Tajae Sharpe◦ provisionalATLWR37+0.13+0.23+0.05+0.40
103Juwan Johnson◦ provisionalNOTE22+0.66+0.22+0.09+0.36
104David Njoku◦ provisionalCLETE53+0.41+0.22+0.09+0.36
105Calvin Ridley◦ provisionalATLWR52+0.15+0.22+0.05+0.40
106K.J. Osborn◦ provisionalMINWR82+0.18+0.22+0.06+0.39
107Marcus Johnson◦ provisionalTENWR19+0.01+0.22+0.04+0.41
108Phillip Dorsett◦ provisionalHOUWR14-0.06+0.22+0.04+0.41
109Keelan Cole◦ provisionalNYJWR52+0.14+0.22+0.05+0.39
110Keenan Allen◦ provisionalLACWR158+0.19+0.22+0.08+0.36
111Stefon Diggs◦ provisionalBUFWR164+0.20+0.22+0.08+0.36
112Juwann Winfree◦ provisionalGBWR13-0.13+0.22+0.04+0.41
113Pat Freiermuth◦ provisionalPITTE80+0.32+0.22+0.09+0.35
114Brandin Cooks◦ provisionalHOUWR134+0.18+0.22+0.07+0.37
115Allen Robinson◦ provisionalCHIWR67+0.15+0.22+0.05+0.38
116Rashard Higgins◦ provisionalCLEWR47+0.11+0.22+0.05+0.39
117Jimmy Graham◦ provisionalCHITE24+0.53+0.22+0.08+0.35
118Dede Westbrook◦ provisionalMINWR15-0.13+0.22+0.03+0.40
119Noah Brown◦ provisionalDALWR25+0.01+0.22+0.04+0.40
120Dante Pettis◦ provisionalNYGWR16-0.12+0.22+0.03+0.40
121Tyler Johnson◦ provisionalTBWR56+0.12+0.22+0.05+0.38
122DJ Chark◦ provisionalJAXWR23-0.03+0.22+0.03+0.40
123Austin Hooper◦ provisionalCLETE62+0.32+0.22+0.09+0.34
124Penny Hart◦ provisionalSEAWR12-0.26+0.21+0.03+0.40
125Will Dissly◦ provisionalSEATE26+0.45+0.21+0.08+0.35
126Durham Smythe◦ provisionalMIATE41+0.37+0.21+0.08+0.35
127Braxton Berrios◦ provisionalNYJWR65+0.12+0.21+0.05+0.38
128C.J. Uzomah◦ provisionalCINTE63+0.31+0.21+0.08+0.34
129MyCole Pruitt◦ provisionalTENTE19+0.52+0.21+0.08+0.35
130Chester Rogers◦ provisionalTENWR43+0.07+0.21+0.04+0.39
131Harrison Bryant◦ provisionalCLETE28+0.40+0.21+0.08+0.35
132Albert Okwuegbunam◦ provisionalDENTE40+0.34+0.21+0.08+0.34
133George Kittle◦ provisionalSFTE94+0.26+0.21+0.09+0.33
134Dyami Brown◦ provisionalWASWR25-0.06+0.21+0.03+0.39
135Robert Tonyan◦ provisionalGBTE29+0.37+0.21+0.07+0.34
136Dee Eskridge◦ provisionalSEAWR20-0.14+0.21+0.03+0.39
137Danny Amendola◦ provisionalHOUWR39+0.02+0.21+0.03+0.38
138Jakobi Meyers◦ provisionalNEWR128+0.15+0.21+0.06+0.36
139Kyle Pitts◦ provisionalATLTE110+0.24+0.21+0.08+0.33
140Nick Vannett◦ provisionalNOTE15+0.45+0.21+0.07+0.34
141Stephen Anderson◦ provisionalLACTE19+0.38+0.20+0.07+0.34
142N'Keal Harry◦ provisionalNETE22+0.35+0.20+0.07+0.34
143Marcedes Lewis◦ provisionalGBTE28+0.31+0.20+0.07+0.34
144Jamison Crowder◦ provisionalNYJWR73+0.09+0.20+0.04+0.37
145Jaylen Waddle◦ provisionalMIAWR140+0.14+0.20+0.06+0.35
146Zay Jones◦ provisionalLVWR70+0.09+0.20+0.04+0.37
147Jack Doyle◦ provisionalINDTE45+0.26+0.20+0.07+0.33
148Odell Beckham Jr.◦ provisionalLAWR83+0.10+0.20+0.04+0.36
149Dax Milne◦ provisionalWASWR14-0.40+0.20+0.02+0.39
150Preston Williams◦ provisionalMIAWR16-0.34+0.20+0.02+0.38
151Sterling Shepard◦ provisionalNYGWR53+0.03+0.20+0.03+0.37
152Donald Parham◦ provisionalLACTE28+0.26+0.20+0.06+0.33
153Anthony Firkser◦ provisionalTENTE43+0.23+0.20+0.07+0.33
154Nelson Agholor◦ provisionalNEWR64+0.06+0.20+0.03+0.36
155Geoff Swaim◦ provisionalTENTE40+0.23+0.20+0.06+0.33
156Russell Gage◦ provisionalATLWR94+0.10+0.20+0.04+0.36
157Kylen Granson◦ provisionalINDTE15+0.29+0.20+0.06+0.34
158Ty Montgomery◦ provisionalNOWR26-0.17+0.20+0.02+0.38
159Trent Sherfield◦ provisionalSFWR20-0.28+0.20+0.01+0.38
160Tyler Kroft◦ provisionalNYJTE25+0.22+0.20+0.06+0.33
161Kyle Rudolph◦ provisionalNYGTE40+0.21+0.19+0.06+0.33
162Antoine Wesley◦ provisionalARIWR32-0.11+0.19+0.02+0.37
163Brevin Jordan◦ provisionalHOUTE28+0.21+0.19+0.06+0.33
164Mo Alie-Cox◦ provisionalINDTE45+0.20+0.19+0.06+0.33
165Logan Thomas◦ provisionalWASTE25+0.18+0.19+0.06+0.33
166O.J. Howard◦ provisionalTBTE21+0.18+0.19+0.06+0.33
167Adam Shaheen◦ provisionalMIATE16+0.17+0.19+0.05+0.33
168Tommy Tremble◦ provisionalCARTE36+0.18+0.19+0.06+0.33
169Chase Claypool◦ provisionalPITWR105+0.09+0.19+0.04+0.35
170Gerald Everett◦ provisionalSEATE63+0.17+0.19+0.06+0.32
171Rondale Moore◦ provisionalARIWR64+0.02+0.19+0.02+0.36
172Diontae Johnson◦ provisionalPITWR173+0.13+0.19+0.05+0.33
173Blake Bell◦ provisionalKCTE13+0.09+0.19+0.05+0.33
174Denzel Mims◦ provisionalNYJWR23-0.29+0.19+0.01+0.37
175Eric Ebron◦ provisionalPITTE18+0.10+0.19+0.05+0.33
176Noah Fant◦ provisionalDENTE91+0.17+0.19+0.06+0.31
177Sammy Watkins◦ provisionalBALWR49-0.04+0.19+0.02+0.36
178Mike Gesicki◦ provisionalMIATE113+0.17+0.19+0.07+0.31
179Nico Collins◦ provisionalHOUWR60-0.00+0.19+0.02+0.35
180KhaDarel Hodge◦ provisionalDETWR28-0.23+0.19+0.01+0.36
181Drew Sample◦ provisionalCINTE15+0.02+0.19+0.05+0.32
182Jaelon Darden◦ provisionalTBWR12-0.78+0.19-0.00+0.37
183Eric Saubert◦ provisionalDENTE12-0.04+0.18+0.05+0.32
184Corey Davis◦ provisionalNYJWR59-0.01+0.18+0.02+0.35
185Terry McLaurin◦ provisionalWASWR130+0.09+0.18+0.04+0.33
186Hayden Hurst◦ provisionalATLTE31+0.09+0.18+0.05+0.32
187Anthony Schwartz◦ provisionalCLEWR23-0.34+0.18+0.00+0.36
188Brock Wright◦ provisionalDETTE17-0.05+0.18+0.04+0.32
189Albert Wilson◦ provisionalMIAWR39-0.14+0.18+0.01+0.36
190James O'Shaughnessy◦ provisionalJAXTE35+0.07+0.18+0.05+0.31
191Tyler Conklin◦ provisionalMINTE87+0.13+0.18+0.05+0.30
192Blake Jarwin◦ provisionalDALTE17-0.08+0.18+0.04+0.32
193Darren Waller◦ provisionalLVTE93+0.13+0.18+0.05+0.30
194Ryan Griffin◦ provisionalNYJTE42+0.07+0.18+0.05+0.31
195Dan Arnold◦ provisionalJAXTE53+0.09+0.18+0.05+0.31
196JuJu Smith-Schuster◦ provisionalPITWR28-0.29+0.18-0.00+0.36
197Josiah Deguara◦ provisionalGBTE33+0.02+0.18+0.04+0.31
198Kenny Stills◦ provisionalNOWR23-0.41+0.18-0.01+0.36
199Terrace Marshall Jr.◦ provisionalCARWR31-0.26+0.18-0.00+0.35
200Anthony Miller◦ provisionalPITWR12-0.95+0.18-0.01+0.36
201Trinity Benson◦ provisionalDETWR22-0.44+0.18-0.01+0.36
202Cole Beasley◦ provisionalBUFWR113+0.05+0.18+0.02+0.33
203Tommy Sweeney◦ provisionalBUFTE12-0.32+0.17+0.04+0.31
204Marquise Brown◦ provisionalBALWR147+0.08+0.17+0.03+0.32
205Josh Oliver◦ provisionalBALTE15-0.22+0.17+0.04+0.31
206Laviska Shenault Jr.◦ provisionalJAXWR100+0.04+0.17+0.02+0.33
207Zach Gentry◦ provisionalPITTE25-0.10+0.17+0.04+0.31
208Elijah Moore◦ provisionalNYJWR78-0.02+0.17+0.01+0.33
209James Washington◦ provisionalPITWR44-0.16+0.17-0.00+0.34
210Josh Gordon◦ provisionalKCWR14-0.89+0.17-0.02+0.35
211Jared Cook◦ provisionalLACTE85+0.07+0.17+0.04+0.29
212Foster Moreau◦ provisionalLVTE44-0.02+0.17+0.03+0.30
213Tavon Austin◦ provisionalJAXWR37-0.25+0.17-0.01+0.34
214T.J. Hockenson◦ provisionalDETTE86+0.06+0.17+0.04+0.29
215Collin Johnson◦ provisionalNYGWR21-0.58+0.17-0.02+0.35
216Zach Ertz◦ provisionalARITE113+0.08+0.16+0.04+0.28
217Kenny Golladay◦ provisionalNYGWR77-0.04+0.16+0.00+0.33
218Tyler Higbee◦ provisionalLATE85+0.05+0.16+0.04+0.29
219Adam Humphries◦ provisionalWASWR62-0.10+0.16-0.01+0.33
220DJ Moore◦ provisionalCARWR164+0.06+0.16+0.02+0.30
221Cameron Brate◦ provisionalTBTE57-0.04+0.16+0.03+0.29
222Jordan Akins◦ provisionalHOUTE33-0.26+0.15+0.01+0.28
223Ricky Seals-Jones◦ provisionalWASTE51-0.12+0.15+0.02+0.28
224Jalen Reagor◦ provisionalPHIWR57-0.19+0.15-0.02+0.32
225Jacob Hollister◦ provisionalJAXTE15-0.83+0.15+0.01+0.28
226Adam Trautman◦ provisionalNOTE44-0.19+0.15+0.01+0.28
227Darnell Mooney◦ provisionalCHIWR141+0.00+0.14-0.00+0.29
228Pharaoh Brown◦ provisionalHOUTE34-0.31+0.14+0.01+0.28
229Jonnu Smith◦ provisionalNETE45-0.22+0.14+0.01+0.27
230Cole Kmet◦ provisionalCHITE93-0.06+0.13+0.01+0.26
231Darius Slayton◦ provisionalNYGWR58-0.25+0.13-0.04+0.30
232Zach Pascal◦ provisionalINDWR69-0.19+0.13-0.03+0.30
233Ian Thomas◦ provisionalCARTE30-0.53+0.13-0.01+0.26
234Ray-Ray McCloud◦ provisionalPITWR66-0.22+0.13-0.04+0.29
235Evan Engram◦ provisionalNYGTE73-0.15+0.13+0.00+0.26
236Jarvis Landry◦ provisionalCLEWR87-0.15+0.12-0.04+0.28
237Robbie Chosen◦ provisionalCARWR110-0.26+0.06-0.09+0.22

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