Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Millwall defy the odds to beat Middlesbrough 1-2.
📝 Match Report
How It Unfolded
Millwall beat Middlesbrough 1-2 at Riverside Stadium, Regular Season - 40, in the Championship. That is the final score; the rest of this report grades it against what the data forecast beforehand.
The Model vs The Result
The Poisson model went into this projecting Middlesbrough 1.06 xG and Millwall 1.02 xG, a combined 2.08. The scoreboard read 1-2 for 3 actual goals. Millwall outscored their 1.02 projection by 1.0. Those figures were built on strength ratings of Middlesbrough attack 0.98 / defence 0.78 against Millwall attack 1.12 / defence 0.83, drawn from 85/85 games (CurrentSeason).
On the result, the model split it Middlesbrough 35% | Draw 33% | Millwall 33%, with Middlesbrough to win its most likely call at 35%. The actual Millwall win had been the model's second-ranked read at 33%, so the result diverged from the top call without being a shock.
Goals & Markets
The model rated Over 2.5 goals at 35%. The game delivered 3, so it went over — a miss for the goals model. Over 1.5 had been 63% and landed. On both teams to score, the model sat at 43% and the match saw both sides score — a miss on BTTS. Historically the two sides average 44% Over 2.5 across their same-competition games (Middlesbrough 48%, Millwall 39%), a base rate that pointed the other way from today's over. Their combined BTTS history runs at 49%, which did not match the both-scored outcome.
Trading Patterns vs Reality
Middlesbrough's trading profile (85 games, 42 home) set some clear expectations: BTTS lands in 52% of their matches — today it did.
Millwall's trading profile (85 games, 42 away) set some clear expectations: BTTS lands in 46% of their matches — today it did; they keep a clean sheet 36% of the time, and conceded here.
Form vs Result
The form lines were close — Middlesbrough 1.59 PPG, Millwall 1.59 PPG — offering no strong steer, and the Millwall win broke the near-deadlock. Middlesbrough (home/away splits) shipped 2 against a 0.88 concession average — a leakier day than usual. Millwall (home/away splits) scored 2 against a 1.07 average — above their attacking norm.
Verdict
Grading the result against the stored data, 0 of 3 pre-match signals came in: result (miss), Over 2.5 (miss), BTTS (miss). A poor return for the projections: the match defied the majority of what the numbers expected.
💡 Key Insights
⚠️ This match report is generated algorithmically from the final score, our prediction model, and each team's historical form and trading data. Analysis is for informational purposes only.