Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Boulogne defy the odds to beat Saint Etienne 0-1.
📝 Match Report
How It Unfolded
Boulogne beat Saint Etienne 0-1 at Stade Geoffroy-Guichard, Regular Season - 21, in the Ligue 2. The remainder of the report sets that outcome against the pre-match model, the markets and the teams' data profiles.
The Model vs The Result
The Poisson model went into this projecting Saint Etienne 1.86 xG and Boulogne 1.12 xG, a combined 2.98. The scoreboard read 0-1 for 1 actual goal. Saint Etienne fell 1.9 short of their projected output. Those figures were built on strength ratings of Saint Etienne attack 1.31 / defence 1.13 against Boulogne attack 0.85 / defence 1.19, drawn from 20/20 games (CurrentSeason).
On the result, the model split it Saint Etienne 55% | Draw 23% | Boulogne 23%, with Saint Etienne to win its most likely call at 55%. Instead the game produced a Boulogne win, an outcome the model had rated at just 23% — a clear break from expectation and a genuine upset by the numbers.
Goals & Markets
The model rated Over 2.5 goals at 57%. The game delivered 1, so it stayed under — against the model's lean. Over 1.5 had been 80% and missed. On both teams to score, the model sat at 57% and the match did not — a miss on BTTS. Historically the two sides average 57% Over 2.5 across their same-competition games (Saint Etienne 59%, Boulogne 54%), a base rate that pointed the other way from today's under. Their combined BTTS history runs at 55%, which did not match the one-sided outcome.
Trading Patterns vs Reality
Saint Etienne's trading profile (22 games, 10 home) set some clear expectations: BTTS lands in 50% of their matches — today it did not; they keep a clean sheet 36% of the time, and conceded here.
Boulogne's trading profile (22 games, 10 away) set some clear expectations: BTTS lands in 59% of their matches — today it did not.
Form vs Result
On form, Saint Etienne arrived the stronger side — 1.68 PPG against 1.05. Form was overturned, with Boulogne winning despite arriving in poorer recent shape. Saint Etienne (home/away splits) managed 0 against a 2.50 scoring average — below par going forward. Boulogne (home/away splits) conceded 0 against a 1.20 average — tighter than their form line.
Verdict
Grading the result against the stored data, 0 of 4 pre-match signals came in: result (miss), Over 2.5 (miss), BTTS (miss), form (miss). This one broke away from the data — most of the pre-match signals were overturned by how the ninety minutes actually played out.
💡 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.