About the Soccer Model

Two tracks, kept deliberately separate — the model's own number and the market's, so the gap between them is the actual signal, not something we talked ourselves out of.

Two tracks, never blended

The published model is market-free: a Dixon-Coles bivariate Poisson core with time decay, priced with club Elo, anchored into one coherent scoreline distribution that every market (1X2, totals, BTTS, Asian handicap, correct score) is priced from — never separate per-market models that could disagree with each other.

The market track is a comparison overlay: de-vigged prices where a real book quote exists (Bovada, FanDuel), plus a market-implied scoreline distribution for markets books don't quote directly (correct score, BTTS, team totals). Divergence — model minus market — is precomputed by the backend and shown as-is; it is never recomputed in the browser from mixed conventions. Divergence is the product here, not a hidden step toward a pick.

What a claim tier means

Every market row carries a tier, computed by the launch verification run — nobody edits it by hand:

  • Calibrated — passed every standing gate, including null-aware calibration, at the stamping run. Only here does “calibrated probability” language apply.
  • Receipts — a published probability with a public calibration receipt, but some bar is missed or still pending. Neutral wording; the receipt is linked inline.
  • Display only — shown with an explicit “uncalibrated” chip (BTTS today, a known calibration violation).
  • Unmeasured — not enough data yet to measure a claim (deep Asian handicap lines). An abstain reason shows instead of a probability emphasis.

Why no pick or EV claim is live

Every market row carries ev, stake, and abstain fields — all null at launch except abstain, which always explains why. A dedicated study raced the model against the opening line across every primary market cell and every cell lost — see the backtest page for the numbers, stated plainly rather than buried. EV stays dormant until one of two pre-registered 2026-27 forward tests actually passes on the live CLV scoreboard — never a hand flip, and never quietly turned on without the receipts to back it.

The rendering rule for a pick chip is built and tested now, for whenever that day comes: a chip requires a non-null stake AND a null abstain — no v1 payload satisfies that. Every abstain reason renders as a plain-language caption; a row is never hidden just because EV is off.

The roster-blindness caveat

The model is team-level. It does not see today's starting XI, a last-minute injury, or a transfer that lands a new signing in the squad. The market prices those things within minutes; we don't. Especially early in a season, part of any divergence you see between our number and the market's is genuine information the market has and the model structurally lacks — not an edge. Read divergence as a starting point for your own handicapping, never as a pick.

Evaluation discipline

Every published claim is walk-forward: a season is predicted only with models trained on seasons before it, and nothing is scored in-sample. The backtest page carries the full gate state, calibration receipts (ECE alone misleads — always read alongside the null-q95 baseline and the ratio between them), and the live closing-line-value scoreboard once it has enough settled picks to mean something.

Predictions and analysis are for informational purposes only. Nothing on this site is betting advice.