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
2W3 · CAR @ CLEQBDeshaun WatsonRush att5.5Under−103missedactual 11−1.00
5W3 · CAR @ CLERBChuba HubbardRush att17.5Under−123.5missedactual 19−1.00
7W3 · CAR @ CLEQBBryce YoungRush att3.5Under−121clearedactual 0+0.83
12W3 · CAR @ CLERBQuinshon JudkinsRush att16.5Under−125.5missedactual 18−1.00
21W3 · CIN @ PITRBJaylen WarrenRush att15.5Under−127.5missedactual 17−1.00
23W3 · CIN @ PITRBChase BrownRush att16.5Under−128clearedactual 13+0.78
30W3 · HOU @ INDRBDavid MontgomeryRush att12.5Under−120.5clearedactual 11+0.83
32W3 · HOU @ INDRBJonathan TaylorRush att18.5Under−101missedactual 23−1.00
42W3 · KC @ MIAQBPatrick MahomesRush att3.5Under+107clearedactual 1+1.07
45W3 · KC @ MIAQBMalik WillisRush att5.5Under+119missedactual 9−1.00
47W3 · KC @ MIARBKenneth Walker IIIRush att17.5Under−119missedactual 18−1.00
49W3 · KC @ MIARBDe'Von AchaneRush att15.5Under−101clearedactual 3+0.99
57W3 · LAC @ BUFQBJosh AllenRush att7.5Under+108missedactual 8−1.00
63W3 · LAC @ BUFRBOmarion HamptonRush att15.5Under−122clearedactual 15+0.82
67W3 · NE @ JAXRBRhamondre StevensonRush att8.5Under+105clearedactual 7+1.05
71W3 · NE @ JAXQBDrake MayeRush att5.5Under+107clearedactual 4+1.07
73W3 · NE @ JAXRBBhayshul TutenRush att12.5Under+101missedactual 15−1.00
81W3 · NYJ @ DETRBJahmyr GibbsRush att18.5Under−107missedactual 20−1.00
90W3 · SEA @ WASRBJadarian PriceRush att13.5Under−119clearedactual 5+0.84
99W3 · TEN @ NYGRBCam SkatteboRush att15.5Under−109missedactual 20−1.00
105W3 · ARI @ SFRBJeremiyah LoveRush att11.5Under−132missedactual 21−1.00
119W3 · BAL @ DALRBDerrick HenryRush att18.5Under−121missedactual 26−1.00
120W3 · BAL @ DALQBDak PrescottRush att3.5Under−139missedactual 4−1.00
122W3 · BAL @ DALQBLamar JacksonRush att6.5Under−148clearedactual 6+0.68
133W3 · LV @ NORBAshton JeantyRush att17.5Under+102missedactual 19−1.00
139W3 · LA @ DENQBBo NixRush att4.5Under+105clearedactual 4+1.05
140W3 · LA @ DENRBBlake CorumRush att11.5Under−114clearedactual 6+0.88
144W3 · PHI @ CHIRBSaquon BarkleyRush att17.5Under−120clearedactual 15+0.83
146W3 · PHI @ CHIRBD'Andre SwiftRush att14.5Under−117missedactual 20−1.00
147W3 · PHI @ CHIQBJalen HurtsRush att6.5Under−129clearedactual 4+0.78
154W3 · CIN @ PITRBChase BrownRush att15.5Under−104.5clearedactual 13+0.96
156W3 · HOU @ INDQBDaniel JonesRush att3.5Under−111clearedactual 3+0.90
157W3 · HOU @ INDRBJonathan TaylorRush att19.5Under−128missedactual 23−1.00
158W3 · KC @ MIAQBMalik WillisRush att6.5Under−152missedactual 9−1.00
159W3 · KC @ MIARBEmmett JohnsonRush att6.5Under+100clearedactual 6+1.00
160W3 · LAC @ BUFRBJames CookRush att17.5Under−123missedactual 24−1.00
173W3 · TEN @ NYGRBTony PollardRush att15.5Under−105missedactual 17−1.00
179W3 · MIN @ TBRBAaron JonesRush att13.5Under−127missedactual 17−1.00
198W3 · PHI @ CHIRBKyle MonangaiRush att9.5Under−108.5missedactual 10−1.00
199W3 · PHI @ CHIRBD'Andre SwiftRush att15.5Under−130missedactual 20−1.00
206W4 · PIT @ CLERBJaylen WarrenRush att15.5Under−118missedactual 17−1.00
209W4 · PIT @ CLERBQuinshon JudkinsRush att16.5Under−110missedactual 17−1.00
212W4 · PIT @ CLEQBDeshaun WatsonRush att5.5Under+113missedactual 7−1.00
213W4 · PIT @ CLERBJaylen WarrenRush att16.5Under+101missedactual 17−1.00
216W4 · PIT @ CLERBJaylen WarrenRush att17.5Under−122clearedactual 17+0.82
221W4 · IND @ WASQBMarcus MariotaRush att5.5Under−137clearedactual 1+0.73
224W4 · IND @ WASQBDaniel JonesRush att3.5Under−141missedactual 4−1.00
226W4 · IND @ WASRBJonathan TaylorRush att20.5Under−120clearedactual 20+0.83
229W4 · IND @ WASRBJacory Croskey-MerrittRush att13.5Under−107clearedactual 9+0.93
238W4 · ARI @ NYGRBCam SkatteboRush att16.5Under−129.5missedactual 18−1.00
240W4 · ARI @ NYGRBJeremiyah LoveRush att15.5Under−2.5not a valid priceclearedactual 14—
242W4 · DAL @ HOUQBDak PrescottRush att2.5Under+126clearedactual 2+1.26
244W4 · DAL @ HOURBDavid MontgomeryRush att11.5Under−101clearedactual 10+0.99
248W4 · DAL @ HOURBJavonte WilliamsRush att15.5Under−111missedactual 19−1.00
252W4 · DAL @ HOUQBC.J. StroudRush att3.5Under−130clearedactual 2+0.77
266W4 · GB @ TBRBKaleb JohnsonRush att8.5Under−111clearedactual 8+0.90
268W4 · GB @ TBQBJalon DanielsRush att6.5Under+113missedactual 8−1.00
272W4 · JAX @ CINRBChase BrownRush att16.5Under−103clearedactual 9+0.97
276W4 · JAX @ CINRBBhayshul TutenRush att12.5Under+102missedactual 17−1.00
282W4 · LA @ PHIRBSaquon BarkleyRush att17.5Under−108clearedactual 2+0.93
283W4 · LA @ PHIQBJalen HurtsRush att6.5Under−145clearedactual 5+0.69
288W4 · LA @ PHIRBBlake CorumRush att9.5Under−115clearedactual 5+0.87
292W4 · NE @ BUFQBJosh AllenRush att7.5Under+105clearedactual 5+1.05
295W4 · NE @ BUFRBJames CookRush att17.5Under−102clearedactual 12+0.98
298W4 · NE @ BUFQBDrake MayeRush att5.5Under−117missedactual 8−1.00
302W4 · NYJ @ CHIRBD'Andre SwiftRush att16.5Under−124clearedactual 15+0.81
307W4 · NYJ @ CHIRBBraelon AllenRush att14.5Under−126clearedactual 14+0.79
312W4 · NYJ @ CHIRBKyle MonangaiRush att9.5Under−132missedactual 30−1.00
315W4 · TEN @ BALRBDerrick HenryRush att19.5Under−107missedactual 23−1.00
317W4 · TEN @ BALQBLamar JacksonRush att6.5Under+100clearedactual 2+1.00
326W4 · MIA @ MINRBAaron JonesRush att17.5Under−126missedactual 20−1.00
327W4 · MIA @ MINQBKyler MurrayRush att4.5Under+122missedactual 6−1.00
328W4 · MIA @ MINQBMalik WillisRush att6.5Under−139clearedactual 2+0.72
330W4 · MIA @ MINRBJaylen WrightRush att7.5Under−144clearedactual 5+0.69
338W4 · DEN @ SFQBBrock PurdyRush att4.5Under−149missedactual 10−1.00
339W4 · DEN @ SFQBBo NixRush att4.5Under−105clearedactual 2+0.95
345W4 · KC @ LVRBKenneth Walker IIIRush att18.5Under−120missedactual 22−1.00
351W4 · KC @ LVRBAshton JeantyRush att17.5Under−125clearedactual 15+0.80
352W4 · KC @ LVRBMike Washington Jr.Rush att4.5Under+105voidmarket pulled—
355W4 · LAC @ SEAQBJustin HerbertRush att4.5Under−121missedactual 6−1.00
364W4 · PIT @ CLEQBDeshaun WatsonRush att6.5Under−145missedactual 7−1.00
367W4 · DET @ CARRBChuba HubbardRush att16.5Under−112.5missedactual 20−1.00
372W4 · DET @ CARRBJahmyr GibbsRush att19.5Under−111clearedactual 15+0.90
373W4 · DET @ CARQBBryce YoungRush att2.5Under+108missedactual 3−1.00
387W4 · ATL @ NORBBijan RobinsonRush att19.5Under−121clearedactual 19+0.83
391W4 · IND @ WASRBJacory Croskey-MerrittRush att14.5Under−113clearedactual 9+0.89
396W4 · ARI @ NYGRBJeremiyah LoveRush att16.5Under−135clearedactual 14+0.74
398W4 · DAL @ HOURBDavid MontgomeryRush att12.5Under−122clearedactual 10+0.82
402W4 · GB @ TBRBKaleb JohnsonRush att9.5Under−137clearedactual 8+0.73
405W4 · JAX @ CINRBChase BrownRush att15.5Under−120.5clearedactual 9+0.83
408W4 · LA @ PHIRBSaquon BarkleyRush att16.5Under−105clearedactual 2+0.95
416W4 · NYJ @ CHIRBD'Andre SwiftRush att14.5Under−8.5not a valid pricemissedactual 15—
417W4 · NYJ @ CHIRBBraelon AllenRush att13.5Under+101missedactual 14−1.00
420W4 · TEN @ BALRBDerrick HenryRush att21.5Under−121missedactual 23−1.00
421W4 · TEN @ BALQBLamar JacksonRush att5.5Under+108clearedactual 2+1.08
423W4 · TEN @ BALRBJustice HillRush att4.5Under−110clearedactual 1+0.91
428W4 · MIA @ MINRBAaron JonesRush att16.5Under−1not a valid pricemissedactual 20—
434W4 · MIA @ MINRBJaylen WrightRush att8.5Under−113.5clearedactual 5+0.88
438W4 · MIA @ MINRBOllie Gordon IIRush att7.5Under−141missedactual 9−1.00
443W4 · KC @ LVRBAshton JeantyRush att16.5Under−112.5clearedactual 15+0.89
Showing 1–100 of 286 matching of 1,279 leans · 2,549 rows in the ledgerSorted oldest first · filters narrow the list, never the total

Show all 1,279

All 1,279 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,549 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
2,549
W8

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 · Week 8: 9 rows, 9 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 fab2bc85f6cb4b63dc640bd548e6eeab5ee864ac33eb987845d37d180d3dc739 - 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.
  • Week 8’s index publishes row #2,549’s hash as fab2…c739: this file's row #2,549 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: 943 of 1,279.

MarketLeansCleared · missedHit rate · 95%Against 52.4%
Receptions943478–42552.9% 49.7–56.2contains 52.4%
Rush attempts336185–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,549 rows each, identical row for row · board indexes for week 3, 4, 5, 6, 7, 8 of 2026 · model baseline-usage-0.4+03571d4710af