calibrated SPORTS
NFLLinesReceipts

Lines · Receipts · 2026

Every lean the model published, graded, none removed.

Win or lose, it’s all here. The model scores worse than the market, and this is the ledger that shows it lean by lean.

1,234
Leans graded, 2026
663–571
Cleared · missed
53.7% [50.9, 56.5]
Hit rate · n = 1,234 cleared or missed
+9.3u [−55.2, +73.8]
Units at the read price

Running units

Up 9.28 units over 1,205 leans. The interval spans zero, so the record can’t be told apart from breaking even.

Hypothetical units at the read price, lean by lean1 unit a lean · flat
0u+29u−66u
the published leans, 1u eacha coin at the same priceszero

Nobody bet this: it is the published record at the prices that stood. A cleared lean pays what its price pays on one unit; a missed lean loses the unit; a push returns it; a void is not a bet. The price is the median American price on the lean’s side across the benchmark books at the read that published it, as the ledger records it. The dashed line is the same stakes at the same prices if every lean had cleared exactly half the time: a reference, not a verdict. The interval is the total’s, 95%: n × mean ± 1.96 × √n × sd of the per-lean returns, treating leans as independent. Leans in one game are not, so the real interval is wider. 29 settled leans have no valid recorded price (missing, or between −100 and +100, where no American price lies) and are on neither line.

The ledger

One row per lean, in the order it was published. Filter it any way you like; the total never changes.

#Wk · gamePlayerMarketLineSidePriceResultUnits
201W4 · PIT @ CLEWRDK MetcalfRec3.5Over−120.5clearedactual 5+0.83
202W4 · PIT @ CLEWRMichael PittmanRec3.5Over+104.5missedactual 2−1.00
203W4 · PIT @ CLEWRJerry JeudyRec1.5Over+131.5clearedactual 3+1.31
204W4 · PIT @ CLETEPat FreiermuthRec3.5Under−111clearedactual 3+0.90
205W4 · PIT @ CLERBJaylen WarrenRec3.5Under−152.5clearedactual 3+0.66
206W4 · PIT @ CLERBJaylen WarrenRush att15.5Under−118missedactual 17−1.00
207W4 · PIT @ CLETEDarnell WashingtonRec1.5Under+140.5missedactual 3−1.00
208W4 · PIT @ CLETEHarold Fannin Jr.Rec4.5Under−114.5clearedactual 3+0.87
209W4 · PIT @ CLERBQuinshon JudkinsRush att16.5Under−110missedactual 17−1.00
210W4 · PIT @ CLEWRDenzel BostonRec2.5Under+119missedactual 4−1.00
211W4 · PIT @ CLEWRKC ConcepcionRec3.5Under−5.5not a valid pricemissedactual 5—
212W4 · PIT @ CLEQBDeshaun WatsonRush att5.5Under+113missedactual 7−1.00
213W4 · PIT @ CLERBJaylen WarrenRush att16.5Under+101missedactual 17−1.00
214W4 · PIT @ CLERBRaheim SandersRec1.5Under+128missedactual 2−1.00
215W4 · PIT @ CLEWRGermie BernardRec1.5Under−194missedactual 2−1.00
216W4 · PIT @ CLERBJaylen WarrenRush att17.5Under−122clearedactual 17+0.82
217W4 · PIT @ CLETEDarnell WashingtonRec2.5Under−187missedactual 3−1.00
218W4 · PIT @ CLETEBlake WhiteheartRec0.5Under−102clearedactual 0+0.98
219W4 · IND @ WASWRKeenan AllenRec3.5Over−131.5voidmarket pulled—
220W4 · IND @ WASWRStefon DiggsRec4.5Over+116voidmarket pulled—
221W4 · IND @ WASQBMarcus MariotaRush att5.5Under−137clearedactual 1+0.73
222W4 · IND @ WASWRLaquon TreadwellRec1.5Under−220missedactual 5−1.00
223W4 · IND @ WASWRTerry McLaurinRec4.5Under−148voidmarket pulled—
224W4 · IND @ WASQBDaniel JonesRush att3.5Under−141missedactual 4−1.00
225W4 · IND @ WASRBJonathan TaylorRec2.5Under+109clearedactual 1+1.09
226W4 · IND @ WASRBJonathan TaylorRush att20.5Under−120clearedactual 20+0.83
227W4 · IND @ WASWRJosh DownsRec5.5Under−150clearedactual 3+0.67
228W4 · IND @ WASTETyler WarrenRec5.5Under−135clearedactual 5+0.74
229W4 · IND @ WASRBJacory Croskey-MerrittRush att13.5Under−107clearedactual 9+0.93
230W4 · IND @ WASWRAntonio WilliamsRec1.5Under+131.5voidmarket pulled—
231W4 · ARI @ NYGWRKendrick BourneRec2.5Over+130missedactual 0−1.00
232W4 · ARI @ NYGWRDarnell MooneyRec1.5Over−166missedactual 0−1.00
233W4 · ARI @ NYGTETrey McBrideRec7.5Under−151clearedactual 7+0.66
234W4 · ARI @ NYGTEIsaiah LikelyRec4.5Under−162missedactual 7−1.00
235W4 · ARI @ NYGWRMichael WilsonRec5.5Under−155missedactual 7−1.00
236W4 · ARI @ NYGWRMalik NabersRec4.5Under−102missedactual 6−1.00
237W4 · ARI @ NYGRBCam SkatteboRec2.5Under−110clearedactual 1+0.91
238W4 · ARI @ NYGRBCam SkatteboRush att16.5Under−129.5missedactual 18−1.00
239W4 · ARI @ NYGRBJeremiyah LoveRec2.5Under+125clearedactual 1+1.25
240W4 · ARI @ NYGRBJeremiyah LoveRush att15.5Under−2.5not a valid priceclearedactual 14—
241W4 · ARI @ NYGWRMalachi FieldsRec1.5Under+134missedactual 2−1.00
242W4 · DAL @ HOUQBDak PrescottRush att2.5Under+126clearedactual 2+1.26
243W4 · DAL @ HOURBDavid MontgomeryRec1.5Under−104clearedactual 0+0.96
244W4 · DAL @ HOURBDavid MontgomeryRush att11.5Under−101clearedactual 10+0.99
245W4 · DAL @ HOUWRCeeDee LambRec5.5Under+3.5not a valid pricemissedactual 17—
246W4 · DAL @ HOUWRNico CollinsRec5.5Under−136missedactual 7−1.00
247W4 · DAL @ HOURBJavonte WilliamsRec2.5Under+103missedactual 5−1.00
248W4 · DAL @ HOURBJavonte WilliamsRush att15.5Under−111missedactual 19−1.00
249W4 · DAL @ HOUTEJake FergusonRec3.5Over+100missedactual 3−1.00
250W4 · DAL @ HOUWRKayshon BoutteRec1.5Under+144missedactual 3−1.00
251W4 · DAL @ HOUWRXavier HutchinsonRec2.5Under−102missedactual 3−1.00
252W4 · DAL @ HOUQBC.J. StroudRush att3.5Under−130clearedactual 2+0.77
253W4 · DAL @ HOUWRRyan FlournoyRec3.5Under−130missedactual 4−1.00
254W4 · DAL @ HOURBWoody MarksRec1.5Under+109clearedactual 0+1.09
255W4 · DAL @ HOURBWoody MarksRush att9.5Over+100missedactual 6−1.00
256W4 · GB @ TBTEJonnu SmithRec1.5Over+157.5missedactual 1−1.00
257W4 · GB @ TBWRChris Godwin Jr.Rec2.5Over−130clearedactual 6+0.77
258W4 · GB @ TBRBKenny GainwellRec2.5Over+134missedactual 2−1.00
259W4 · GB @ TBWRSkyy MooreRec2.5Under−188clearedactual 1+0.53
260W4 · GB @ TBWRChristian WatsonRec4.5Under+119clearedactual 3+1.19
261W4 · GB @ TBTECade OttonRec2.5Over−167clearedactual 4+0.60
262W4 · GB @ TBTETucker KraftRec3.5Under+120missedactual 6−1.00
263W4 · GB @ TBRBBucky IrvingRec2.5Over−116missedactual 0−1.00
264W4 · GB @ TBRBMarShawn LloydRec1.5Under−190missedactual 5−1.00
265W4 · GB @ TBWREmeka EgbukaRec3.5Over+105missedactual 2−1.00
266W4 · GB @ TBRBKaleb JohnsonRush att8.5Under−111clearedactual 8+0.90
267W4 · GB @ TBWRMatthew GoldenRec4.5Under−102clearedactual 3+0.98
268W4 · GB @ TBQBJalon DanielsRush att6.5Under+113missedactual 8−1.00
269W4 · JAX @ CINRBSamaje PerineRec1.5Under−107.5clearedactual 0+0.93
270W4 · JAX @ CINTEDrew SampleRec1.5Under−147clearedactual 0+0.68
271W4 · JAX @ CINWRTee HigginsRec4.5Under−129.5missedactual 11−1.00
272W4 · JAX @ CINRBChase BrownRush att16.5Under−103clearedactual 9+0.97
273W4 · JAX @ CINWRParker WashingtonRec5.5Under−140clearedactual 1+0.71
274W4 · JAX @ CINWRBrian Thomas Jr.Rec2.5Over+115missedactual 2−1.00
275W4 · JAX @ CINRBBhayshul TutenRec1.5Under+108missedactual 2−1.00
276W4 · JAX @ CINRBBhayshul TutenRush att12.5Under+102missedactual 17−1.00
277W4 · JAX @ CINWRDohnte MeyersRec2.5Under−191missedactual 7−1.00
278W4 · JAX @ CINWRJosh CameronRec1.5Under−194missedactual 2−1.00
279W4 · LA @ PHITEZach ErtzRec1.5Over+103.5clearedactual 2+1.03
280W4 · LA @ PHIWRDavante AdamsRec4.5Under+115clearedactual 4+1.15
281W4 · LA @ PHITEJohnny MundtRec1.5Under−205clearedactual 0+0.49
282W4 · LA @ PHIRBSaquon BarkleyRush att17.5Under−108clearedactual 2+0.93
283W4 · LA @ PHIQBJalen HurtsRush att6.5Under−145clearedactual 5+0.69
284W4 · LA @ PHIWRDeVonta SmithRec5.5Under+100voidmarket pulled—
285W4 · LA @ PHIRBKyren WilliamsRush att13.5Over−110clearedactual 16+0.91
286W4 · LA @ PHIWRDontayvion WicksRec3.5Under−174clearedactual 3+0.57
287W4 · LA @ PHIWRPuka NacuaRec6.5Over+116clearedactual 9+1.16
288W4 · LA @ PHIRBBlake CorumRush att9.5Under−115clearedactual 5+0.87
289W4 · LA @ PHIWRMakai LemonRec2.5Under+114.5missedactual 3−1.00
290W4 · NE @ BUFWRMack HollinsRec3.5Under−107clearedactual 3+0.93
291W4 · NE @ BUFWRDJ MooreRec3.5Under+104clearedactual 1+1.04
292W4 · NE @ BUFQBJosh AllenRush att7.5Under+105clearedactual 5+1.05
293W4 · NE @ BUFRBTy JohnsonRec1.5Under+104missedactual 2−1.00
294W4 · NE @ BUFRBRhamondre StevensonRec2.5Under+104missedactual 3−1.00
295W4 · NE @ BUFRBJames CookRush att17.5Under−102clearedactual 12+0.98
296W4 · NE @ BUFWRDeMario DouglasRec2.5Under+110clearedactual 2+1.10
297W4 · NE @ BUFTEDalton KincaidRec4.5Under−125clearedactual 1+0.80
298W4 · NE @ BUFQBDrake MayeRush att5.5Under−117missedactual 8−1.00
299W4 · NE @ BUFWRKeon ColemanRec1.5Over+101clearedactual 6+1.01
300W4 · NE @ BUFRBTreVeyon HendersonRush att10.5Over−101clearedactual 14+0.99
Showing 1–100 of 312 matching of 1,270 leans · 2,540 rows in the ledgerSorted oldest first · filters narrow the list, never the total

Show all 1,270

All 1,270 leans this season and every event, with prices and timestamps (CSV) · the same rows (parquet). Each row is one lean as the ledger has it: published at a read, then graded once on the line it was published at, or voided with a reason. A lean whose line later moved, or whose game has not been played, is still here.

Rows in the ledger

2,540 rows in the ledger, and the hash chain, recomputed here over every one of them, holds.

Rows in the ledger, by week: a running count

400
W3
1,024
W4
1,534
W5
2,054
W6
2,540
W7

Rows are events: a lean is published once and graded or voided once, so it is one row or two. Week 3: 400 rows, 200 leans published · Week 4: 624 rows, 312 leans published · Week 5: 510 rows, 255 leans published · Week 6: 520 rows, 260 leans published · Week 7: 486 rows, 243 leans published. A running count read from one file cannot go down and cannot show a row taken out before the file was read, so it is a count here, not a proof.

The chain head

Recomputed here: every row’s hash is the SHA-256 of its 25 cells and the previous row’s hash, so editing or removing a row breaks every hash after it. Rows cut from the end leave a chain that still holds; only a head recorded before the cut catches that. The head is 95c9c9d348bf0e41ec4d7fe681917d52ddf10e999f82a6c0cd7e37ba1f251855 - keep it, and check it against the next one.

  • Week 4’s index publishes row #1,024’s hash as 85a9…1844: this file's row #1,024 carries the same.
  • Week 5’s index publishes row #1,534’s hash as c58b…5471: this file's row #1,534 carries the same.
  • Week 6’s index publishes row #2,054’s hash as f713…37c3: this file's row #2,054 carries the same.
  • Week 7’s index publishes row #2,540’s hash as 95c9…1855: this file's row #2,540 carries the same.

Pushes and voids

0 pushes and 36 voids so far. Each stays on the record; neither counts toward the hit rate.

W3 · CAR @ CLEvoid
WRXavier Legette
Rec 1.5 · over
Void: inactive
W3 · NYJ @ DETvoid
WRAdonai Mitchell
Rec 3.5 · under
Void: inactive
W3 · BAL @ DALvoid
WRChris Moore
Rec 1.5 · under
Void: market pulled
W3 · BAL @ DALvoid
WRLaJohntay Wester
Rec 2.5 · under
Void: market pulled
W3 · HOU @ INDvoid
WRDarius Slayton
Rec 1.5 · over
Void: inactive
W3 · TEN @ NYGvoid
RBDevin Singletary
Rec 1.5 · under
Void: inactive
W4 · IND @ WASvoid
WRKeenan Allen
Rec 3.5 · over
Void: market pulled
W4 · IND @ WASvoid
WRStefon Diggs
Rec 4.5 · over
Void: market pulled
W4 · IND @ WASvoid
WRTerry McLaurin
Rec 4.5 · under
Void: market pulled
W4 · IND @ WASvoid
WRAntonio Williams
Rec 1.5 · under
Void: market pulled
W4 · LA @ PHIvoid
WRDeVonta Smith
Rec 5.5 · under
Void: market pulled
W4 · KC @ LVvoid
RBMike Washington Jr.
Rush att 4.5 · under
Void: market pulled
W4 · LAC @ SEAvoid
RBJadarian Price
Rec 1.5 · under
Void: market pulled
W4 · DET @ CARvoid
WRJalen Coker
Rec 4.5 · under
Void: market pulled
W4 · IND @ WASvoid
WRDarius Slayton
Rec 1.5 · over
Void: market pulled
W4 · ATL @ NOvoid
TENoah Fant
Rec 1.5 · over
Void: market pulled
W5 · LV @ NEvoid
RBAshton Jeanty
Rec 3.5 · under
Void: market pulled
W5 · LV @ NEvoid
RBAshton Jeanty
Rush att 16.5 · under
Void: market pulled
W5 · CHI @ GBvoid
RBKyle Monangai
Rush att 11.5 · under
Void: market pulled
W5 · DET @ ARIvoid
WRMarvin Harrison Jr.
Rec 2.5 · under
Void: market pulled
W5 · BUF @ LAvoid
WRJosh Palmer
Rec 1.5 · under
Void: market pulled
W5 · LV @ NEvoid
TEIan Thomas
Rec 0.5 · over
Void: market pulled
W5 · MIN @ NOvoid
WRJordan Addison
Rec 3.5 · under
Void: market pulled
W5 · DEN @ LACvoid
WRLadd McConkey
Rec 3.5 · under
Void: market pulled
W6 · TEN @ INDvoid
RBTyjae Spears
Rec 2.5 · over
Void: market pulled
W6 · TEN @ INDvoid
TETyler Warren
Rec 5.5 · under
Void: market pulled
W6 · BUF @ LVvoid
WRDJ Moore
Rec 3.5 · under
Void: market pulled
W6 · BAL @ CLEvoid
RBQuinshon Judkins
Rec 2.5 · under
Void: market pulled
W7 · LA @ LVvoid
TETyler Higbee
Rec 4.5 · under
Void: market pulled
W7 · LA @ LVvoid
WRPuka Nacua
Rec 8.5 · under
Void: market pulled
W7 · LA @ LVvoid
WRJordan Whittington
Rec 0.5 · over
Void: market pulled
W7 · LA @ LVvoid
WRKonata Mumpfield
Rec 1.5 · under
Void: market pulled
W7 · CLE @ TENvoid
WRCalvin Ridley
Rec 0.5 · over
Void: market pulled
W7 · CLE @ TENvoid
RBTyjae Spears
Rec 2.5 · over
Void: market pulled
W7 · SF @ ATLvoid
WROlamide Zaccheaus
Rec 1.5 · over
Void: market pulled
W7 · TB @ CARvoid
RBAJ Dillon
Rush att 3.5 · under
Void: market pulled

By market

Receptions carry most of the leans: 935 of 1,270.

MarketLeansCleared · missedHit rate · 95%Against 52.4%
Receptions935478–42552.9% 49.7–56.2contains 52.4%
Rush attempts335185–14655.9% 50.5–61.1contains 52.4%

By market and lean size

5 of 5 intervals contain 52.4%, the break-even at −110; 0 sit wholly under it; 0 sit wholly over it. 1 cell has no interval: fewer than 30 leans that cleared or missed.

MarketGapnCleared95%Against 52.4%
Receptions4–6 pp12246%37%–55%
Receptions6–8 pp8346%35%–56%
Receptions8+ pp69855%51%–59%
Rush attempts4–6 pp3639%25%–55%
Rush attempts6–8 pp20—pending
Rush attempts8+ pp27558%52%–64%

The size is the producer’s own band on each lean: the gap between the model’s probability and the market’s, in probability points, when the lean was published. A rate is shown where a market, or a market and size, has at least 30 leans that cleared or missed; a push is neither and is counted apart. The interval is Wilson’s, 95%, and it treats every lean as independent. Leans in one game are not, so the real uncertainty is wider than the interval drawn.

How the model scores against the market

Walk-forward Brier(model) - Brier(close), 2025

0.0195

95% 0.0144 to 0.0253 · n 6,031 outcomes

The model scored worse than the de-vigged sportsbook close, over 284 games (the board index’s copy, which agrees with the registry).

research/hypotheses.json · hypotheses[id=R15].estimate

Brier(model) - Brier(Kalshi mid), week 1

0.0142

95% 0.0007 to 0.0263 · n 925 predictions · 14 games

The model scored worse than the Kalshi mid.

research/calibration.json · brier.model_minus_market.estimate

Restatement note, from the metric registry

R10 is the 2026-09-17 restatement on n=706 (229 books one-sided at entry); research/calibration.json now scores n=935 because the Kalshi candle backfill supplies a two-sided entry quote for every prediction. Unresolved: which entry quote is correct (a-36). (research/hypotheses.json · hypotheses[id=R10].estimate, not printed here)

What a lean is

The side the model’s probability sits on, when it differs from the market’s de-vigged price by 4 points or more at the read that publishes it. In the board’s own words: over at gap >= +T, under at gap <= -T.

What it is not

A recommendation, or a claim that the model knows something the market does not. It is published so it can be graded, not because disagreeing has paid. Walk-forward, the model scored worse than the de-vigged sportsbook close (95% interval for the Brier difference 0.0144 to 0.0253).

What would change the verdict

A season whose walk-forward interval for Brier(model) − Brier(close) lies wholly under zero. On this page, a record whose 95% interval lies wholly over the −110 break-even. Each is where an interval sits, computed from the files, so either sentence above would change on its own.

Not a sportsbook · no wagers accepted · nothing here is advice · board/nfl/ledger.csv and board/nfl/ledger.parquet: 2,540 rows each, identical row for row · board indexes for week 3, 4, 5, 6, 7 of 2026 · model baseline-usage-0.4+03571d4710af