Millwall vs Norwich: model prediction
Millwall or draw
Over 1.5 goals
Over 8.5 corners
Full time0 of 2 calls right
Our most likely call was Millwall at 44.7%, and it was correct. We called Under 2.5 at 54.4% and it missed (3 goals). We called Yes at 50.5% and it missed.
Judged against the prediction this page published before kickoff. Right or wrong, it stays on the record.
Prediction summary
Top 3 convictions
Model read
▾
"When model and market disagree on Millwall, that gap is the story." The model leans Millwall at 45% when Millwall host Norwich in the Championship on 22 August 2026. A lean, though, not a lock. The market broadly agrees, pricing Millwall at 44%. No strong lean on goals (46% Over 2.5). The interest, if any, lives elsewhere. Recent form reads W4 D2 L0 for Millwall against W2 D1 L3 for Norwich. History adds colour: across the last 5 meetings it is 3 wins for Millwall, 0 draws and 2 for Norwich at 2.8 goals per match. Verdict: no bet. Value_gap +0.011 <= 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
44.7%+1.1%
27.7%+0.9%
27.6%-2.0%
value_gap +0.011 <= 0.03
Goals markets
Strong chance
Reasonable chance
Good chance
Corners markets
Strong chance
Good chance
Reasonable chance
Toss-up
Shots markets
Good chance
Reasonable 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: Millwall 3 · 0 draws · Norwich 2 · 2.8 goals/game.
Season stats
Season 2026/27, real results only
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 | 68.5% | Over 7.5 | 55.8% | Over 8.5 | 43.1% | Over 9.5 | 31.7% |
|---|---|---|---|---|---|---|---|
| Most: Millwall | 49.4% | Most: Norwich | 37.6% | ||||
| Millwall Over 4.2 | 42.9% | Norwich Over 4.2 | 34.5% |
Cards
| Over 2.5 | 69.5% | Over 3.5 | 48.2% | Over 4.5 | 29.1% |
|---|---|---|---|---|---|
| Most: Millwall | 33.9% | Most: Norwich | 44.3% | ||
| Millwall Over 1.8 | 49.6% | Norwich Over 1.8 | 57.3% |
Clean sheet & win to nil
| Millwall clean sheet | 34.2% |
|---|---|
| Norwich clean sheet | 23.9% |
| Millwall win to nil | 25.4% |
| Norwich win to nil | 15.1% |
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 | 44.7% | draw | 27.7% | away | 27.6% |
|---|---|---|---|---|---|
double_chance
| 1X | 72.4% | 12 | 72.3% | X2 | 55.3% |
|---|---|---|---|---|---|
dnb
| home | 61.8% | away | 38.2% |
|---|
btts
| yes | 50.5% | no | 49.5% |
|---|
clean_sheet
| home | 34.4% | away | 24.0% |
|---|
win_to_nil
| home | 25.5% | away | 15.1% |
|---|
winning_margin
| home_by_1 | 22.7% | home_by_2 | 13.6% | home_by_3plus | 8.4% |
|---|---|---|---|---|---|
| away_by_1 | 16.8% | away_by_2 | 7.6% | away_by_3plus | 3.2% |
correct_score
| 0-0 | 8.9% | 0-1 | 8.2% | 0-2 | 4.7% |
|---|---|---|---|---|---|
| 0-3 | 1.7% | 0-4 | 0.4% | 0-5 | 0.1% |
| 1-0 | 11.1% | 1-1 | 13.2% | 1-2 | 6.7% |
| 1-3 | 2.4% | 1-4 | 0.6% | 1-5 | 0.1% |
| 2-0 | 8.4% | 2-1 | 9.0% | 2-2 | 4.8% |
| 2-3 | 1.7% | 2-4 | 0.5% | 2-5 | 0.1% |
| 3-0 | 4.0% | 3-1 | 4.3% | 3-2 | 2.3% |
| 3-3 | 0.8% | 3-4 | 0.2% | 3-5 | 0.1% |
| 4-0 | 1.4% | 4-1 | 1.5% | 4-2 | 0.8% |
| 4-3 | 0.3% | 4-4 | 0.1% | 4-5 | 0.0% |
| 5-0 | 0.4% | 5-1 | 0.4% | 5-2 | 0.2% |
| 5-3 | 0.1% | 5-4 | 0.0% | 5-5 | 0.0% |
| other | 0.4% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 13.2% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 91.1% | under_0.5 | 8.9% | over_1.5 | 71.9% |
|---|---|---|---|---|---|
| under_1.5 | 28.2% | over_2.5 | 45.6% | under_2.5 | 54.4% |
| over_3.5 | 24.2% | under_3.5 | 75.8% | over_4.5 | 10.9% |
| under_4.5 | 89.1% | over_5.5 | 4.2% | under_5.5 | 95.8% |
odd_even
| odd | 48.4% | even | 51.6% |
|---|
team_home
| over_0.5 | 76.1% | under_0.5 | 24.0% | over_1.5 | 41.8% |
|---|---|---|---|---|---|
| under_1.5 | 58.2% | over_2.5 | 17.4% | under_2.5 | 82.6% |
team_away
| over_0.5 | 65.6% | under_0.5 | 34.4% | over_1.5 | 29.0% |
|---|---|---|---|---|---|
| under_1.5 | 71.1% | over_2.5 | 9.4% | under_2.5 | 90.6% |
most
| home | 44.7% | draw | 27.7% | away | 27.6% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 8.4% | away_+2.5 | 91.6% | home_-1.5 | 22.0% |
|---|---|---|---|---|---|
| away_+1.5 | 78.0% | home_-0.5 | 44.7% | away_+0.5 | 55.3% |
| home_+0.5 | 72.4% | away_-0.5 | 27.6% | home_+1.5 | 89.2% |
| away_-1.5 | 10.8% | home_+2.5 | 96.8% | away_-2.5 | 3.2% |
total_exact
| exact_0 | 8.9% | exact_1 | 19.3% | exact_2 | 26.3% |
|---|---|---|---|---|---|
| exact_3 | 21.4% | exact_4 | 13.3% | exact_5 | 6.7% |
| exact_6 | 2.8% | exact_7plus | 1.4% |
First half range, not a point
1×2
| home | 34.2% | draw | 47.5% | away | 18.3% |
|---|---|---|---|---|---|
total
| over_0.5 | 61.1% | under_0.5 | 38.9% | over_1.5 | 24.4% |
|---|---|---|---|---|---|
| under_1.5 | 75.6% | over_2.5 | 7.0% | under_2.5 | 93.0% |
btts
| yes | 13.3% | no | 86.7% |
|---|
total_exact
| exact_0 | 38.9% | exact_1 | 36.7% | exact_2 | 17.3% |
|---|---|---|---|---|---|
| exact_3 | 5.5% | exact_4plus | 1.6% |
Second half range, not a point
1×2
| home | 36.8% | draw | 35.8% | away | 27.5% |
|---|---|---|---|---|---|
total
| over_0.5 | 78.9% | under_0.5 | 21.1% | over_1.5 | 46.0% |
|---|---|---|---|---|---|
| under_1.5 | 54.0% | over_2.5 | 20.5% | under_2.5 | 79.5% |
btts
| yes | 28.9% | no | 71.1% |
|---|
Half-time / full-time range, not a point
| H/H | 26.6% | H/D | 5.4% | H/A | 2.1% |
|---|---|---|---|---|---|
| D/H | 17.5% | D/D | 17.0% | D/A | 13.0% |
| A/H | 2.0% | A/D | 4.0% | A/A | 12.4% |
Corners range, not a point
total
| over_7.5 | 80.3% | under_7.5 | 19.7% | over_8.5 | 70.3% |
|---|---|---|---|---|---|
| under_8.5 | 29.7% | over_9.5 | 59.1% | under_9.5 | 40.9% |
| over_10.5 | 47.5% | under_10.5 | 52.5% | over_11.5 | 36.4% |
| under_11.5 | 63.6% | over_12.5 | 26.7% | under_12.5 | 73.3% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 78.8% | under_3.5 | 21.2% | over_4.5 | 64.9% |
|---|---|---|---|---|---|
| under_4.5 | 35.1% | over_5.5 | 50.0% | under_5.5 | 50.0% |
team_away
| over_3.5 | 66.4% | under_3.5 | 33.6% | over_4.5 | 49.7% |
|---|---|---|---|---|---|
| under_4.5 | 50.3% | over_5.5 | 34.3% | under_5.5 | 65.7% |
most
| home | 55.3% | draw | 10.2% | away | 34.5% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 25.5% | away_+3.5 | 74.5% | home_-1.5 | 44.7% |
|---|---|---|---|---|---|
| away_+1.5 | 55.3% | home_-0.5 | 55.3% | away_+0.5 | 44.8% |
| home_+0.5 | 65.5% | away_-0.5 | 34.5% | home_+1.5 | 74.7% |
| away_-1.5 | 25.3% | home_+3.5 | 88.3% | away_-3.5 | 11.7% |
Shots range, not a point
total
| over_22.5 | 59.5% | under_22.5 | 40.6% | over_24.5 | 46.8% |
|---|---|---|---|---|---|
| under_24.5 | 53.2% | over_26.5 | 34.8% | under_26.5 | 65.2% |
| over_28.5 | 24.4% | under_28.5 | 75.6% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 71.0% | under_10.5 | 29.0% | over_12.5 | 54.3% |
|---|---|---|---|---|---|
| under_12.5 | 45.7% | over_14.5 | 38.0% | under_14.5 | 62.0% |
team_away
| over_10.5 | 51.1% | under_10.5 | 48.9% | over_12.5 | 33.2% |
|---|---|---|---|---|---|
| under_12.5 | 66.8% | over_14.5 | 19.4% | under_14.5 | 80.6% |
most
| home | 61.7% | draw | 6.0% | away | 32.4% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 36.4% | away_+4.5 | 63.6% | home_-2.5 | 48.9% |
|---|---|---|---|---|---|
| away_+2.5 | 51.1% | home_-0.5 | 61.7% | away_+0.5 | 38.4% |
| home_+0.5 | 67.6% | away_-0.5 | 32.4% | home_+2.5 | 78.3% |
| away_-2.5 | 21.8% | home_+4.5 | 86.5% | away_-4.5 | 13.5% |
Shots on target range, not a point
total
| over_6.5 | 68.5% | under_6.5 | 31.5% | over_7.5 | 55.8% |
|---|---|---|---|---|---|
| under_7.5 | 44.2% | over_8.5 | 43.1% | under_8.5 | 56.9% |
| over_9.5 | 31.7% | under_9.5 | 68.3% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 60.5% | under_3.5 | 39.5% | over_4.5 | 42.9% |
|---|---|---|---|---|---|
| under_4.5 | 57.1% | over_5.5 | 28.0% | under_5.5 | 72.1% |
team_away
| over_3.5 | 52.2% | under_3.5 | 47.8% | over_4.5 | 34.5% |
|---|---|---|---|---|---|
| under_4.5 | 65.5% | over_5.5 | 20.8% | under_5.5 | 79.2% |
most
| home | 49.4% | draw | 13.0% | away | 37.6% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 25.3% | away_+2.5 | 74.7% | home_-0.5 | 49.4% |
|---|---|---|---|---|---|
| away_+0.5 | 50.6% | home_+0.5 | 62.4% | away_-0.5 | 37.6% |
| home_+2.5 | 83.4% | away_-2.5 | 16.6% |
Cards calibrated
total
| over_2.5 | 69.5% | under_2.5 | 30.5% | over_3.5 | 48.2% |
|---|---|---|---|---|---|
| under_3.5 | 51.8% | over_4.5 | 29.1% | under_4.5 | 70.9% |
| over_5.5 | 15.4% | under_5.5 | 84.6% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_1.5 | 49.6% | under_1.5 | 50.4% | over_2.5 | 23.4% |
|---|---|---|---|---|---|
| under_2.5 | 76.6% |
team_away
| over_1.5 | 57.3% | under_1.5 | 42.7% | over_2.5 | 30.2% |
|---|---|---|---|---|---|
| under_2.5 | 69.8% |
most
| home | 33.9% | draw | 21.8% | away | 44.3% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 16.7% | away_+1.5 | 83.3% | home_-0.5 | 33.9% |
|---|---|---|---|---|---|
| away_+0.5 | 66.1% | home_+0.5 | 55.7% | away_-0.5 | 44.3% |
| home_+1.5 | 75.5% | away_-1.5 | 24.5% |
Fouls calibrated
total
| over_20.5 | 56.9% | under_20.5 | 43.1% | over_22.5 | 41.2% |
|---|---|---|---|---|---|
| under_22.5 | 58.8% | over_24.5 | 27.2% | under_24.5 | 72.8% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 68.2% | under_9.5 | 31.8% | over_11.5 | 46.5% |
|---|---|---|---|---|---|
| under_11.5 | 53.5% | over_13.5 | 27.0% | under_13.5 | 73.0% |
team_away
| over_9.5 | 55.4% | under_9.5 | 44.6% | over_11.5 | 33.1% |
|---|---|---|---|---|---|
| under_11.5 | 66.9% | over_13.5 | 16.6% | under_13.5 | 83.4% |
most
| home | 55.6% | draw | 7.8% | away | 36.6% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 32.2% | away_+3.5 | 67.8% | home_-0.5 | 55.6% |
|---|---|---|---|---|---|
| away_+0.5 | 44.4% | home_+2.5 | 77.2% | away_-2.5 | 22.8% |
Red card range, not a point
any
| yes | 6.3% | no | 93.7% |
|---|
home
| yes | 3.0% | no | 97.0% |
|---|
away
| yes | 3.4% | no | 96.6% |
|---|
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: Millwall predictions · Norwich 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

