Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Bastia defy the odds to beat Grenoble 1-0.
📝 Match Report
How It Unfolded
Bastia beat Grenoble 1-0 at Stade Armand Cesari, Regular Season - 18, 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 Bastia 1.28 xG and Grenoble 1.46 xG, a combined 2.74. The scoreboard read 1-0 for 1 actual goal. Grenoble landed 1.5 under their projected return. Those figures were built on strength ratings of Bastia attack 0.85 / defence 1.19 against Grenoble attack 1.05 / defence 1.22, drawn from 50/51 games (CurrentSeason).
On the result, the model split it Bastia 33% | Draw 25% | Grenoble 41%, with Grenoble to win its most likely call at 41%. The actual Bastia 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 52%. The game delivered 1, so it stayed under — against the model's lean. Over 1.5 had been 76% 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 42% Over 2.5 across their same-competition games (Bastia 34%, Grenoble 50%), a base rate that agreed with today's under. Their combined BTTS history runs at 49%, which matched the one-sided outcome.
Trading Patterns vs Reality
Bastia's trading profile (50 games, 24 home) set some clear expectations: BTTS lands in 44% of their matches — today it did not; they keep a clean sheet 32% of the time, and duly kept one.
Grenoble's trading profile (50 games, 24 away) set some clear expectations: BTTS lands in 54% of their matches — today it did not; they fail to score in 32% of games, a blank that repeated today.
Form vs Result
The form lines were close — Bastia 1.12 PPG, Grenoble 1.28 PPG — offering no strong steer, and the Bastia win broke the near-deadlock. Bastia (home/away splits) conceded 0 against a 1.08 average — tighter than their form line. Grenoble (home/away splits) managed 0 against a 1.21 scoring average — below par going forward.
Verdict
Grading the result against the stored data, 0 of 3 pre-match signals came in: result (miss), Over 2.5 (miss), BTTS (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.