Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Grenoble defy the odds to beat Bastia 2-3.
📝 Match Report
How It Unfolded
Grenoble beat Bastia 2-3 at Stade Armand-Césari, Regular Season - 32, 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.75 xG and Grenoble 0.79 xG, a combined 2.54. The scoreboard read 2-3 for 5 actual goals. Grenoble outscored their 0.79 projection by 2.2. Those figures were built on strength ratings of Bastia attack 1.26 / defence 0.81 against Grenoble attack 0.89 / defence 0.99, drawn from 69/69 games (CurrentSeason).
On the result, the model split it Bastia 60% | Draw 23% | Grenoble 17%, with Bastia to win its most likely call at 60%. Instead the game produced a Grenoble win, an outcome the model had rated at just 17% — a clear break from expectation and a genuine upset by the numbers.
Goals & Markets
The model rated Over 2.5 goals at 47%. The game delivered 5, so it went over — against the model's lean. Over 1.5 had been 72% and landed. Over 3.5 was 25% and came in. On both teams to score, the model sat at 45% and the match saw both sides score — a miss on BTTS. Historically the two sides average 43% Over 2.5 across their same-competition games (Bastia 39%, Grenoble 48%), a base rate that pointed the other way from today's over. Their combined BTTS history runs at 46%, which did not match the both-scored outcome.
Trading Patterns vs Reality
Bastia's trading profile (69 games, 34 home) set some clear expectations: BTTS lands in 45% of their matches — today it did; they keep a clean sheet 36% of the time, and conceded here.
Grenoble's trading profile (69 games, 34 away) set some clear expectations: BTTS lands in 46% of their matches — today it did; they keep a clean sheet 30% of the time, and conceded here.
Form vs Result
The form lines were close — Bastia 1.38 PPG, Grenoble 1.32 PPG — offering no strong steer, and the Grenoble win broke the near-deadlock. Bastia (home/away splits) shipped 3 against a 0.97 concession average — a leakier day than usual. Grenoble (home/away splits) scored 3 against a 1.00 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). 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.