Middlesbrough vs Millwall: model prediction
Judged against the prediction this page published before kickoff. Right or wrong, it stays on the record.
Over 1.5 goals
Middlesbrough or draw
Over 8.5 corners
Full time10 of 11 calls right
Our most likely call was Middlesbrough at 48.1%, and it was wrong. We called Over 2.5 at 51.0% and it landed (4 goals). We called Over 1.5 at 76.0% and it landed (4 goals). We called Under 3.5 at 71.1% and it missed (4 goals). We called Yes at 54.2% and it landed. We called Yes at 65.6% and it landed. We called Yes at 81.3% and it landed. We called Over 9.5 at 64.1% and it landed (15 corners). We called Under 3.5 at 54.1% and it landed (2 yellow cards). We called Over 24.5 at 57.4% and it landed (33 shots). We called Over 7.5 at 54.2% and it landed (11 shots on target). We called No at 87.2% and it landed.
| Match data | Middlesbrough | Millwall |
|---|---|---|
| Goals, 1st half | 0 | 2 |
| Goals, 2nd half | 2 | 0 |
| Shots | 22 | 11 |
| Shots on target | 7 | 4 |
| Corners | 14 | 1 |
| Yellow cards | 1 | 1 |
| Red cards | 0 | 0 |
| Fouls | 3 | 12 |
Final match data.
Win probability · fair 2.08
Top signals
Model read
The model leans Middlesbrough at 48% when Middlesbrough host Millwall in the Championship on 15 September 2026. A lean, though, not a lock. The numbers that frame it: • The market is more convinced than we are, pricing Middlesbrough at 68%. Caution noted. • No strong lean on goals (51% Over 2.5). The interest, if any, lives elsewhere. • The recent series reads 3 wins for Middlesbrough, 0 draws and 2 for Millwall over 5 games, 2.4 goals on average. • Form guide over the last six: Middlesbrough W4 D1 L1, Millwall W3 D0 L3. Discipline says sit it out: too extreme an outsider (fair 0.13).
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
48.1%-19.5%
26.0%+7.0%
25.9%+12.5%
too extreme an outsider (fair 0.13)
Goals
Corners
Shots
Recent shot volume
Shots taken and faced per game over each side’s last 6 matches, from real match data.
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: Middlesbrough 3 · 0 draws · Millwall 2 · 2.4 goals/game.
Season stats
Season 2026/27, real results only
66.7%83.3%
83.3%33.3%
16.7%50.0%
League averages this season: 2.86 goals per match · Over 2.5 in 63% · BTTS in 67%. 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
| Over 22.5 | 69.4% | Over 24.5 | 57.4% | Over 26.5 | 45.1% | Over 28.5 | 33.5% |
|---|---|---|---|---|---|---|---|
| Most: Middlesbrough | 66.2% | Most: Millwall | 28.3% | ||||
| Middlesbrough Over 13.2 | 56.6% | Millwall Over 13.2 | 29.2% |
Shots on target
| Over 6.5 | 67.1% | Over 7.5 | 54.2% | Over 8.5 | 41.5% | Over 9.5 | 30.1% |
|---|---|---|---|---|---|---|---|
| Most: Middlesbrough | 57.0% | Most: Millwall | 30.4% | ||||
| Middlesbrough Over 4.2 | 47.0% | Millwall Over 4.2 | 28.0% |
Cards
| Over 2.5 | 67.5% | Over 3.5 | 45.9% | Over 4.5 | 27.0% |
|---|---|---|---|---|---|
| Most: Middlesbrough | 26.9% | Most: Millwall | 51.8% | ||
| Middlesbrough Over 1.8 | 41.9% | Millwall Over 1.8 | 60.6% |
Clean sheet & win to nil
Derived from the model score matrix above: a clean sheet is every scoreline where the opponent is on zero. Calibration-graded, not a tip.
| Middlesbrough clean sheet | 32.6% |
|---|---|
| Millwall clean sheet | 20.2% |
| Middlesbrough win to nil | 25.4% |
| Millwall win to nil | 13.0% |
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 | 48.1% | draw | 26.1% | away | 25.9% |
|---|---|---|---|---|---|
double_chance
| 1X | 74.1% | 12 | 74.0% | X2 | 51.9% |
|---|---|---|---|---|---|
dnb
| home | 65.0% | away | 35.0% |
|---|
btts
| yes | 54.2% | no | 45.8% |
|---|
clean_sheet
| home | 32.8% | away | 20.2% |
|---|
win_to_nil
| home | 25.6% | away | 13.0% |
|---|
winning_margin
| home_by_1 | 22.7% | home_by_2 | 14.8% | home_by_3plus | 10.5% |
|---|---|---|---|---|---|
| away_by_1 | 15.6% | away_by_2 | 7.2% | away_by_3plus | 3.1% |
correct_score
| 0-0 | 7.2% | 0-1 | 6.8% | 0-2 | 4.1% |
|---|---|---|---|---|---|
| 0-3 | 1.5% | 0-4 | 0.4% | 0-5 | 0.1% |
| 1-0 | 10.0% | 1-1 | 12.4% | 1-2 | 6.6% |
| 1-3 | 2.4% | 1-4 | 0.7% | 1-5 | 0.2% |
| 2-0 | 8.5% | 2-1 | 9.5% | 2-2 | 5.3% |
| 2-3 | 2.0% | 2-4 | 0.5% | 2-5 | 0.1% |
| 3-0 | 4.5% | 3-1 | 5.0% | 3-2 | 2.8% |
| 3-3 | 1.0% | 3-4 | 0.3% | 3-5 | 0.1% |
| 4-0 | 1.8% | 4-1 | 2.0% | 4-2 | 1.1% |
| 4-3 | 0.4% | 4-4 | 0.1% | 4-5 | 0.0% |
| 5-0 | 0.6% | 5-1 | 0.7% | 5-2 | 0.4% |
| 5-3 | 0.1% | 5-4 | 0.0% | 5-5 | 0.0% |
| other | 0.7% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 12.4% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 92.8% | under_0.5 | 7.2% | over_1.5 | 76.0% |
|---|---|---|---|---|---|
| under_1.5 | 24.0% | over_2.5 | 51.0% | under_2.5 | 49.0% |
| over_3.5 | 28.9% | under_3.5 | 71.1% | over_4.5 | 13.9% |
| under_4.5 | 86.1% | over_5.5 | 5.8% | under_5.5 | 94.2% |
odd_even
| odd | 48.6% | even | 51.4% |
|---|
team_home
| over_0.5 | 79.8% | under_0.5 | 20.2% | over_1.5 | 47.5% |
|---|---|---|---|---|---|
| under_1.5 | 52.5% | over_2.5 | 21.7% | under_2.5 | 78.3% |
team_away
| over_0.5 | 67.2% | under_0.5 | 32.8% | over_1.5 | 30.6% |
|---|---|---|---|---|---|
| under_1.5 | 69.4% | over_2.5 | 10.2% | under_2.5 | 89.8% |
most
| home | 48.1% | draw | 26.1% | away | 25.9% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 10.5% | away_+2.5 | 89.5% | home_-1.5 | 25.3% |
|---|---|---|---|---|---|
| away_+1.5 | 74.7% | home_-0.5 | 48.1% | away_+0.5 | 51.9% |
| home_+0.5 | 74.1% | away_-0.5 | 25.9% | home_+1.5 | 89.7% |
| away_-1.5 | 10.3% | home_+2.5 | 96.9% | away_-2.5 | 3.1% |
total_exact
| exact_0 | 7.2% | exact_1 | 16.8% | exact_2 | 25.0% |
|---|---|---|---|---|---|
| exact_3 | 22.1% | exact_4 | 15.0% | exact_5 | 8.1% |
| exact_6 | 3.7% | exact_7plus | 2.1% |
First half range, not a point
1×2
| home | 37.4% | draw | 44.1% | away | 18.5% |
|---|---|---|---|---|---|
total
| over_0.5 | 65.6% | under_0.5 | 34.4% | over_1.5 | 28.8% |
|---|---|---|---|---|---|
| under_1.5 | 71.2% | over_2.5 | 9.3% | under_2.5 | 90.7% |
btts
| yes | 15.9% | no | 84.2% |
|---|
total_exact
| exact_0 | 34.4% | exact_1 | 36.7% | exact_2 | 19.6% |
|---|---|---|---|---|---|
| exact_3 | 7.0% | exact_4plus | 2.3% |
Second half range, not a point
1×2
| home | 37.2% | draw | 34.2% | away | 28.6% |
|---|---|---|---|---|---|
total
| over_0.5 | 81.3% | under_0.5 | 18.7% | over_1.5 | 49.9% |
|---|---|---|---|---|---|
| under_1.5 | 50.1% | over_2.5 | 23.7% | under_2.5 | 76.3% |
btts
| yes | 32.0% | no | 68.1% |
|---|
Half-time / full-time range, not a point
| H/H | 29.0% | H/D | 5.9% | H/A | 2.5% |
|---|---|---|---|---|---|
| D/H | 16.4% | D/D | 15.1% | D/A | 12.6% |
| A/H | 2.2% | A/D | 3.9% | A/A | 12.4% |
Corners range, not a point
total
| over_7.5 | 83.7% | under_7.5 | 16.3% | over_8.5 | 74.7% |
|---|---|---|---|---|---|
| under_8.5 | 25.3% | over_9.5 | 64.1% | under_9.5 | 35.9% |
| over_10.5 | 52.8% | under_10.5 | 47.2% | over_11.5 | 41.6% |
| under_11.5 | 58.4% | over_12.5 | 31.4% | under_12.5 | 68.6% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 83.0% | under_3.5 | 17.0% | over_4.5 | 70.6% |
|---|---|---|---|---|---|
| under_4.5 | 29.4% | over_5.5 | 56.5% | under_5.5 | 43.5% |
team_away
| over_3.5 | 66.6% | under_3.5 | 33.4% | over_4.5 | 49.8% |
|---|---|---|---|---|---|
| under_4.5 | 50.2% | over_5.5 | 34.4% | under_5.5 | 65.6% |
most
| home | 59.6% | draw | 9.6% | away | 30.8% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 29.9% | away_+3.5 | 70.1% | home_-1.5 | 49.4% |
|---|---|---|---|---|---|
| away_+1.5 | 50.6% | home_-0.5 | 59.6% | away_+0.5 | 40.4% |
| home_+0.5 | 69.2% | away_-0.5 | 30.8% | home_+1.5 | 77.7% |
| away_-1.5 | 22.3% | home_+3.5 | 89.9% | away_-3.5 | 10.1% |
Shots range, not a point
total
| over_22.5 | 69.4% | under_22.5 | 30.6% | over_24.5 | 57.4% |
|---|---|---|---|---|---|
| under_24.5 | 42.6% | over_26.5 | 45.1% | under_26.5 | 54.9% |
| over_28.5 | 33.5% | under_28.5 | 66.5% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 79.3% | under_10.5 | 20.7% | over_12.5 | 64.6% |
|---|---|---|---|---|---|
| under_12.5 | 35.4% | over_14.5 | 48.6% | under_14.5 | 51.4% |
team_away
| over_10.5 | 55.3% | under_10.5 | 44.7% | over_12.5 | 37.1% |
|---|---|---|---|---|---|
| under_12.5 | 62.9% | over_14.5 | 22.4% | under_14.5 | 77.6% |
most
| home | 66.2% | draw | 5.5% | away | 28.3% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 41.7% | away_+4.5 | 58.3% | home_-2.5 | 54.2% |
|---|---|---|---|---|---|
| away_+2.5 | 45.9% | home_-0.5 | 66.2% | away_+0.5 | 33.8% |
| home_+0.5 | 71.7% | away_-0.5 | 28.3% | home_+2.5 | 81.2% |
| away_-2.5 | 18.8% | home_+4.5 | 88.5% | away_-4.5 | 11.5% |
Shots on target range, not a point
total
| over_6.5 | 67.1% | under_6.5 | 32.9% | over_7.5 | 54.2% |
|---|---|---|---|---|---|
| under_7.5 | 45.8% | over_8.5 | 41.5% | under_8.5 | 58.5% |
| over_9.5 | 30.1% | under_9.5 | 69.9% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 64.3% | under_3.5 | 35.7% | over_4.5 | 47.0% |
|---|---|---|---|---|---|
| under_4.5 | 53.0% | over_5.5 | 31.5% | under_5.5 | 68.5% |
team_away
| over_3.5 | 45.3% | under_3.5 | 54.7% | over_4.5 | 28.0% |
|---|---|---|---|---|---|
| under_4.5 | 72.0% | over_5.5 | 15.6% | under_5.5 | 84.4% |
most
| home | 57.0% | draw | 12.6% | away | 30.4% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 31.4% | away_+2.5 | 68.6% | home_-0.5 | 57.0% |
|---|---|---|---|---|---|
| away_+0.5 | 43.0% | home_+0.5 | 69.6% | away_-0.5 | 30.4% |
| home_+2.5 | 88.1% | away_-2.5 | 11.9% |
Cards calibrated
total
| over_2.5 | 67.5% | under_2.5 | 32.5% | over_3.5 | 45.9% |
|---|---|---|---|---|---|
| under_3.5 | 54.1% | over_4.5 | 27.0% | under_4.5 | 73.0% |
| over_5.5 | 14.0% | under_5.5 | 86.1% |
odd_even
| odd | 50.0% | even | 50.1% |
|---|
team_home
| over_1.5 | 41.9% | under_1.5 | 58.1% | over_2.5 | 17.4% |
|---|---|---|---|---|---|
| under_2.5 | 82.6% |
team_away
| over_1.5 | 60.6% | under_1.5 | 39.4% | over_2.5 | 33.6% |
|---|---|---|---|---|---|
| under_2.5 | 66.4% |
most
| home | 26.9% | draw | 21.4% | away | 51.8% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 11.9% | away_+1.5 | 88.1% | home_-0.5 | 26.9% |
|---|---|---|---|---|---|
| away_+0.5 | 73.1% | home_+0.5 | 48.2% | away_-0.5 | 51.8% |
| home_+1.5 | 69.6% | away_-1.5 | 30.4% |
Fouls calibrated
total
| over_20.5 | 57.1% | under_20.5 | 42.9% | over_22.5 | 41.3% |
|---|---|---|---|---|---|
| under_22.5 | 58.7% | over_24.5 | 27.2% | under_24.5 | 72.8% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 41.2% | under_9.5 | 58.8% | over_11.5 | 20.8% |
|---|---|---|---|---|---|
| under_11.5 | 79.2% | over_13.5 | 8.6% | under_13.5 | 91.4% |
team_away
| over_9.5 | 78.4% | under_9.5 | 21.6% | over_11.5 | 59.3% |
|---|---|---|---|---|---|
| under_11.5 | 40.7% | over_13.5 | 38.9% | under_13.5 | 61.2% |
most
| home | 20.4% | draw | 6.2% | away | 73.3% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 7.5% | away_+3.5 | 92.5% | home_-0.5 | 20.4% |
|---|---|---|---|---|---|
| away_+0.5 | 79.6% | home_+2.5 | 41.4% | away_-2.5 | 58.6% |
Red card range, not a point
any
| yes | 12.8% | no | 87.2% |
|---|
home
| yes | 3.8% | no | 96.2% |
|---|
away
| yes | 9.3% | no | 90.7% |
|---|
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 (55416 matches).
More: Middlesbrough 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

