Replay · NFL
Test a rule against real closing prices.
Each rule here was replayed against every settled line it would have bet, at the closing price, with how sure the result is. Choose one to read it.
00Build a rule
Six groups, the common choice open and the rest one click away. Every control is a field the engine takes; nothing on this page runs a rule.
01Rules
4 rules replayed · 4 more listed that the engine cannot run · Film Room
- Loses01Fade every over13,680 bets · −3.3% ROI · open in the builder
- Unclear02Rush attempts unders2,256 bets · −1.8% ROI · open in the builder
- Loses03Chase the streak1,150 bets · −13.2% ROI · open in the builder
- Cannot run04Follow the model's leansWaiting for walk-forward model predictions persisted for the historical seasons.
- Cannot run05Buy the middleWaiting for a rule language with two legs: lab.strategy/1 bets one side at one price.
- Cannot run06Arbitrage between booksWaiting for a rule language with two legs: lab.strategy/1 bets one side at one price.
- Loses07Home underdogs of 3 to 71,400 bets · −5.6% ROI · open in the builder
- Cannot run08Unders in the windWaiting for forecast weather joined to the replayed games.
4 rules replayed on this site so far. The more rules are tried, the more likely one clears zero by chance alone: with 4 tried, a 95% interval that allows for it spans about ±2.50 standard errors (Bonferroni), not ±1.96. The intervals on this page are the plain 95%.
Fade every over
prop under on receptions/receiving_yards/rush_attempts/tackles_assists/sacks, 2023-2025 REG weeks 1-18, 0 condition(s), consensus_close at close
−3.3% ROI
13,680 bets, −3.3% ROI.
“Loses” is set by a fixed rule, not a judgement: the ROI interval lies wholly under zero. Re-checked on this page from the file’s own interval.
Hit rate52.5% [51.7%, 53.4%]
ROI−3.3% [−5.0%, −1.8%]
Cleared 52.5% [51.7, 53.4] of 13,656 graded, against a break-even of 53.7% at the average price paid (−116): the interval sits wholly under it. The ROI interval runs from −5.0% to −1.8%, and sits wholly under zero.
- Bets
- 13,680
- 36 weeks · 24 void
- Cleared
- 7,174
- 6,482 missed · 0 push
- Hit rate
- 52.5%
- 95% [51.7, 53.4] · of 13,656
- Break-even
- 53.7%
- at the average price paid, −116
- ROI
- −3.3%
- 95% [−5.0, −1.8] · by week
- Units
- −454.6u
- 95% [−671.6, −254.2] · 1u flat
- Worst drawdown: coming once the rule’s file carries its drawdown key (a-44).
- CLV: none to publish. Every bet here is taken at the close, which is the price CLV is measured against.
Returns over time
units · by week blockNo luck check: the rule takes every bet the universe offers at this side, so a random draw of the same size IS the rule.
Returns over time: coming once this rule’s file, lab/nfl/presets/fade_every_over.json, carries its week-block series (the returns key, a-44). Nothing is drawn from anything else in the meantime.
How this is computed
By season
ROI · 95% interval1 of 2 seasons' ROI intervals include zero; 1 sits wholly under it; 0 sit wholly over it.
| Season | Bets | Cleared | 95% | ROI | 95% | Against zero |
|---|---|---|---|---|---|---|
| 2023 | 6,005 | 50.1% | [48.8, 51.3] | −5.6% | [−8.2, −3.1] | |
| 2024 | 7,675 | 54.5% | [53.3, 55.6] | −1.5% | [−3.2, +0.1] |
How this is computed
2025 is held out
The file: “held out: no figure in this result includes the 2025 season”. The season is kept back so the rule can be tested once, on games it was never shaped by. Looking is done once, when the rule has stopped changing: the job that replays it reveals the season and writes that into the file, and from then on 2025 is marked as seen on this rule.
Not revealed · no 2025 figure anywhere on this page
Where it won and lost
95% intervals · under 100 bets greyed32 segments in 5 cuts; 6 under 100 bets, greyed.
Market
| Segment | Bets | Cleared | 95% | ROI | 95% | Against zero |
|---|---|---|---|---|---|---|
| Receiving yards | 6,378 | 51.1% | [49.9, 52.4] | −3.3% | [−5.5, −1.1] | |
| Receptionsunder 100 bets | 94 | 44.7% | [35.0, 54.7] | −17.7% | [−36.5, +1.1] | |
| Rush attempts | 974 | 51.9% | [48.8, 55.0] | −3.1% | [−8.7, +2.4] | |
| Sacks | 1,166 | 65.8% | [63.0, 68.4] | −2.3% | [−6.8, +2.3] | |
| Tackles + assists | 5,068 | 51.5% | [50.1, 52.9] | −3.4% | [−6.1, −1.0] |
Home or away
| Segment | Bets | Cleared | 95% | ROI | 95% | Against zero |
|---|---|---|---|---|---|---|
| Away | 6,753 | 53.2% | [52.0, 54.4] | −2.1% | [−4.4, +0.2] | |
| Home | 6,706 | 51.8% | [50.6, 53.0] | −4.8% | [−6.8, −2.9] |
Roof
| Segment | Bets | Cleared | 95% | ROI | 95% | Against zero |
|---|---|---|---|---|---|---|
| Open air | 9,178 | 53.0% | [52.0, 54.0] | −2.5% | [−4.6, −0.3] | |
| Dome | 4,281 | 51.4% | [49.9, 52.9] | −5.3% | [−7.7, −3.1] |
Position
| Segment | Bets | Cleared | 95% | ROI | 95% | Against zero |
|---|---|---|---|---|---|---|
| CB | 1,348 | 49.3% | [46.6, 51.9] | −8.5% | [−14.3, −2.7] | |
| DB | 188 | 47.9% | [40.8, 55.0] | −10.4% | [−28.8, +5.9] | |
| DE | 664 | 61.1% | [57.4, 64.8] | −2.0% | [−7.4, +3.8] | |
| DLunder 100 bets | 10 | 70.0% | [39.7, 89.2] | ROI and units withheld: they would average 7 cleared bet prices, fewer than 10, and could be read back to a book price | ||
| DT | 418 | 67.9% | [63.3, 72.2] | +1.8% | [−5.0, +8.3] | |
| FBunder 100 bets | 20 | 55.0% | [34.2, 74.2] | +3.8% | [−34.5, +42.0] | |
| FS | 362 | 53.9% | [48.7, 59.0] | +1.8% | [−5.6, +9.7] | |
| ILB | 115 | 52.2% | [43.1, 61.1] | −2.1% | [−19.4, +14.5] | |
| LB | 1,483 | 54.2% | [51.6, 56.7] | −2.6% | [−6.2, +0.9] | |
| MLB | 191 | 53.4% | [46.3, 60.3] | −0.7% | [−14.3, +12.2] | |
| NTunder 100 bets | 39 | 79.5% | [64.5, 89.2] | +27.2% | [+2.0, +48.7] | |
| OLB | 284 | 53.5% | [47.7, 59.2] | −1.9% | [−13.1, +9.2] | |
| QB | 801 | 52.4% | [49.0, 55.9] | −2.0% | [−7.9, +3.7] | |
| RB | 1,690 | 51.4% | [49.0, 53.8] | −3.1% | [−7.1, +1.2] | |
| S | 143 | 51.0% | [42.9, 59.1] | −3.4% | [−17.3, +10.2] | |
| S | 967 | 51.1% | [48.0, 54.3] | −3.5% | [−9.9, +2.9] | |
| SSunder 100 bets | 13 | 69.2% | [42.4, 87.3] | ROI and units withheld: they would average 9 cleared bet prices, fewer than 10, and could be read back to a book price | ||
| TE | 1,475 | 49.6% | [47.1, 52.2] | −6.1% | [−12.0, −0.4] | |
| WR | 3,418 | 51.6% | [49.9, 53.2] | −2.5% | [−5.5, +0.6] | |
De-vigged price
| Segment | Bets | Cleared | 95% | ROI | 95% | Against zero |
|---|---|---|---|---|---|---|
| 0.40–0.50 | 3,674 | 47.1% | [45.5, 48.8] | −4.8% | [−7.7, −2.0] | |
| 0.50–0.60 | 9,195 | 53.3% | [52.2, 54.3] | −2.7% | [−4.7, −0.6] | |
| <0.40under 100 bets | 47 | 44.7% | [31.4, 58.8] | +9.4% | [−23.4, +40.0] | |
| >=0.60 | 764 | 70.2% | [66.9, 73.4] | −5.3% | [−9.2, −1.4] |
How this is computed
The rule, as the engine approved it
prop under on receptions/receiving_yards/rush_attempts/tackles_assists/sacks, 2023-2025 REG weeks 1-18, 0 condition(s), consensus_close at close
- Bet type
- prop
- Markets
- Receptions, Receiving yards, Rush attempts, Tackles + assists, Sacks
- Side
- under
- Seasons
- 2023–2025 · REG · weeks 1–18
- Conditions
- none
- Line
- main
- Price
- consensus_close · draftkings, fanduel, betmgm · de-vig multiplicative · at the book's posted juice · -110 where none is posted
- Timing
- close
- Staking
- flat · 1u
- Limits
- per game no limit · per player week 1 · per week no limit
- Settlement
- push: refund · no snap: void
Where the prices came from
- 2023–2025 · The Odds API historical close, draftkings, fanduel, betmgm · a close · last snapshot at or before kickoff
strategy 204883ce9388d6c1614c6ac733dc235cae92e1a897948c4bbcffb2dc11df0698 · AUDIT-2026-09-24, the Lab library launch set
How this is computed
Every bet it made
50 shown of 13,680 bets, newest first; page 39 of 274. Filters narrow the list; nothing is removed.
| Date · wk | Bet | De-vig | Result | Actual |
|---|---|---|---|---|
| 2024-12-082024 · wk 14 | Malik NabersReceiving yards 59.5 underNYG v NO | 50.0% | missed | 79 |
| 2024-12-082024 · wk 14 | Michael MayerReceiving yards 13.5 underLV v TB | 50.0% | missed | 68 |
| 2024-12-082024 · wk 14 | De'Von AchaneReceiving yards 32.5 underMIA v NYJ | 50.0% | missed | 45 |
| 2024-12-082024 · wk 14 | Tyjae SpearsReceiving yards 8.5 underTEN v JAX | 50.0% | cleared | 2 |
| 2024-12-082024 · wk 14 | Jordan AddisonReceiving yards 46.5 underMIN v ATL | 50.0% | missed | 133 |
| 2024-12-082024 · wk 14 | Brenton StrangeReceiving yards 7.5 underJAX v TEN | 50.0% | missed | 21 |
| 2024-12-082024 · wk 14 | Parker WashingtonReceiving yards 30.5 underJAX v TEN | 50.0% | cleared | 15 |
| 2024-12-082024 · wk 14 | Tre TuckerReceptions 2.5 underLV v TB | 50.0% | cleared | 2 |
| 2024-12-082024 · wk 14 | Cade OttonReceiving yards 40.5 underTB v LV | 50.0% | missed | 70 |
| 2024-12-082024 · wk 14 | Daniel BellingerReceiving yards 12.5 underNYG v NO | 50.0% | missed | 45 |
| 2024-12-082024 · wk 14 | Calvin Austin IIIReceiving yards 31.5 underPIT v CLE | 50.0% | cleared | 4 |
| 2024-12-082024 · wk 14 | Chig OkonkwoReceiving yards 23.5 underTEN v JAX | 50.0% | cleared | 8 |
| 2024-12-082024 · wk 14 | Jeremy RuckertReceiving yards 6.5 underNYJ v MIA | 50.0% | cleared | 0 |
| 2024-12-082024 · wk 14 | Jahan DotsonReceiving yards 5.5 underPHI v CAR | 50.0% | cleared | 5 |
| 2024-12-082024 · wk 14 | Garrett WilsonReceiving yards 59.5 underNYJ v MIA | 50.0% | missed | 114 |
| 2024-12-082024 · wk 14 | Jalen NailorReceiving yards 12.5 underMIN v ATL | 50.0% | cleared | 0 |
| 2024-12-082024 · wk 14 | Rachaad WhiteReceiving yards 16.5 underTB v LV | 50.0% | missed | 19 |
| 2024-12-082024 · wk 14 | Drake LondonReceiving yards 70.5 underATL v MIN | 50.0% | cleared | 70 |
| 2024-12-082024 · wk 14 | Kevin Austin Jr.Receiving yards 25.5 underNO v NYG | 50.0% | cleared | 5 |
| 2024-12-082024 · wk 14 | Jaylen WarrenReceiving yards 20.5 underPIT v CLE | 50.0% | missed | 25 |
| 2024-12-082024 · wk 14 | Grant CalcaterraReceiving yards 25.5 underPHI v CAR | 50.0% | cleared | 16 |
| 2024-12-082024 · wk 14 | Tommy TrembleReceiving yards 13.5 underCAR v PHI | 50.0% | cleared | 3 |
| 2024-12-082024 · wk 14 | Elijah MooreReceiving yards 51.5 underCLE v PIT | 50.0% | cleared | 34 |
| 2024-12-082024 · wk 14 | 00-0036974Tackles + assists 4.5 underJAX v TEN | 50.0% | cleared | 3 |
| 2024-12-082024 · wk 14 | Travis EtienneReceiving yards 11.5 underJAX v TEN | 50.0% | missed | 50 |
| 2024-12-082024 · wk 14 | Kyle PittsReceiving yards 30.5 underATL v MIN | 50.0% | cleared | 14 |
| 2024-12-082024 · wk 14 | DeVonta SmithReceiving yards 46.5 underPHI v CAR | 50.0% | cleared | 37 |
| 2024-12-082024 · wk 14 | Pat FreiermuthReceiving yards 36.5 underPIT v CLE | 50.0% | missed | 48 |
| 2024-12-082024 · wk 14 | Najee HarrisReceiving yards 14.5 underPIT v CLE | 50.0% | cleared | 0 |
| 2024-12-082024 · wk 14 | Jaylen WaddleReceiving yards 44.5 underMIA v NYJ | 50.0% | missed | 99 |
| 2024-12-082024 · wk 14 | Van JeffersonReceiving yards 27.5 underPIT v CLE | 50.0% | cleared | 10 |
| 2024-12-082024 · wk 14 | Jerry JeudyReceiving yards 69.5 underCLE v PIT | 50.0% | cleared | 64 |
| 2024-12-082024 · wk 14 | Devin DuvernayReceiving yards 11.5 underJAX v TEN | 50.0% | cleared | 8 |
| 2024-12-082024 · wk 14 | 00-0036323Tackles + assists 7.5 underPIT v CLE | 50.0% | missed | 10 |
| 2024-12-082024 · wk 14 | Justin JeffersonReceiving yards 83.5 underMIN v ATL | 50.0% | missed | 132 |
| 2024-12-082024 · wk 14 | Darnell MooneyReceiving yards 53.5 underATL v MIN | 50.0% | missed | 142 |
| 2024-12-082024 · wk 14 | Nick Westbrook-IkhineReceiving yards 41.5 underTEN v JAX | 50.0% | cleared | 19 |
| 2024-12-082024 · wk 14 | Juwan JohnsonReceiving yards 30.5 underNO v NYG | 50.0% | missed | 50 |
| 2024-12-082024 · wk 14 | 00-0035699Tackles + assists 4.5 underTB v LV | 50.0% | cleared | 2 |
| 2024-12-082024 · wk 14 | A.J. BrownReceiving yards 76.5 underPHI v CAR | 50.0% | cleared | 43 |
| 2024-12-082024 · wk 14 | Darius SlaytonReceiving yards 30.5 underNYG v NO | 50.0% | cleared | 27 |
| 2024-12-082024 · wk 14 | 00-0035316Tackles + assists 8.5 underATL v MIN | 50.0% | missed | 10 |
| 2024-12-082024 · wk 14 | Tony PollardReceiving yards 17.5 underTEN v JAX | 50.0% | missed | 22 |
| 2024-12-082024 · wk 14 | Josh OliverReceiving yards 16.5 underMIN v ATL | 50.0% | missed | 26 |
| 2024-12-082024 · wk 14 | T.J. HockensonReceiving yards 40.5 underMIN v ATL | 50.0% | missed | 45 |
| 2024-12-082024 · wk 14 | Foster MoreauReceiving yards 21.5 underNO v NYG | 50.0% | missed | 40 |
| 2024-12-082024 · wk 14 | 00-0034968Tackles + assists 4.5 underJAX v TEN | 50.0% | cleared | 2 |
| 2024-12-082024 · wk 14 | Jakobi MeyersReceiving yards 63.5 underLV v TB | 50.0% | missed | 67 |
| 2024-12-082024 · wk 14 | Saquon BarkleyReceiving yards 16.5 underPHI v CAR | 50.0% | cleared | 0 |
| 2024-12-082024 · wk 14 | Calvin RidleyReceiving yards 68.5 underTEN v JAX | 50.0% | cleared | 59 |
All 13,680 bets in the rule’s file (JSON) · no price, book, stake or profit per bet, by the file’s restriction
How this is computed
Hypothetical results · nothing here was bet · not advice · lab/nfl/presets/fade_every_over.json, written Sun, Sep 27, 2:14 AM ET · universe built Sun, Sep 27, 2:14 AM ET · strategy 204883ce9388