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.

Target success rate · 2019

Share of targets with positive EPA, shrunk within position.

Beats raw by
21.9%
lower out-of-sample error
RMSE raw → shrunk
11.7% → 9.1%
odd vs. even weeks
Split-half reliability
0.19
how repeatable the raw stat is
Stabilizes at
128 TE · 152 WR
targets to trust the number
shrunkrawthe shrink90% CI
40%45%50%55%60%65%TE avgWR avg1Michael ThomasNO · 18561.1%2Darren WallerLV · 11757.7%3Travis KelceKC · 13657.0%4Hunter HenryLAC · 7756.8%5Tyler LockettSEA · 11056.8%6Amari CooperDAL · 11956.4%7George KittleSF · 10756.4%8Chris Godwin Jr.TB · 12255.8%9Jared CookNO · 6555.7%10Kyle RudolphMIN · 4955.6%11Jason WittenDAL · 8555.6%12Tyler HigbeeLA · 8955.5%13Foster MoreauLV · 2555.2%14Austin HooperATL · 9954.8%15Keenan AllenLAC · 14954.8%16DeAndre HopkinsHOU · 15154.7%17Calvin RidleyATL · 9554.6%18Allen RobinsonCHI · 15454.5%19Will DisslySEA · 2754.5%20O.J. HowardTB · 5354.4%21James O'Shaughnes…JAX · 2054.4%22Nick BoyleBAL · 4454.4%23Jonnu SmithTEN · 4454.4%24Nick VannettPIT · 2254.3%25Taysom HillNO · 2254.3%26Darren FellsHOU · 4854.3%27Marvin JonesDET · 9154.2%28Dallas GoedertPHI · 8754.2%29Hayden HurstBAL · 3954.2%30Blake JarwinDAL · 4154.1%31Adam ShaheenCHI · 1453.9%32Tre'Quan SmithNO · 2653.8%33Jeff HeuermanDEN · 2053.7%34Virgil GreenLAC · 1353.5%35Kendrick BourneSF · 4653.4%36Adam HumphriesTEN · 4853.4%37Tajae SharpeTEN · 3553.4%38Allen LazardGB · 5253.3%39Greg WardPHI · 4053.0%40Malik TurnerSEA · 2252.8%41Kalif RaymondTEN · 1252.3%42Keelan DossLV · 1452.3%43Andy IsabellaARI · 1352.0%

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.

Target success rate · 2019 · full board

Target success rate leaderboard for the 2019 NFL season, shrunk by empirical Bayes with 90% credible intervals, ranked by the shrunk estimate.
#PlayerTeamPostargetsRawShrunk90% interval
1Michael ThomasNOWR18569.2%61.1%56.7%65.4%
2Darren Waller◦ provisionalLVTE11763.2%57.7%52.5%62.9%
3Travis KelceKCTE13661.0%57.0%52.0%62.0%
4Hunter Henry◦ provisionalLACTE7763.6%56.8%51.1%62.5%
5Tyler Lockett◦ provisionalSEAWR11064.5%56.8%51.7%61.8%
6Amari Cooper◦ provisionalDALWR11963.0%56.4%51.4%61.3%
7George Kittle◦ provisionalSFTE10760.8%56.4%51.0%61.7%
8Chris Godwin Jr.◦ provisionalTBWR12261.5%55.8%50.8%60.7%
9Jared Cook◦ provisionalNOTE6561.5%55.7%49.8%61.5%
10Kyle Rudolph◦ provisionalMINTE4963.3%55.6%49.5%61.7%
11Jason Witten◦ provisionalDALTE8560.0%55.6%50.0%61.2%
12Tyler Higbee◦ provisionalLATE8959.6%55.5%50.0%61.0%
13Foster Moreau◦ provisionalLVTE2568.0%55.2%48.6%61.8%
14Austin Hooper◦ provisionalATLTE9957.6%54.8%49.4%60.2%
15Keenan Allen◦ provisionalLACWR14958.4%54.8%50.0%59.5%
16DeAndre Hopkins◦ provisionalHOUWR15158.3%54.7%50.0%59.4%
17Calvin Ridley◦ provisionalATLWR9560.0%54.6%49.4%59.8%
18Allen RobinsonCHIWR15457.8%54.5%49.8%59.2%
19Will Dissly◦ provisionalSEATE2763.0%54.5%47.9%61.0%
20O.J. Howard◦ provisionalTBTE5358.5%54.4%48.3%60.5%
21James O'Shaughnessy◦ provisionalJAXTE2065.0%54.4%47.6%61.1%
22Nick Boyle◦ provisionalBALTE4459.1%54.4%48.1%60.6%
23Jonnu Smith◦ provisionalTENTE4459.1%54.4%48.1%60.6%
24Nick Vannett◦ provisionalPITTE2263.6%54.3%47.6%61.0%
25Taysom Hill◦ provisionalNOTE2263.6%54.3%47.6%61.0%
26Darren Fells◦ provisionalHOUTE4858.3%54.3%48.1%60.4%
27Marvin Jones◦ provisionalDETWR9159.3%54.2%49.0%59.5%
28Dallas Goedert◦ provisionalPHITE8756.3%54.2%48.6%59.7%
29Hayden Hurst◦ provisionalBALTE3959.0%54.2%47.8%60.5%
30Blake Jarwin◦ provisionalDALTE4158.5%54.1%47.8%60.4%
31Tyreek Hill◦ provisionalKCWR8958.4%53.9%48.6%59.1%
32Adam Shaheen◦ provisionalCHITE1464.3%53.9%47.0%60.7%
33Tre'Quan Smith◦ provisionalNOWR2669.2%53.8%47.7%59.9%
34Cole Beasley◦ provisionalBUFWR10857.4%53.8%48.7%58.8%
35Corey Davis◦ provisionalTENWR6959.4%53.8%48.2%59.3%
36DJ Moore◦ provisionalCARWR13656.6%53.8%48.9%58.6%
37Jeff Heuerman◦ provisionalDENTE2060.0%53.7%47.0%60.4%
38Benjamin Watson◦ provisionalNETE2458.3%53.6%46.9%60.2%
39Tyrell Williams◦ provisionalLVWR6459.4%53.6%48.0%59.2%
40Virgil Green◦ provisionalLACTE1361.5%53.5%46.6%60.4%
41Jeremy Sprinkle◦ provisionalWASTE4156.1%53.5%47.2%59.8%
42Kendrick Bourne◦ provisionalSFWR4660.9%53.4%47.6%59.2%
43Mike Evans◦ provisionalTBWR11956.3%53.4%48.4%58.4%
44Adam Humphries◦ provisionalTENWR4860.4%53.4%47.6%59.2%
45Marcedes Lewis◦ provisionalGBTE1957.9%53.4%46.6%60.1%
46Maxx Williams◦ provisionalARITE1957.9%53.4%46.6%60.1%
47Tajae Sharpe◦ provisionalTENWR3562.9%53.4%47.4%59.3%
48Allen Lazard◦ provisionalGBWR5259.6%53.3%47.6%59.1%
49Zach ErtzPHITE13653.7%53.2%48.2%58.2%
50Terry McLaurin◦ provisionalWASWR9456.4%53.2%47.9%58.4%
51Davante Adams◦ provisionalGBWR12855.5%53.1%48.2%58.0%
52Michael Gallup◦ provisionalDALWR11355.8%53.1%48.1%58.2%
53Emmanuel Sanders◦ provisionalSFWR9856.1%53.1%47.9%58.3%
54John Brown◦ provisionalBUFWR11555.6%53.1%48.1%58.1%
55T.Y. Hilton◦ provisionalINDWR6857.4%53.1%47.5%58.6%
56Greg Ward◦ provisionalPHIWR4060.0%53.0%47.1%58.9%
57Ross Dwelley◦ provisionalSFTE2254.5%53.0%46.3%59.7%
58Stefon Diggs◦ provisionalMINWR9555.8%53.0%47.7%58.2%
59C.J. Uzomah◦ provisionalCINTE4153.7%52.9%46.6%59.2%
60Ryan Griffin◦ provisionalNYJTE4353.5%52.9%46.6%59.2%
61Julio JonesATLWR15854.4%52.8%48.2%57.5%
62Mike Williams◦ provisionalLACWR9055.6%52.8%47.5%58.1%
63Malik Turner◦ provisionalSEAWR2263.6%52.8%46.5%59.0%
64Cameron Brate◦ provisionalTBTE5552.7%52.7%46.7%58.8%
65Matt LaCosse◦ provisionalNETE1952.6%52.7%45.9%59.4%
66Bisi Johnson◦ provisionalMINWR4557.8%52.7%46.8%58.5%
67Jacob Hollister◦ provisionalSEATE5952.5%52.7%46.7%58.6%
68Kenny Stills◦ provisionalHOUWR5556.4%52.6%46.9%58.3%
69Delanie Walker◦ provisionalTENTE3151.6%52.5%46.0%59.0%
70Sterling Shepard◦ provisionalNYGWR8454.8%52.5%47.1%57.8%
71Kelvin Harmon◦ provisionalWASWR4456.8%52.4%46.6%58.3%
72DeVante Parker◦ provisionalMIAWR12853.9%52.4%47.5%57.3%
73Allen Hurns◦ provisionalMIAWR4856.3%52.4%46.6%58.2%
74Nick O'Leary◦ provisionalJAXTE1850.0%52.4%45.6%59.1%
75Seth DeValve◦ provisionalJAXTE1850.0%52.4%45.6%59.1%
76Will Fuller◦ provisionalHOUWR7154.9%52.4%46.9%57.9%
77Greg Olsen◦ provisionalCARTE8351.8%52.4%46.7%58.0%
78Tyler Eifert◦ provisionalCINTE6451.6%52.3%46.4%58.2%
79Kalif Raymond◦ provisionalTENWR1266.7%52.3%45.9%58.7%
80Charles Clay◦ provisionalARITE2450.0%52.3%45.6%58.9%
81Seth Roberts◦ provisionalBALWR3557.1%52.3%46.3%58.3%
82Anthony Firkser◦ provisionalTENTE2450.0%52.3%45.6%58.9%
83Keelan Doss◦ provisionalLVWR1464.3%52.3%45.9%58.6%
84Randall Cobb◦ provisionalDALWR8354.2%52.3%46.9%57.6%
85Robert Woods◦ provisionalLAWR13953.2%52.2%47.3%57.0%
86Hunter Renfrow◦ provisionalLVWR7254.2%52.1%46.7%57.6%
87Justin Watson◦ provisionalTBWR2657.7%52.1%46.0%58.3%
88Josh Perkins◦ provisionalPHITE1346.2%52.1%45.2%59.0%
89Tommy Sweeney◦ provisionalBUFTE1346.2%52.1%45.2%59.0%
90Robert Tonyan◦ provisionalGBTE1546.7%52.1%45.2%58.9%
91A.J. Brown◦ provisionalTENWR8453.6%52.0%46.7%57.4%
92Derek Carrier◦ provisionalLVTE1947.4%52.0%45.3%58.8%
93Andy Isabella◦ provisionalARIWR1361.5%52.0%45.6%58.4%
94Jack Doyle◦ provisionalINDTE7350.7%52.0%46.2%57.8%
95Ricky Seals-Jones◦ provisionalCLETE2347.8%52.0%45.3%58.6%
96Eric Ebron◦ provisionalINDTE5250.0%51.9%45.8%58.0%
97Marquise Goodwin◦ provisionalSFWR2157.1%51.9%45.7%58.1%
98Jake Kumerow◦ provisionalGBWR2157.1%51.9%45.7%58.1%
99Zach Pascal◦ provisionalINDWR7353.4%51.9%46.4%57.4%
100Julian EdelmanNEWR15452.6%51.9%47.2%56.6%
101Josh Hill◦ provisionalNOTE3548.6%51.8%45.4%58.2%
102Isaiah Ford◦ provisionalMIAWR3554.3%51.8%45.8%57.8%
103Dan Arnold◦ provisionalARITE1442.9%51.7%44.9%58.6%
104Durham Smythe◦ provisionalMIATE1442.9%51.7%44.9%58.6%
105Brandon Zylstra◦ provisionalCARWR1258.3%51.7%45.3%58.1%
106Jakobi Meyers◦ provisionalNEWR4153.7%51.7%45.8%57.6%
107DeAndre Carter◦ provisionalHOUWR1457.1%51.7%45.3%58.0%
108Byron Pringle◦ provisionalKCWR1656.3%51.7%45.3%58.0%
109Jarvis Landry◦ provisionalCLEWR13852.2%51.7%46.8%56.5%
110Deebo Samuel Sr.◦ provisionalSFWR8252.4%51.6%46.3%57.0%
111Miles Boykin◦ provisionalBALWR2254.5%51.6%45.4%57.8%
112Demetrius Harris◦ provisionalCLETE2846.4%51.6%45.0%58.1%
113Logan Thomas◦ provisionalDETTE2846.4%51.6%45.0%58.1%
114Ian Thomas◦ provisionalCARTE3046.7%51.6%45.1%58.1%
115Jaron Brown◦ provisionalSEAWR2853.6%51.6%45.4%57.7%
116Keelan Cole◦ provisionalJAXWR3652.8%51.5%45.5%57.5%
117Willie Snead◦ provisionalBALWR4652.2%51.4%45.6%57.2%
118Hale Hentges◦ provisionalWASTE1540.0%51.4%44.5%58.2%
119Justin Hardy◦ provisionalATLWR2751.8%51.3%45.1%57.4%
120Jesse James◦ provisionalDETTE2744.4%51.3%44.7%57.9%
121Pharoh Cooper◦ provisionalARIWR3351.5%51.2%45.2%57.3%
122Alshon Jeffery◦ provisionalPHIWR7451.3%51.2%45.8%56.7%
123Russell Gage◦ provisionalATLWR7451.3%51.2%45.8%56.7%
124Bennie Fowler◦ provisionalNYGWR3751.3%51.2%45.3%57.2%
125Mecole Hardman◦ provisionalKCWR4151.2%51.2%45.3%57.1%
126Demarcus Robinson◦ provisionalKCWR5550.9%51.1%45.4%56.8%
127Mark Andrews◦ provisionalBALTE9849.0%51.1%45.6%56.5%
128Laquon Treadwell◦ provisionalMINWR1650.0%51.1%44.7%57.4%
129Damion Willis◦ provisionalCINWR1650.0%51.1%44.7%57.4%
130Luke Stocker◦ provisionalATLTE1435.7%51.0%44.2%57.9%
131Tyler Kroft◦ provisionalBUFTE1435.7%51.0%44.2%57.9%
132Tavon Austin◦ provisionalDALWR2450.0%51.0%44.8%57.2%
133Marquise Brown◦ provisionalBALWR7150.7%51.0%45.5%56.5%
134Anthony Miller◦ provisionalCHIWR8550.6%51.0%45.6%56.3%
135Adam Thielen◦ provisionalMINWR4850.0%50.9%45.1%56.7%
136Larry Fitzgerald◦ provisionalARIWR10950.5%50.9%45.8%56.0%
137Demaryius Thomas◦ provisionalNYJWR5850.0%50.9%45.2%56.5%
138Dawson Knox◦ provisionalBUFTE5046.0%50.8%44.7%57.0%
139Breshad Perriman◦ provisionalTBWR7050.0%50.8%45.3%56.3%
140Cooper Kupp◦ provisionalLAWR13550.4%50.8%46.0%55.6%
141Antonio Callaway◦ provisionalCLEWR1546.7%50.8%44.4%57.1%
142Dontrelle Inman◦ provisionalINDWR2147.6%50.8%44.5%57.0%
143Duke Williams◦ provisionalBUFWR1947.4%50.8%44.5%57.0%
144Marcus Johnson◦ provisionalINDWR3348.5%50.7%44.7%56.7%
145DK Metcalf◦ provisionalSEAWR10250.0%50.7%45.6%55.9%
146Josh Gordon◦ provisionalSEAWR4748.9%50.7%44.8%56.5%
147DJ Chark◦ provisionalJAXWR12050.0%50.7%45.7%55.6%
148Brandin Cooks◦ provisionalLAWR7349.3%50.6%45.1%56.0%
149Kaden Smith◦ provisionalNYGTE4344.2%50.6%44.3%56.9%
150Irv Smith◦ provisionalMINTE4744.7%50.6%44.4%56.8%
151T.J. Hockenson◦ provisionalDETTE5945.8%50.5%44.5%56.5%
152Danny Amendola◦ provisionalDETWR9749.5%50.5%45.3%55.7%
153Kenny Golladay◦ provisionalDETWR11749.6%50.5%45.5%55.5%
154Damion Ratley◦ provisionalCLEWR2445.8%50.5%44.3%56.6%
155Keke Coutee◦ provisionalHOUWR3647.2%50.4%44.4%56.4%
156Paul Richardson◦ provisionalWASWR4247.6%50.4%44.5%56.3%
157Cody Latimer◦ provisionalNYGWR4247.6%50.4%44.5%56.3%
158Damiere Byrd◦ provisionalARIWR4647.8%50.4%44.6%56.2%
159Taylor Gabriel◦ provisionalCHIWR4847.9%50.4%44.6%56.2%
160Jordan Matthews◦ provisionalPHITE1225.0%50.3%43.4%57.3%
161N'Keal Harry◦ provisionalNETE2437.5%50.3%43.7%57.0%
162Jimmy Graham◦ provisionalGBTE6045.0%50.3%44.3%56.2%
163Braxton Berrios◦ provisionalNYJWR1338.5%50.2%43.8%56.6%
164Chris Hogan◦ provisionalCARWR1540.0%50.2%43.8%56.5%
165Tim Patrick◦ provisionalDENWR3145.2%50.2%44.1%56.2%
166Isaiah McKenzie◦ provisionalBUFWR3946.2%50.2%44.2%56.1%
167Sammy Watkins◦ provisionalKCWR9148.4%50.1%44.9%55.4%
168Vernon Davis◦ provisionalWASTE1931.6%50.0%43.2%56.8%
169Blake Bell◦ provisionalKCTE1526.7%50.0%43.1%56.9%
170Geoff Swaim◦ provisionalJAXTE1729.4%50.0%43.2%56.8%
171Jordan Akins◦ provisionalHOUTE5543.6%50.0%43.9%56.1%
172Albert Wilson◦ provisionalMIAWR6246.8%49.9%44.3%55.5%
173Preston Williams◦ provisionalMIAWR6046.7%49.9%44.3%55.5%
174David Moore◦ provisionalSEAWR3444.1%49.9%43.9%55.9%
175Deon Cain◦ provisionalPITWR2040.0%49.9%43.6%56.1%
176Christian Kirk◦ provisionalARIWR10947.7%49.7%44.6%54.8%
177Darius Slayton◦ provisionalNYGWR8547.1%49.7%44.4%55.0%
178Jakeem Grant◦ provisionalMIAWR3342.4%49.6%43.6%55.7%
179Vyncint Smith◦ provisionalNYJWR3141.9%49.6%43.6%55.7%
180Ty Montgomery◦ provisionalNYJWR1735.3%49.6%43.3%55.9%
181Andre Patton◦ provisionalLACWR1735.3%49.6%43.3%55.9%
182Trent Sherfield◦ provisionalARIWR1330.8%49.6%43.2%56.0%
183Alex Erickson◦ provisionalCINWR7846.2%49.5%44.1%54.9%
184DaeSean Hamilton◦ provisionalDENWR5244.2%49.4%43.7%55.2%
185Chester Rogers◦ provisionalINDWR2839.3%49.3%43.2%55.5%
186Scott Miller◦ provisionalTBWR2638.5%49.3%43.2%55.5%
187Robbie Chosen◦ provisionalNYJWR9746.4%49.3%44.1%54.5%
188Dante Pettis◦ provisionalSFWR2437.5%49.3%43.1%55.5%
189Chris Conley◦ provisionalJAXWR9346.2%49.3%44.1%54.6%
190J.J. Arcega-Whiteside◦ provisionalPHIWR2236.4%49.3%43.1%55.5%
191Mohamed Sanu◦ provisionalNEWR8946.1%49.3%44.0%54.6%
192Golden Tate◦ provisionalNYGWR8545.9%49.3%44.0%54.6%
193JuJu Smith-Schuster◦ provisionalPITWR7145.1%49.2%43.8%54.7%
194Noah Fant◦ provisionalDENTE6642.4%49.2%43.3%55.1%
195Jamison Crowder◦ provisionalNYJWR12246.7%49.2%44.2%54.2%
196Gerald Everett◦ provisionalLATE6041.7%49.2%43.2%55.2%
197Josh Reynolds◦ provisionalLAWR4341.9%49.1%43.3%55.0%
198Mike Gesicki◦ provisionalMIATE8943.8%49.1%43.5%54.6%
199James Washington◦ provisionalPITWR8045.0%49.0%43.7%54.4%
200Christian Blake◦ provisionalATLWR2536.0%49.0%42.9%55.2%
201Mack Hollins◦ provisionalMIAWR2334.8%49.0%42.8%55.2%
202Trey Burton◦ provisionalCHITE2429.2%49.0%42.4%55.7%
203Ted Ginn◦ provisionalNOWR5642.9%48.9%43.3%54.6%
204John Ross◦ provisionalCINWR5642.9%48.9%43.3%54.6%
205Tyler Boyd◦ provisionalCINWR14846.6%48.9%44.2%53.7%
206Courtland Sutton◦ provisionalDENWR12446.0%48.8%43.9%53.8%
207Evan Engram◦ provisionalNYGTE6841.2%48.7%42.9%54.6%
208Diontae Johnson◦ provisionalPITWR9244.6%48.7%43.4%53.9%
209KeeSean Johnson◦ provisionalARIWR4339.5%48.6%42.8%54.5%
210Javon Wims◦ provisionalCHIWR3938.5%48.6%42.7%54.5%
211Curtis Samuel◦ provisionalCARWR10544.8%48.6%43.5%53.7%
212Trey Quinn◦ provisionalWASWR4839.6%48.4%42.6%54.2%
213Vance McDonald◦ provisionalPITTE5538.2%48.4%42.3%54.4%
214Phillip Dorsett◦ provisionalNEWR5540.0%48.2%42.5%53.9%
215Auden Tate◦ provisionalCINWR8042.5%48.2%42.8%53.6%
216Dede Westbrook◦ provisionalJAXWR10343.7%48.2%43.0%53.3%
217Nelson Agholor◦ provisionalPHIWR7041.4%48.1%42.6%53.6%
218Travis Benjamin◦ provisionalLACWR1618.8%48.1%41.8%54.4%
219Geronimo Allison◦ provisionalGBWR5639.3%48.0%42.3%53.7%
220Rhett Ellison◦ provisionalNYGTE2825.0%47.8%41.2%54.3%
221Parris Campbell◦ provisionalINDWR2425.0%47.6%41.4%53.8%
222Robert Foster◦ provisionalBUFWR1816.7%47.5%41.3%53.8%
223Steven Sims◦ provisionalWASWR5637.5%47.5%41.8%53.2%
224Odell Beckham Jr.◦ provisionalCLEWR13342.9%47.3%42.4%52.2%
225Donte Moncrief◦ provisionalPITWR156.7%47.2%40.9%53.5%
226Johnny Holton◦ provisionalPITWR156.7%47.2%40.9%53.5%
227Marquez Valdes-Scantling◦ provisionalGBWR5635.7%47.0%41.4%52.7%
228Zay Jones◦ provisionalLVWR4531.1%46.6%40.8%52.4%
229Jarius Wright◦ provisionalCARWR5832.8%46.1%40.5%51.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).