Lens v Toulouse — Prediction, Odds & Stats
Friday 17 April 2026 · 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
Lens have scored 20 from 21.5 expected and conceded 14 from 13.6 — both ends in line with the chances, so the recent record is a fair reflection.
Toulouse have scored 16 from 18.0 expected and conceded 13 from 12.2 — both ends in line with the chances, so the recent record is a fair reflection.
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 | 2.00–0.96 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 1.79–1.14 | 1-1 11% | 56% | 57% | Home ✓ |
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' |
|
Cristian Cásseres Jr. | 0.01 | Open Play | Right Foot | Goal | — |
| 7' |
|
Santiago Hidalgo | 0.04 | Open Play | Left Foot | Blocked Shot | — |
| 7' |
|
Yann Gboho | 0.10 | Open Play | Right Foot | Blocked Shot | Alexis Vossah |
| 8' |
|
Wesley Said | 0.14 | Open Play | Right Foot | Saved Shot | — |
| 12' |
|
Seny Koumbassa | 0.42 | From Corner | — | Goal | Santiago Hidalgo |
| 20' |
|
Wesley Said | 0.27 | Open Play | — | Missed Shot | Matthieu Udol |
| 21' |
|
Matthieu Udol | 0.04 | Open Play | Left Foot | Saved Shot | Wesley Said |
| 21' |
|
Matthieu Udol | 0.02 | Open Play | Left Foot | Saved Shot | — |
| 25' |
|
Malang Sarr | 0.02 | From Corner | Left Foot | Missed Shot | Arthur Masuaku |
| 25' |
|
Pierre Ganiou | 0.06 | From Corner | — | Missed Shot | Saud Abdulhamid |
| 31' |
|
Rayan Fofana | 0.08 | Open Play | Right Foot | Blocked Shot | Pierre Ganiou |
| 32' |
|
Rayan Fofana | 0.10 | Open Play | Right Foot | Missed Shot | Mamadou Sangaré |
| 33' |
|
Arthur Masuaku | 0.01 | Open Play | Left Foot | Saved Shot | Mamadou Sangaré |
| 35' |
|
Wesley Said | 0.04 | Open Play | Right Foot | Missed Shot | Adrien Thomasson |
| 38' |
|
Pierre Ganiou | 0.01 | Open Play | Right Foot | Missed Shot | Saud Abdulhamid |
| 41' |
|
Adrien Thomasson | 0.08 | Open Play | Right Foot | Blocked Shot | Saud Abdulhamid |
| 43' |
|
Florian Sotoca | 0.01 | Open Play | Right Foot | Missed Shot | — |
| 48' |
|
Malang Sarr | 0.01 | Open Play | Left Foot | Missed Shot | Pierre Ganiou |
| 48' |
|
Matthieu Udol | 0.03 | Set Piece | — | Saved Shot | Adrien Thomasson |
| 49' |
|
Wesley Said | 0.28 | Open Play | — | Missed Shot | Matthieu Udol |
| 52' |
|
Mamadou Sangaré | 0.02 | Open Play | Left Foot | Missed Shot | — |
| 52' |
|
Wesley Said | 0.02 | Open Play | — | Saved Shot | Mamadou Sangaré |
| 55' |
|
Mamadou Sangaré | 0.05 | From Corner | Left Foot | Missed Shot | Saud Abdulhamid |
| 56' |
|
Adrien Thomasson | 0.12 | Open Play | — | Saved Shot | Allan Saint-Maximin |
| 58' |
|
Mamadou Sangaré | 0.03 | From Corner | Left Foot | Blocked Shot | Adrien Thomasson |
| 58' |
|
Matthieu Udol | 0.07 | Open Play | Right Foot | Missed Shot | Saud Abdulhamid |
| 58' |
|
Odsonne Edouard | 0.14 | Open Play | — | Missed Shot | Matthieu Udol |
| 58' |
|
Pierre Ganiou | 0.07 | Open Play | Right Foot | Blocked Shot | Saud Abdulhamid |
| 59' |
|
Adrien Thomasson | 0.05 | Direct Freekick | Right Foot | Saved Shot | — |
| 59' |
|
Matthieu Udol | 0.53 | Set Piece | Left Foot | Missed Shot | Adrien Thomasson |
| 60' |
|
Saud Abdulhamid | 0.12 | Open Play | — | Goal | Allan Saint-Maximin |
| 60' |
|
Pape Diop | 0.01 | Open Play | Right Foot | Missed Shot | — |
| 66' |
|
Adrien Thomasson | 0.50 | Open Play | Right Foot | Goal | — |
| 66' |
|
Malang Sarr | 0.03 | Open Play | Left Foot | Saved Shot | Saud Abdulhamid |
| 69' |
|
Adrien Thomasson | 0.06 | Open Play | — | Shot On Post | Allan Saint-Maximin |
| 73' |
|
Adrien Thomasson | 0.04 | Set Piece | — | Blocked Shot | Florian Thauvin |
| 77' |
|
Allan Saint-Maximin | 0.02 | From Corner | Right Foot | Missed Shot | Mamadou Sangaré |
| 79' |
|
Pierre Ganiou | 0.01 | From Corner | — | Missed Shot | Adrien Thomasson |
| 81' |
|
Florian Thauvin | 0.03 | Open Play | Left Foot | Blocked Shot | Arthur Masuaku |
| 82' |
|
Adrien Thomasson | 0.46 | Open Play | — | Saved Shot | Florian Thauvin |
| 83' |
|
Allan Saint-Maximin | 0.04 | Open Play | Right Foot | Missed Shot | Mamadou Sangaré |
| 85' |
|
Allan Saint-Maximin | 0.04 | From Corner | Right Foot | Blocked Shot | Mamadou Sangaré |
| 85' |
|
Odsonne Edouard | 0.06 | Open Play | — | Blocked Shot | Allan Saint-Maximin |
| 88' |
|
Odsonne Edouard | 0.11 | Direct Freekick | Right Foot | Blocked Shot | — |
| 88' |
|
Odsonne Edouard | 0.04 | Set Piece | Right Foot | Missed Shot | — |
| 90' |
|
Florian Thauvin | 0.03 | Open Play | Left Foot | Blocked Shot | Saud Abdulhamid |
| 90' |
|
Pierre Ganiou | 0.11 | From Corner | — | Goal | Andrija Bulatovic |
Players
Lens
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Adrien Thomasson MC | 90 | 1 | 0 | 7 | 5 | 1.30 | 0.65 | 1.34 |
| Matthieu Udol DML | 90 | 0 | 0 | 5 | 3 | 0.69 | 0.70 | 1.29 |
| Pierre Ganiou DC | 90 | 1 | 0 | 5 | 2 | 0.26 | 0.09 | 1.43 |
| Saud Abdulhamid DMR | 90 | 1 | 0 | 1 | 8 | 0.12 | 0.39 | 1.26 |
| Mamadou Sangaré MC | 90 | 0 | 0 | 3 | 6 | 0.10 | 0.23 | 0.76 |
| Malang Sarr DC | 90 | 0 | 0 | 3 | 0 | 0.06 | 0.00 | 1.40 |
| Arthur Masuaku DC | 90 | 0 | 0 | 1 | 2 | 0.01 | 0.05 | 1.67 |
| Robin Risser GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| Florian Sotoca AMC | 77 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.94 |
| Wesley Said AMC | 60 | 0 | 0 | 5 | 1 | 0.75 | 0.04 | 0.79 |
| Rayan Fofana FW | 60 | 0 | 0 | 2 | 0 | 0.18 | 0.00 | 0.18 |
| Odsonne Edouard Sub | 30 | 0 | 0 | 4 | 0 | 0.35 | 0.00 | 0.27 |
| Allan Saint-Maximin Sub | 30 | 0 | 1 | 3 | 4 | 0.11 | 0.36 | 0.92 |
| Florian Thauvin Sub | 13 | 0 | 0 | 2 | 2 | 0.06 | 0.49 | 0.52 |
| Andrija Bulatovic Sub | 1 | 0 | 1 | 0 | 1 | 0.00 | 0.11 | 0.00 |
| Samson Baidoo Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.09 |
Toulouse
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Seny Koumbassa DC | 90 | 1 | 0 | 1 | 0 | 0.42 | 0.00 | 0.00 |
| Cristian Cásseres Jr. MC | 90 | 1 | 0 | 1 | 0 | 0.01 | 0.00 | 0.01 |
| Warren Kamanzi DML | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.10 |
| Rasmus Nicolaisen DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Guillaume Restes GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Alexis Vossah MC | 81 | 0 | 0 | 0 | 1 | 0.00 | 0.10 | 0.10 |
| Charlie Cresswell DC | 77 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Emersonn FW | 69 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Aron Dønnum DMR | 69 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Santiago Hidalgo AMC | 51 | 0 | 1 | 1 | 1 | 0.04 | 0.42 | 0.14 |
| Pape Diop Sub | 39 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.01 |
| Dayann Methalie Sub | 21 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jacen Russell-Rowe Sub | 21 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Yann Gboho AMC | 16 | 0 | 0 | 1 | 0 | 0.10 | 0.00 | 0.10 |
| Djibril Sidibe Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Mário Sauer Sub | 9 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |