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 Luton 0-1.
📝 Match Report
How It Unfolded
Millwall beat Luton 0-1 at Kenilworth Road, Regular Season - 29, in the Championship. With the result on the board, the sections below measure it against everything the model and the numbers projected in advance.
The Model vs The Result
The Poisson model went into this projecting Luton 0.92 xG and Millwall 0.87 xG, a combined 1.78. The scoreboard read 0-1 for 1 actual goal. Luton fell 0.9 short of their projected output. Those figures were built on strength ratings of Luton attack 0.81 / defence 1.02 against Millwall attack 0.82 / defence 0.82, drawn from 28/73 games (CurrentSeason).
On the result, the model split it Luton 34% | Draw 35% | Millwall 31%, with the draw its most likely call at 35%. The actual Millwall win had been the model's second-ranked read at 31%, so the result diverged from the top call without being a shock.
Goals & Markets
The model rated Over 2.5 goals at 27%. The game delivered 1, so it stayed under — a call the model got right. Over 1.5 had been 54% and missed. On both teams to score, the model sat at 36% and the match did not — another call in the model's favour. Historically the two sides average 48% Over 2.5 across their same-competition games (Luton 65%, Millwall 32%), a base rate that agreed with today's under. Their combined BTTS history runs at 56%, which did not match the one-sided outcome.
Trading Patterns vs Reality
Luton's trading profile (66 games, 32 home) set some clear expectations: BTTS lands in 71% of their matches — today it did not.
Millwall's trading profile (66 games, 32 away) set some clear expectations: BTTS lands in 41% of their matches — today it did not; they keep a clean sheet 33% of the time, and duly kept one.
Form vs Result
On form, Millwall arrived the stronger side — 1.21 PPG against 0.79. That form edge translated into the three points. Luton (home/away splits) managed 0 against a 1.41 scoring average — below par going forward. Millwall (home/away splits) conceded 0 against a 1.09 average — tighter than their form line.
Verdict
Grading the result against the stored data, 3 of 4 pre-match signals came in: result (miss), Over 2.5 (hit), BTTS (hit), form (hit). The model got the gist right while missing on the margins.
💡 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.