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 Laval 1-2.
📝 Match Report
How It Unfolded
Grenoble beat Laval 1-2 at Stade Francis Le Basser, Regular Season - 29, 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 Laval 1.29 xG and Grenoble 0.83 xG, a combined 2.12. The scoreboard read 1-2 for 3 actual goals. Grenoble outscored their 0.83 projection by 1.2. Those figures were built on strength ratings of Laval attack 0.95 / defence 0.89 against Grenoble attack 0.90 / defence 0.99, drawn from 66/66 games (CurrentSeason).
On the result, the model split it Laval 47% | Draw 29% | Grenoble 24%, with Laval to win its most likely call at 47%. Instead the game produced a Grenoble win, an outcome the model had rated at just 24% — a clear break from expectation and a genuine upset by the numbers.
Goals & Markets
The model rated Over 2.5 goals at 36%. The game delivered 3, so it went over — against the model's lean. Over 1.5 had been 63% and landed. On both teams to score, the model sat at 41% and the match saw both sides score — a miss on BTTS. Historically the two sides average 44% Over 2.5 across their same-competition games (Laval 41%, Grenoble 47%), 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
Laval's trading profile (66 games, 32 home) set some clear expectations: BTTS lands in 46% of their matches — today it did; they keep a clean sheet 33% of the time, and conceded here.
Grenoble's trading profile (66 games, 32 away) set some clear expectations: BTTS lands in 46% of their matches — today it did; they keep a clean sheet 32% of the time, and conceded here.
Form vs Result
The form lines were close — Laval 1.48 PPG, Grenoble 1.33 PPG — offering no strong steer, and the Grenoble win broke the near-deadlock. Grenoble (home/away splits) scored 2 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.