Toulouse v Lille — Prediction, Odds & Stats
Sunday 12 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
Toulouse are finishing below their chances — 3.6 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding more than the chances against them merit — 2.3 goals above expected, which tends to correct.
Lille are conceding sharply fewer than expected — 6.0 goals saved beyond what the chances suggest.
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.34–1.13 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 1.23–1.19 | 1-1 13% | 43% | 49% | 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 |
|---|---|---|---|---|---|---|---|
| 0' |
|
Yann Gboho | 0.02 | Open Play | Right Foot | Blocked Shot | Emersonn |
| 4' |
|
Matias Fernandez-Pardo | 0.12 | Open Play | Right Foot | Saved Shot | Thomas Meunier |
| 10' |
|
Hákon Haraldsson | 0.10 | Open Play | Right Foot | Saved Shot | Romain Perraud |
| 12' |
|
Hákon Haraldsson | 0.05 | Open Play | Right Foot | Missed Shot | Felix Correia |
| 15' |
|
Aron Dønnum | 0.02 | Open Play | Left Foot | Blocked Shot | — |
| 15' |
|
Djibril Sidibe | 0.54 | From Corner | Right Foot | Saved Shot | — |
| 15' |
|
Rasmus Nicolaisen | 0.23 | From Corner | — | Shot On Post | Cristian Cásseres Jr. |
| 15' |
|
Yann Gboho | 0.62 | From Corner | Right Foot | Blocked Shot | — |
| 18' |
|
Felix Correia | 0.04 | Open Play | Right Foot | Blocked Shot | — |
| 22' |
|
Thomas Meunier | 0.08 | Open Play | Right Foot | Goal | Hákon Haraldsson |
| 25' |
|
Romain Perraud | 0.08 | Open Play | Right Foot | Missed Shot | Matias Fernandez-Pardo |
| 27' |
|
Hákon Haraldsson | 0.08 | Open Play | Left Foot | Saved Shot | Matias Fernandez-Pardo |
| 32' |
|
Dayann Methalie | 0.04 | Open Play | Left Foot | Missed Shot | Yann Gboho |
| 34' |
|
Pape Diop | 0.10 | Direct Freekick | Right Foot | Blocked Shot | — |
| 40' |
|
Matias Fernandez-Pardo | 0.04 | Open Play | Left Foot | Blocked Shot | Ngal'ayel Mukau |
| 40' |
|
Romain Perraud | 0.03 | Open Play | Left Foot | Blocked Shot | Felix Correia |
| 44' |
|
Yann Gboho | 0.03 | Open Play | Right Foot | Blocked Shot | Emersonn |
| 45' |
|
Seny Koumbassa | 0.02 | From Corner | Right Foot | Missed Shot | Cristian Cásseres Jr. |
| 49' |
|
Romain Perraud | 0.07 | Direct Freekick | Left Foot | Goal | — |
| 54' |
|
Matias Fernandez-Pardo | 0.10 | Open Play | Right Foot | Goal | Benjamin André |
| 72' |
|
Matias Fernandez-Pardo | 0.36 | Open Play | Right Foot | Saved Shot | — |
| 80' |
|
Ethan Mbappé | 0.06 | Open Play | Left Foot | Saved Shot | Gaetan Perrin |
| 83' |
|
Matias Fernandez-Pardo | 0.11 | Open Play | Right Foot | Blocked Shot | Hákon Haraldsson |
| 87' |
|
Olivier Giroud | 0.76 | Left Foot | Goal | — |
Players
Lille
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Matias Fernandez-Pardo FW | 90 | 1 | 0 | 5 | 2 | 0.74 | 0.16 | 1.03 |
| Hákon Haraldsson AMC | 90 | 0 | 1 | 3 | 2 | 0.23 | 0.19 | 0.70 |
| Aissa Mandi DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.30 |
| Nathan Ngoy DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.36 |
| Nabil Bentaleb DMC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.73 |
| Berke Özer GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.16 |
| Romain Perraud DL | 84 | 1 | 0 | 3 | 1 | 0.18 | 0.10 | 0.45 |
| Thomas Meunier DR | 83 | 1 | 0 | 1 | 1 | 0.08 | 0.12 | 0.52 |
| Benjamin André DMC | 77 | 0 | 1 | 0 | 1 | 0.00 | 0.10 | 0.57 |
| Felix Correia AML | 72 | 0 | 0 | 1 | 2 | 0.04 | 0.08 | 0.38 |
| Ngal'ayel Mukau AMR | 72 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.22 |
| Ethan Mbappé Sub | 18 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.06 |
| Gaetan Perrin Sub | 18 | 0 | 0 | 0 | 1 | 0.00 | 0.06 | 0.06 |
| Olivier Giroud Sub | 13 | 1 | 0 | 1 | 0 | 0.76 | 0.00 | 0.00 |
| Tiago Santos Sub | 7 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Calvin Verdonk Sub | 6 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Toulouse
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Rasmus Nicolaisen DC | 90 | 0 | 0 | 1 | 0 | 0.23 | 0.00 | 0.04 |
| Dayann Methalie DML | 90 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.06 |
| Seny Koumbassa DC | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.08 |
| Guillaume Restes GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Cristian Cásseres Jr. MC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.25 | 0.04 |
| Yann Gboho AMC | 77 | 0 | 0 | 3 | 1 | 0.66 | 0.04 | 0.08 |
| Emersonn FW | 72 | 0 | 0 | 0 | 2 | 0.00 | 0.04 | 0.08 |
| Pape Diop MC | 61 | 0 | 0 | 1 | 0 | 0.10 | 0.00 | 0.06 |
| Aron Dønnum AMC | 61 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.06 |
| Djibril Sidibe DMR | 60 | 0 | 0 | 1 | 0 | 0.54 | 0.00 | 0.03 |
| Mark McKenzie DC | 49 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.03 |
| Charlie Cresswell Sub | 30 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Warren Kamanzi Sub | 29 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Alexis Vossah Sub | 29 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jacen Russell-Rowe Sub | 18 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Santiago Hidalgo Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |