Bristol City 0–2 Millwall
What the chances were worth
The scoreline says 0–2; by chance quality the match ran 0.50–3.00.
What the model expected
Its probabilities for this match, logged before kick-off and never changed. The result is highlighted.
The model made Millwall to win its most likely call before kick-off, and that is what happened. It had the result at 38% beforehand.
One match tells you nothing on its own — whether these percentages are any good is the whole point of the calibration page, where every one of them is scored.
The brain read
Millwall created the better chances — the xG read 0.5–3 and the shot count agreed (8–24, 0–3 on target). Millwall got into the box far more often (18 shots inside it to 2) and Millwall held 65% of the ball. Millwall's finishing let them down — 2 from 3 xG despite 3 of 24 shots on target (a finishing read inferred from shots on target and goals vs xG — not measured shot placement). On the balance of chances, the 0–2 reads fair.
A second opinion written by rule from the numbers on this page — where the shot picture and the xG disagree, it says so rather than picking a winner. Backward-looking only; it claims nothing about any future result.
The match in numbers
As returned by the data feed at full time. Bars show each side’s share of the stat.
The market’s read
| Market | Consensus price | Implied chance | Move |
|---|---|---|---|
| Double chance Bristol City or draw | 1.42 | 65.6% | -0.1 pts |
| Double chance Millwall or draw | 1.49 | 62.9% | +0.8 pts |
| Double chance either team | 1.31 | 71.4% | -0.6 pts |
| Draw no bet — Bristol City | 1.82 | 51.1% | -1.3 pts |
| Draw no bet — Millwall | 1.91 | 48.9% | +1.3 pts |
| Over 1.5 goals | 1.29 | 72.4% | -0.4 pts |
| Over 2.5 goals | 1.94 | 48.6% | -0.7 pts |
| Over 3.5 goals | 3.31 | 28.3% | -0.4 pts |
| Both teams to score | 1.70 | 54.8% | +0.5 pts |
| Bristol City over 1.5 team goals | 2.40 | 38.8% | -0.9 pts |
| Millwall over 1.5 team goals | 2.50 | 37.3% | -0.2 pts |
| Bristol City clean sheet | 3.27 | 28.5% | +0.7 pts |
| Millwall clean sheet | 3.42 | 27.2% | +0.5 pts |
Shortest-priced scorelines: 1-1 5.92 · 1-0 7.92 · 0-1 8.34 · 2-1 9.09 · 1-2 9.33
Consensus of bookmaker prices captured 2026-08-15 16:10 UTC. These are the closing prices — the market’s last word before kick-off. The Move column is how each market’s implied chance has shifted since the first price we captured: green = the chance has risen (the price shortened, backing coming in), red = the chance has fallen (the price eased out — what punters call the price ‘drifting’).
Head to head
| Date | Home | Score | Away |
|---|---|---|---|
| 29 Dec 25 | Millwall | 2-1 | Bristol City |
| 06 Dec 25 | Bristol City | 0-1 | Millwall |