Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Walsall defy the odds to beat Crewe 1-0.
📝 Match Report
How It Unfolded
Walsall beat Crewe 1-0 at Bescot Stadium, Regular Season - 22, in the League Two. 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 Walsall 1.29 xG and Crewe 1.38 xG, a combined 2.67. The scoreboard read 1-0 for 1 actual goal. Crewe landed 1.4 under their projected return. Those figures were built on strength ratings of Walsall attack 1.01 / defence 0.98 against Crewe attack 1.10 / defence 0.95, drawn from 67/67 games (CurrentSeason).
On the result, the model split it Walsall 34% | Draw 27% | Crewe 38%, with Crewe to win its most likely call at 38%. The actual Walsall win had been the model's second-ranked read at 34%, so the result diverged from the top call without being a shock.
Goals & Markets
The model rated Over 2.5 goals at 50%. The game delivered 1, so it stayed under — the opposite of the projected direction. Over 1.5 had been 75% and missed. On both teams to score, the model sat at 55% and the match did not — a miss on BTTS. Historically the two sides average 43% Over 2.5 across their same-competition games (Walsall 46%, Crewe 40%), a base rate that agreed with today's under. Their combined BTTS history runs at 52%, which did not match the one-sided outcome.
Trading Patterns vs Reality
Walsall's trading profile (67 games, 33 home) set some clear expectations: BTTS lands in 54% of their matches — today it did not.
Crewe's trading profile (67 games, 33 away) set some clear expectations: BTTS lands in 51% of their matches — today it did not; they fail to score in 31% of games, a blank that repeated today.
Form vs Result
The form lines were close — Walsall 1.75 PPG, Crewe 1.40 PPG — offering no strong steer, and the Walsall win broke the near-deadlock. Walsall (home/away splits) managed 1 against a 1.88 scoring average — below par going forward and conceded 0 against a 1.33 average — tighter than their form line. Crewe (home/away splits) managed 0 against a 1.06 scoring average — below par going forward.
Verdict
Grading the result against the stored data, 1 of 3 pre-match signals came in: result (miss), Over 2.5 (hit), BTTS (miss). The data was on the wrong side of this result more often than not — a reminder that a single match sits well inside the model's variance.
💡 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.