Fixture360 only lists fixtures from a curated set of leagues, chosen specifically to keep our prediction model accurate.
Shock result as Lens defy the odds to beat Rennes 1-0.
📝 Match Report
How It Unfolded
Lens beat Rennes 1-0 at Stade Bollaert-Delelis, Regular Season - 26, in the Ligue 1. 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 Lens 1.30 xG and Rennes 1.70 xG, a combined 3.00. The scoreboard read 1-0 for 1 actual goal. Rennes landed 1.7 under their projected return. Those figures were built on strength ratings of Lens attack 0.90 / defence 1.11 against Rennes attack 1.10 / defence 0.98, drawn from 59/59 games (CurrentSeason).
On the result, the model split it Lens 29% | Draw 25% | Rennes 46%, with Rennes to win its most likely call at 46%. The actual Lens win had been the model's second-ranked read at 29%, so the result diverged from the top call without being a shock.
Goals & Markets
The model rated Over 2.5 goals at 58%. The game delivered 1, so it stayed under — the opposite of the projected direction. Over 1.5 had been 81% and missed. On both teams to score, the model sat at 60% and the match did not — a miss on BTTS. Historically the two sides average 47% Over 2.5 across their same-competition games (Lens 39%, Rennes 56%), a base rate that agreed with today's under. Their combined BTTS history runs at 50%, which did not match the one-sided outcome.
Trading Patterns vs Reality
Lens's trading profile (59 games, 28 home) set some clear expectations: BTTS lands in 44% of their matches — today it did not; they keep a clean sheet 41% of the time, and duly kept one.
Rennes's trading profile (59 games, 28 away) set some clear expectations: BTTS lands in 56% of their matches — today it did not.
Form vs Result
The form lines were close — Lens 1.47 PPG, Rennes 1.27 PPG — offering no strong steer, and the Lens win broke the near-deadlock. Lens (home/away splits) conceded 0 against a 1.18 average — tighter than their form line. Rennes (home/away splits) managed 0 against a 1.18 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). 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.