The Model
Everywhere we quote “true odds,” this is the machine behind them. No market prices, no vig — just two numbers, a probability distribution over goals, and a century-old bit of statistics with one modern correction. Here is the whole thing, computed live.
We refuse to price a match scoreline by scoreline. Instead we express a view as just two quantities — the same two a trading desk uses:
- Supremacy (S) — the expected goal difference, home minus away.
- Total Goals (T) — the expected goal sum of the two teams.
Those collapse the whole question to: how much better is one side, and how many goals will the game hold? From them we recover each team's goal expectancy (λ, the mean goals we expect them to score) — the algebra is exact:
λ_home = (T + S) / 2 λ_away = (T − S) / 2
Goals are rare, independent-ish events arriving at a roughly constant rate — textbook conditions for the Poisson distribution. Given an expectancy λ, the chance a team scores exactly k goals is:
P(k | λ) = e^(−λ) · λ^k / k!
Multiply the two teams' Poisson distributions together and you get the probability of every scoreline — a grid where cell (i, j) is the chance of Norway scoring i and Senegal scoring j.
Pure independence is slightly wrong at the bottom of the scoreline. Real football produces a few more 0-0 and 1-1 draws, and a few fewer 1-0 / 0-1 results, than two independent Poissons predict — the famous low-score dependence first modelled by Dixon & Coles (1997). We multiply the four low-score cells by a correction factor τ, governed by a single dependence parameter ρ (rho):
τ(0,0) = 1 − λ_home · λ_away · ρ τ(0,1) = 1 + λ_home · ρ τ(1,0) = 1 + λ_away · ρ τ(1,1) = 1 − ρ τ(i,j) = 1 (every other score)
ρ is a small negative number (we use ρ = -0.05; ρ = 0 would collapse this straight back to plain Poisson). After applying τ we renormalise the whole grid to sum to 1, because the correction nudges the total mass.
With a normalised scoreline grid, every market is just a sum of the right cells — and a fair, margin-free price is simply the reciprocal of the probability, fair odds = 1 / p:
- Home / Draw / Away — sum cells where i>j, i=j, i<j.
- Over/Under 2.5 — under is every cell with i+j ≤ 2; over is the rest.
- Both teams to score — sum cells where i ≥ 1 and j ≥ 1.
- Correct score / clean sheet / handicap — read or sum the cells directly.
To compare against a bookmaker we first strip their overround: a book's implied probabilities sum to more than 100%, so we divide each by the total to get back to a fair distribution. Where our fair odds are shorter than the de-vigged market price, that gap is the edge.
For the Group I tie (full preview here) we set a Supremacy of +0.35 goals to Norway and a Total-Goals expectancy of 2.70. Everything below is generated by the model on this page, from those inputs alone.
Fair, margin-free prices
| Market | True prob | Fair odds |
|---|---|---|
| Norway win | 44.7% | 2.24 |
| Draw | 26.6% | 3.76 |
| Senegal win | 28.7% | 3.49 |
| Over 2.5 goals | 50.6% | 1.97 |
| Under 2.5 goals | 49.4% | 2.03 |
| Both teams to score | 54.7% | 1.83 |
| Norway clean sheet | 30.9% | 3.24 |
| Senegal clean sheet | 21.8% | 4.60 |
The full scoreline grid
Model expectancy Norway 1.53 – 1.18 Senegal. Every cell is the probability of that exact score (rows = Norway goals, columns = Senegal goals); darker = more likely. The ringed cell is the single most probable result — Norway 1–1 Senegal at 12.6%.
| Norway ↓ / Senegal → | 0 | 1 | 2 | 3 | 4 | 5 | 6 |
|---|---|---|---|---|---|---|---|
| 0 | 7.3 | 7.3 | 4.6 | 1.8 | 0.5 | 0.1 | 0.0 |
| 1 | 9.6 | 12.6 | 7.1 | 2.8 | 0.8 | 0.2 | 0.0 |
| 2 | 7.8 | 9.2 | 5.4 | 2.1 | 0.6 | 0.1 | 0.0 |
| 3 | 4.0 | 4.7 | 2.7 | 1.1 | 0.3 | 0.1 | 0.0 |
| 4 | 1.5 | 1.8 | 1.0 | 0.4 | 0.1 | 0.0 | 0.0 |
| 5 | 0.5 | 0.5 | 0.3 | 0.1 | 0.0 | 0.0 | 0.0 |
| 6 | 0.1 | 0.1 | 0.1 | 0.0 | 0.0 | 0.0 | 0.0 |
Most likely scorelines
- Norway 1–1 Senegal — 12.6% (fair 7.91)
- Norway 1–0 Senegal — 9.6% (fair 10.37)
- Norway 2–1 Senegal — 9.2% (fair 10.89)
- Norway 2–0 Senegal — 7.8% (fair 12.80)
- Norway 0–0 Senegal — 7.3% (fair 13.66)
- Norway 0–1 Senegal — 7.3% (fair 13.71)
Lined up against the de-vigged market (CBS Sports, ~22 Jun: Norway 41.7% / draw 27.6% / Senegal 30.7%, after removing a 6.6% overround) and Opta's 25,000-simulation supercomputer (Norway 44.7% / draw 24.9% / Senegal 30.5%), our 44.7% / 26.6% / 28.7% sits essentially on top of Opta and leans a fraction harder to Norway than the market does. Three independent methods, one conclusion: Norway are real but not overwhelming favourites, and the single most likely outcome is a draw.
The model is honest machinery; the judgement is in S and T. We anchor supremacy on Elo difference and the de-vigged market, cross-checked against a supercomputer, with home advantage set to ~0 at a neutral World Cup venue. We anchor total goals on a tournament baseline (group games model ≈ 2.4–2.8) nudged by both teams' recent xG and how deep they sit. Change those two numbers and every price above moves with them — which is exactly the point.
Method: independent Poisson with the Dixon & Coles (1997) low-score correction, ρ = -0.05. Fair odds are reciprocal probabilities with no bookmaker margin; market figures are de-vigged for comparison only. Inputs are editorial and will drift as team news lands.