New to these reports? Start here
- Dotted-underlined words have a plain-English definition — hover or tap them. Every term is also on the glossary page.
- "Null" means we found nothing, not that something broke. Most reports here are negative results, on purpose — knowing an idea doesn't work is the point.
- Two questions get asked separately. First, is the effect real? Second, is it already priced into the betting odds? An effect can be completely real and still useless to bet on.
- A "calibration" row is a self-check. It runs the same method on something already known to be true. If that fails, the whole report is unreliable — so it's reported alongside the findings.
- If a confidence interval includes zero, the real effect might be nothing at all, so no claim gets made.
Q1 props forward test: early-November grade (2026-11-02)
Planned on 2026-10-10: judge each frozen Q1 model against DraftKings' last pre-kickoff price on
Brier / log losslog lossA score for probability forecasts that punishes confident wrong answers harshly. Lower is better., line movement and the 5+ point edge record. Forward games only, i.e. after each
model was frozen: passing from 2026-09-11, rushing/receiving/anytime TD from 2026-10-10. ROIreturn on investmentProfit as a percentage of the money wagered. +2% means $2 profit per $100 bet. SEs
are clustered by game. results.json has everything; grade.py reruns it.
| Market | Graded | Brier model / DK | Log loss model / DK | 5+ pt edges | DK line moved toward / away from the model's lean (5+ pt edges) |
|---|---|---|---|---|---|
| Passing | 213 | .2495 / .2498 | .6921 / .6927 | 40-29, +8.9% ± 12.2 | 25 / 44 |
| Rushing | 160 | .2781 / .2386 | .7510 / .6699 | 41-65, −24.9% ± 9.1 | 33 / 55 |
| Receiving | 376 | .2449 / .2422 | .6828 / .6776 | 69-88, −1.4% ± 8.1 | 44 / 95 |
| Anytime TD | 1,086 | .0349 / .0347 | .1387 / .1400 | none (no "No" side posted) | 8 / 6 |
Verdict
- Passing: level with DraftKings on accuracy. The 5+ point record (40-29) is +1 SE, not significant. On those bets DK's line moved away from the model's side 44 times vs 25 toward it, the opposite of what a real edge produces. No edge established; keep tracking.
- Rushing: clearly worse than DK. The model leans Over (mean 53% vs 37% actual), and its Over edges went 20-46. This is the biasbiasWhether the misses lean consistently one way. A projection can have a good average error size but still be biased if it is almost always too high. Bias is often the more fixable problem. the 2026-10-10 notes expected ("expect the forward test to lose").
- DK also priced these Overs high in the forward games: 48% priced vs 37% hit. Betting every Under won +13.8% ± 6.6.
- But in weeks 1–5 the same rule lost 8.5% ± 5.4 (Unders hit 50%), and across all 394 bets it's about break-even. Noise, not an edge.
- Receiving: slightly worse than DK; edges break even; DK moved against the model's side 2:1 on edges. No edge.
- Anytime TD (Q1): calibrated (3.9% predicted, 3.9% actual) and a hair better than DK's with-vig price on log loss. Books post only Yes, at ~30% margin, so there's nothing to bet; model-side Yes bets went 1-11.
The models stay frozen until season end, as planned. Bottom line: only Q1 passing is level with the market, and none of the four has an edge.
python3 backtests/nfl_q1_forward/grade.py
On this page
Terms in this report
Source
backtests/nfl_q1_forward/FINDINGS.md
updated 2026-11-02 03:38