Rennes v Lens — Prediction, Odds & Stats
Sunday 28 September 2025 · FRA-Ligue 1 · 2526
Ligue 1
xG Prediction generated
AI prediction
ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.Probabilities, not certainties. How they are made: the methodology.
Was this pick made in advance?
-oos is out of sample: it was fitted only on matches
played before this one, so its pick is a genuine forecast rather than hindsight.
Anything without that suffix was fitted on all available data.What the chances say
Rennes are conceding fewer than expected — 3.4 goals saved beyond what the chances suggest.
Lens are finishing sharply below their chances — 4.4 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding more than the chances against them merit — 2.1 goals above expected, which tends to correct.
Finishing swings far more than chance creation, so a gap this size usually narrows. Over ten matches it is suggestive, not settled — a genuinely elite finisher beats expected goals for years.
What the model said
| Model | Home / Draw / Away | Expected goals | Likeliest score | O2.5 | BTTS | Outcome |
|---|---|---|---|---|---|---|
| ai-blend-oos | 1.37–1.28 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 1.44–1.49 | 1-1 11% | 56% | 59% | Away ✗ |
A model whose name ends -oos was produced by the walk-forward backtest:
it was fitted only on matches played before this one, so the pick is genuinely out of sample.
Reading the xG timeline
Expected goals by minute
Reading the shot map
Shot map
Every shot
| Min | Team | Player | xG | Situation | Body part | Result | Assisted by |
|---|---|---|---|---|---|---|---|
| 5' |
|
Wesley Said | 0.06 | Open Play | Left Foot | Blocked Shot | Matthieu Udol |
| 6' |
|
Adrien Thomasson | 0.09 | Open Play | Right Foot | Missed Shot | Ruben Aguilar |
| 19' |
|
Adrien Thomasson | 0.09 | Open Play | Right Foot | Blocked Shot | Florian Thauvin |
| 22' |
|
Esteban Lepaul | 0.47 | Open Play | — | Missed Shot | Alidu Seidu |
| 25' |
|
Mamadou Sangaré | 0.02 | Direct Freekick | Left Foot | Missed Shot | — |
| 26' |
|
Matthieu Udol | 0.14 | From Corner | — | Saved Shot | Florian Thauvin |
| 27' |
|
Seko Fofana | 0.02 | Open Play | Right Foot | Missed Shot | Anthony Rouault |
| 37' |
|
Mousa Al Tamari | 0.08 | Open Play | Right Foot | Missed Shot | Jérémy Jacquet |
| 42' |
|
Ruben Aguilar | 0.07 | Open Play | Right Foot | Missed Shot | Florian Thauvin |
| 44' |
|
Mahdi Camara | 0.02 | Open Play | Right Foot | Blocked Shot | Mousa Al Tamari |
| 48' |
|
Mousa Al Tamari | 0.03 | Open Play | Left Foot | Missed Shot | Seko Fofana |
| 55' |
|
Matthieu Udol | 0.03 | From Corner | — | Missed Shot | Florian Thauvin |
| 56' |
|
Florian Thauvin | 0.04 | Open Play | Left Foot | Blocked Shot | Odsonne Edouard |
| 57' |
|
Adrien Thomasson | 0.05 | Open Play | — | Shot On Post | Ruben Aguilar |
| 59' |
|
Anthony Rouault | 0.46 | Open Play | Right Foot | Blocked Shot | — |
| 59' |
|
Seko Fofana | 0.02 | From Corner | Right Foot | Missed Shot | — |
| 64' |
|
Morgan Guilavogui | 0.35 | Set Piece | — | Missed Shot | Florian Thauvin |
| 66' |
|
Morgan Guilavogui | 0.31 | Open Play | — | Missed Shot | Florian Thauvin |
| 67' |
|
Nordan Mukiele | 0.02 | Open Play | Right Foot | Blocked Shot | Anthony Rouault |
| 68' |
|
Rayan Fofana | 0.15 | Open Play | Right Foot | Missed Shot | Mamadou Sangaré |
| 69' |
|
Adrien Thomasson | 0.11 | Open Play | Right Foot | Saved Shot | Florian Thauvin |
| 69' |
|
Mousa Al Tamari | 0.09 | Open Play | Left Foot | Saved Shot | Nordan Mukiele |
| 70' |
|
Esteban Lepaul | 0.02 | Open Play | Right Foot | Shot On Post | Mousa Al Tamari |
| 71' |
|
Nordan Mukiele | 0.06 | Open Play | Right Foot | Blocked Shot | Seko Fofana |
| 72' |
|
Mohamed Meïté | 0.11 | Open Play | Right Foot | Blocked Shot | Quentin Merlin |
| 83' |
|
Esteban Lepaul | 0.07 | From Corner | Right Foot | Saved Shot | Alidu Seidu |
| 89' |
|
Mousa Al Tamari | 0.09 | Open Play | Left Foot | Blocked Shot | Seko Fofana |
Players
Lens
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Adrien Thomasson MC | 90 | 0 | 0 | 4 | 0 | 0.34 | 0.00 | 0.85 |
| Matthieu Udol DML | 90 | 0 | 0 | 2 | 1 | 0.17 | 0.06 | 0.17 |
| Florian Thauvin AMC | 90 | 0 | 0 | 1 | 7 | 0.04 | 1.10 | 0.72 |
| Mamadou Sangaré MC | 90 | 0 | 0 | 1 | 1 | 0.02 | 0.15 | 0.81 |
| Robin Risser GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Samson Baidoo DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Malang Sarr DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Ruben Aguilar DMR | 81 | 0 | 0 | 1 | 2 | 0.07 | 0.14 | 0.51 |
| Wesley Said AMC | 64 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.22 |
| Odsonne Edouard FW | 64 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.04 |
| Morgan Guilavogui Sub | 26 | 0 | 0 | 2 | 0 | 0.66 | 0.00 | 0.31 |
| Rayan Fofana Sub | 26 | 0 | 0 | 1 | 0 | 0.15 | 0.00 | 0.46 |
| Saud Abdulhamid Sub | 9 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Rennes
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Esteban Lepaul FW | 90 | 0 | 0 | 3 | 0 | 0.56 | 0.00 | 0.50 |
| Anthony Rouault DC | 90 | 0 | 0 | 1 | 2 | 0.46 | 0.04 | 1.19 |
| Seko Fofana MC | 90 | 0 | 0 | 2 | 3 | 0.04 | 0.18 | 0.79 |
| Mahdi Camara MC | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.61 |
| Brice Samba GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.17 |
| Alidu Seidu DC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.54 | 0.59 |
| Jérémy Jacquet DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.08 | 0.73 |
| Quentin Merlin DML | 83 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.36 |
| Breel Embolo FW | 65 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Ludovic Blas DMR | 65 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Mousa Al Tamari Sub | 62 | 0 | 0 | 4 | 2 | 0.29 | 0.05 | 0.36 |
| Djaoui Cissé MC | 28 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.47 |
| Mohamed Meïté Sub | 25 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.27 |
| Nordan Mukiele Sub | 25 | 0 | 0 | 2 | 1 | 0.09 | 0.09 | 0.27 |
| Mahamadou Nagida Sub | 7 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.09 |