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.
NFL middles from line moves: they happen, but nothing at the open picks the side
2026-10-11. Script: middles.py, results in middles_results.json.
2026 weeks 1–5: 65 games, spreads and totals, up to 12 books, opening
snapshot to kickoff.
Pricing. Every bet is priced on a discrete outcome distribution centred to
reproduce Pinnacle's devigged closing price. Margins are key-number weighted
(JointScoreModel.margin_pmf), so pushes and middle windows are priced
exactly. A middle is the opening bet plus a hedge at the close. The hedge is
worth about −vigvigThe bookmaker's built-in cut. It is why a coin-flip bet at -110 needs you to win about 52.4% of the time just to break even., so the opening bet's closing-line value is what counts.
Lines move a lot
| median move | ≥0.5 pt | ≥1 pt | ≥2 pts | crosses a key number | |
|---|---|---|---|---|---|
| Spreads | 1.0 | 82% | 51% | 25% | 31% (3 or 7) |
| Totals | 1.0 | 80% | 66% | 25% | 37% (41/44/47) |
No opening rule gets you on the right side
Expected valueexpected valueThe average result if you could repeat a bet or decision endlessly. Positive expected value means it pays off on average, even though any single instance can lose. per bet at Pinnacle's close (SE clustered by game):
| Rule | Spreads | Totals |
|---|---|---|
| Both sides at the best opening price (no information) | −2.3% | −1.9% |
| Pre-registered: a soft book's line beats Pinnacle's opener by ≥0.5 pt (or ≥2 pp at the same line) | −6.3% (SE 1.3) | −2.0% (SE 0.8) |
| ...plus a middle hedge at the best close when a window opens | −2.7% per pair (6 middles hit in 380 pairs, mean window 1.4 pts) | |
| Post hoc: Pinnacle's opener on the other side | −1.4% (SE 0.8) | −3.8% (SE 0.5) |
- A soft book that disagrees with Pinnacle's opener isn't stale. On spreads, the close moves toward the soft book's number; betting its "better" line is worse than picking blind.
- Pinnacle's opener isn't stale either. The mirror bet also loses. When books disagree at the open, the close tends to land between them, so both sides give up about the vig.
- Realized results agree in sign but are noise at this sample size (±6–14% per bet).
Verdict
About a third of games cross a key number from open to close, so middles do occur. But a middle is only worth what the opening bet's closing-line value is worth. Neither "bet the soft book's better opener" nor its mirror captures that. Unless something predicts line direction at the open (earlier work says nothing does), middles can't be targeted.