Bristol City vs Millwall: model prediction
Over 1.5 goals
Over 8.5 corners
Draw or Millwall
Full time2 of 2 calls right
Our most likely call was Millwall at 36.8%, and it was correct. We called Under 2.5 at 57.1% and it landed (2 goals). We called No at 50.6% and it landed.
Judged against the prediction this page published before kickoff. Right or wrong, it stays on the record.
Prediction summary
Top 3 convictions
Model read
▾
Bristol City versus Millwall in the Championship on 15 August 2026 is finely balanced. Millwall edge it at 37%, but the gap to the field is slim. Three things stand out in the data: 1) Bookmakers see it the same way, 35% on Millwall, and agreement is historically when our numbers are most reliable. 2) The model expects a tight, grinding game, just 43% on Over 2.5 with both teams to score at 49%. 3) The run in: Bristol City arrive W2 D2 L2, Millwall W3 D2 L1. History adds colour: across the last 5 meetings it is 2 wins for Bristol City, 0 draws and 3 for Millwall at 2.8 goals per match. Discipline says sit it out: value_gap +0.019 <= 0.03.
Value & higher-risk angles
Lower-probability calls our model rates above the obvious price; random finds are high-return scorelines that can happen. Higher risk, not a tip; we never beat the sharp market.
Model vs market
34.3%-3.2%
29.0%+1.9%
36.8%+1.5%
value_gap +0.019 <= 0.03
Goals markets
Strong chance
Reasonable chance
Reasonable chance
Corners markets
Strong chance
Good chance
Reasonable chance
Toss-up
Shots markets
Strong chance
Good chance
Toss-up
Low chance
Totals line guide
Before kick-off our call was Fairly priced. The match has been played, so this is a historical snapshot: the graded result is below.
Form & head-to-head
Last 5 meetings: Bristol City 2 · 0 draws · Millwall 3 · 2.8 goals/game.
Referee history
Most-seen referees this season, real match data. We never claim who officiates this fixture.
Season stats
Season 2025/26, real results only
45.7%47.8%
45.7%50.0%
30.4%39.1%
League averages this season: 2.61 goals per match · Over 2.5 in 51% · BTTS in 57%. Full league tables & stats →
Bookmaker odds
Real bookmaker price (Bet365) next to our model fair price. Bookmaker prices include the bookmaker margin, so our margin-free fair price usually looks longer. We do not claim to beat the closing market.
Model fair odds
Our calibrated probability as a decimal price (1 divided by probability). A fair model price, not a bookmaker quote.
Match result
Goals
Corners
Cards
Shots on target
Shots
Fouls
All model outcomes · full market spectrum & player markets
Shots on target
| Over 6.5 | 67.0% | Over 7.5 | 54.2% | Over 8.5 | 41.5% | Over 9.5 | 30.2% |
|---|---|---|---|---|---|---|---|
| Most: Bristol City | 45.1% | Most: Millwall | 41.7% | ||||
| Bristol City Over 4.2 | 38.8% | Millwall Over 4.2 | 36.4% |
Cards
| Over 2.5 | 69.1% | Over 3.5 | 47.7% | Over 4.5 | 28.7% |
|---|---|---|---|---|---|
| Most: Bristol City | 26.0% | Most: Millwall | 53.1% | ||
| Bristol City Over 1.8 | 42.4% | Millwall Over 1.8 | 62.5% |
Clean sheet & win to nil
| Bristol City clean sheet | 29.4% |
|---|---|
| Millwall clean sheet | 30.9% |
| Bristol City win to nil | 19.6% |
| Millwall win to nil | 21.2% |
Derived from the model score matrix above: a clean sheet is every scoreline where the opponent is on zero. Calibration-graded, not a tip.
Full market spectrum · model probabilities
Calibration-graded model %, no odds attached. Niche markets are transparency/coverage, not a claimed edge. Colour = measured out-of-sample calibration.
Match result & goals calibrated
1×2
| home | 34.3% | draw | 29.0% | away | 36.8% |
|---|---|---|---|---|---|
double_chance
| 1X | 63.2% | 12 | 71.0% | X2 | 65.7% |
|---|---|---|---|---|---|
dnb
| home | 48.2% | away | 51.7% |
|---|
btts
| yes | 49.4% | no | 50.6% |
|---|
clean_sheet
| home | 29.4% | away | 31.0% |
|---|
win_to_nil
| home | 19.7% | away | 21.2% |
|---|
winning_margin
| home_by_1 | 19.7% | home_by_2 | 9.8% | home_by_3plus | 4.7% |
|---|---|---|---|---|---|
| away_by_1 | 20.7% | away_by_2 | 10.7% | away_by_3plus | 5.4% |
correct_score
| 0-0 | 9.8% | 0-1 | 10.5% | 0-2 | 6.8% |
|---|---|---|---|---|---|
| 0-3 | 2.8% | 0-4 | 0.9% | 0-5 | 0.2% |
| 1-0 | 10.0% | 1-1 | 13.7% | 1-2 | 8.0% |
| 1-3 | 3.3% | 1-4 | 1.0% | 1-5 | 0.2% |
| 2-0 | 6.3% | 2-1 | 7.6% | 2-2 | 4.7% |
| 2-3 | 1.9% | 2-4 | 0.6% | 2-5 | 0.1% |
| 3-0 | 2.5% | 3-1 | 3.0% | 3-2 | 1.8% |
| 3-3 | 0.8% | 3-4 | 0.2% | 3-5 | 0.1% |
| 4-0 | 0.7% | 4-1 | 0.9% | 4-2 | 0.5% |
| 4-3 | 0.2% | 4-4 | 0.1% | 4-5 | 0.0% |
| 5-0 | 0.2% | 5-1 | 0.2% | 5-2 | 0.1% |
| 5-3 | 0.1% | 5-4 | 0.0% | 5-5 | 0.0% |
| other | 0.3% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 13.7% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 90.2% | under_0.5 | 9.8% | over_1.5 | 69.7% |
|---|---|---|---|---|---|
| under_1.5 | 30.3% | over_2.5 | 42.9% | under_2.5 | 57.1% |
| over_3.5 | 22.1% | under_3.5 | 78.0% | over_4.5 | 9.6% |
| under_4.5 | 90.5% | over_5.5 | 3.6% | under_5.5 | 96.5% |
odd_even
| odd | 48.3% | even | 51.7% |
|---|
team_home
| over_0.5 | 69.0% | under_0.5 | 31.0% | over_1.5 | 32.7% |
|---|---|---|---|---|---|
| under_1.5 | 67.3% | over_2.5 | 11.5% | under_2.5 | 88.5% |
team_away
| over_0.5 | 70.6% | under_0.5 | 29.4% | over_1.5 | 34.6% |
|---|---|---|---|---|---|
| under_1.5 | 65.4% | over_2.5 | 12.6% | under_2.5 | 87.4% |
most
| home | 34.3% | draw | 29.0% | away | 36.8% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 4.7% | away_+2.5 | 95.3% | home_-1.5 | 14.5% |
|---|---|---|---|---|---|
| away_+1.5 | 85.5% | home_-0.5 | 34.3% | away_+0.5 | 65.7% |
| home_+0.5 | 63.2% | away_-0.5 | 36.8% | home_+1.5 | 83.9% |
| away_-1.5 | 16.1% | home_+2.5 | 94.6% | away_-2.5 | 5.4% |
total_exact
| exact_0 | 9.8% | exact_1 | 20.5% | exact_2 | 26.8% |
|---|---|---|---|---|---|
| exact_3 | 20.9% | exact_4 | 12.5% | exact_5 | 6.0% |
| exact_6 | 2.4% | exact_7plus | 1.2% |
First half range, not a point
1×2
| home | 24.9% | draw | 46.8% | away | 28.3% |
|---|---|---|---|---|---|
total
| over_0.5 | 62.8% | under_0.5 | 37.2% | over_1.5 | 26.0% |
|---|---|---|---|---|---|
| under_1.5 | 74.0% | over_2.5 | 7.8% | under_2.5 | 92.2% |
btts
| yes | 15.2% | no | 84.8% |
|---|
total_exact
| exact_0 | 37.2% | exact_1 | 36.8% | exact_2 | 18.2% |
|---|---|---|---|---|---|
| exact_3 | 6.0% | exact_4plus | 1.8% |
Second half range, not a point
1×2
| home | 29.1% | draw | 39.5% | away | 31.4% |
|---|---|---|---|---|---|
total
| over_0.5 | 73.5% | under_0.5 | 26.5% | over_1.5 | 38.3% |
|---|---|---|---|---|---|
| under_1.5 | 61.7% | over_2.5 | 14.9% | under_2.5 | 85.1% |
btts
| yes | 23.5% | no | 76.5% |
|---|
Half-time / full-time range, not a point
| H/H | 18.3% | H/D | 4.7% | H/A | 1.8% |
|---|---|---|---|---|---|
| D/H | 13.6% | D/D | 18.5% | D/A | 14.7% |
| A/H | 1.8% | A/D | 5.0% | A/A | 21.5% |
Corners range, not a point
total
| over_7.5 | 79.7% | under_7.5 | 20.3% | over_8.5 | 69.6% |
|---|---|---|---|---|---|
| under_8.5 | 30.4% | over_9.5 | 58.2% | under_9.5 | 41.8% |
| over_10.5 | 46.6% | under_10.5 | 53.4% | over_11.5 | 35.6% |
| under_11.5 | 64.4% | over_12.5 | 26.0% | under_12.5 | 74.0% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 77.5% | under_3.5 | 22.5% | over_4.5 | 63.2% |
|---|---|---|---|---|---|
| under_4.5 | 36.8% | over_5.5 | 48.1% | under_5.5 | 51.9% |
team_away
| over_3.5 | 67.2% | under_3.5 | 32.8% | over_4.5 | 50.6% |
|---|---|---|---|---|---|
| under_4.5 | 49.4% | over_5.5 | 35.1% | under_5.5 | 64.9% |
most
| home | 53.4% | draw | 10.4% | away | 36.2% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 23.9% | away_+3.5 | 76.1% | home_-1.5 | 42.8% |
|---|---|---|---|---|---|
| away_+1.5 | 57.2% | home_-0.5 | 53.4% | away_+0.5 | 46.6% |
| home_+0.5 | 63.8% | away_-0.5 | 36.2% | home_+1.5 | 73.2% |
| away_-1.5 | 26.8% | home_+3.5 | 87.5% | away_-3.5 | 12.5% |
Shots range, not a point
total
| over_22.5 | 65.5% | under_22.5 | 34.6% | over_24.5 | 53.2% |
|---|---|---|---|---|---|
| under_24.5 | 46.8% | over_26.5 | 41.0% | under_26.5 | 59.0% |
| over_28.5 | 29.9% | under_28.5 | 70.1% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 72.2% | under_10.5 | 27.8% | over_12.5 | 55.8% |
|---|---|---|---|---|---|
| under_12.5 | 44.2% | over_14.5 | 39.5% | under_14.5 | 60.5% |
team_away
| over_10.5 | 58.9% | under_10.5 | 41.1% | over_12.5 | 40.9% |
|---|---|---|---|---|---|
| under_12.5 | 59.1% | over_14.5 | 25.6% | under_14.5 | 74.4% |
most
| home | 57.4% | draw | 6.1% | away | 36.6% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 32.9% | away_+4.5 | 67.1% | home_-2.5 | 44.9% |
|---|---|---|---|---|---|
| away_+2.5 | 55.1% | home_-0.5 | 57.4% | away_+0.5 | 42.6% |
| home_+0.5 | 63.4% | away_-0.5 | 36.6% | home_+2.5 | 74.5% |
| away_-2.5 | 25.6% | home_+4.5 | 83.4% | away_-4.5 | 16.6% |
Shots on target range, not a point
total
| over_6.5 | 67.0% | under_6.5 | 33.0% | over_7.5 | 54.2% |
|---|---|---|---|---|---|
| under_7.5 | 45.8% | over_8.5 | 41.5% | under_8.5 | 58.5% |
| over_9.5 | 30.2% | under_9.5 | 69.8% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 56.5% | under_3.5 | 43.5% | over_4.5 | 38.8% |
|---|---|---|---|---|---|
| under_4.5 | 61.2% | over_5.5 | 24.3% | under_5.5 | 75.7% |
team_away
| over_3.5 | 54.2% | under_3.5 | 45.8% | over_4.5 | 36.4% |
|---|---|---|---|---|---|
| under_4.5 | 63.6% | over_5.5 | 22.4% | under_5.5 | 77.6% |
most
| home | 45.1% | draw | 13.2% | away | 41.7% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 21.7% | away_+2.5 | 78.3% | home_-0.5 | 45.1% |
|---|---|---|---|---|---|
| away_+0.5 | 54.9% | home_+0.5 | 58.3% | away_-0.5 | 41.7% |
| home_+2.5 | 80.7% | away_-2.5 | 19.3% |
Cards calibrated
total
| over_2.5 | 69.1% | under_2.5 | 30.9% | over_3.5 | 47.7% |
|---|---|---|---|---|---|
| under_3.5 | 52.3% | over_4.5 | 28.7% | under_4.5 | 71.3% |
| over_5.5 | 15.1% | under_5.5 | 84.9% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_1.5 | 42.4% | under_1.5 | 57.7% | over_2.5 | 17.7% |
|---|---|---|---|---|---|
| under_2.5 | 82.3% |
team_away
| over_1.5 | 62.6% | under_1.5 | 37.5% | over_2.5 | 35.6% |
|---|---|---|---|---|---|
| under_2.5 | 64.4% |
most
| home | 26.0% | draw | 20.9% | away | 53.1% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 11.5% | away_+1.5 | 88.5% | home_-0.5 | 26.0% |
|---|---|---|---|---|---|
| away_+0.5 | 74.0% | home_+0.5 | 46.9% | away_-0.5 | 53.1% |
| home_+1.5 | 68.2% | away_-1.5 | 31.8% |
Fouls calibrated
total
| over_20.5 | 55.9% | under_20.5 | 44.2% | over_22.5 | 40.2% |
|---|---|---|---|---|---|
| under_22.5 | 59.8% | over_24.5 | 26.3% | under_24.5 | 73.7% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 36.5% | under_9.5 | 63.5% | over_11.5 | 17.5% |
|---|---|---|---|---|---|
| under_11.5 | 82.5% | over_13.5 | 6.9% | under_13.5 | 93.1% |
team_away
| over_9.5 | 79.8% | under_9.5 | 20.2% | over_11.5 | 61.4% |
|---|---|---|---|---|---|
| under_11.5 | 38.7% | over_13.5 | 41.2% | under_13.5 | 58.8% |
most
| home | 17.2% | draw | 5.7% | away | 77.1% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 6.0% | away_+3.5 | 94.0% | home_-0.5 | 17.2% |
|---|---|---|---|---|---|
| away_+0.5 | 82.8% | home_+2.5 | 36.8% | away_-2.5 | 63.2% |
Red card range, not a point
any
| yes | 7.0% | no | 93.0% |
|---|
home
| yes | 2.2% | no | 97.8% |
|---|
away
| yes | 4.9% | no | 95.1% |
|---|
How this works (honestly)
We are transparent about our method, our limits and how we measure performance.
Results, odds & closing prices, xG, shots, lineups, referee and schedule load.
Dixon-Coles + an xG strength model + champion/challenger selection + probability calibration + a trust gate.
We do not beat the sharp market. The value is honest probabilities, No-bet calls and CLV.
Top-pick hit rate 47.7% (reliability, not edge). Calibration error 0.0095 (55261 matches).
More: Bristol City predictions · Millwall predictions · Championship
Not financial advice. No model beats the sharp closing market on public data. The value here is honest probabilities, No-bet calls, and CLV history.
Explore this match
Markets

