Paris Saint Germain v Toulouse — Prediction, Odds & Stats
Friday 3 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
Paris Saint Germain are finishing below their chances — 3.8 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.3 goals saved beyond what the chances suggest.
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.
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.16–0.75 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 2.26–0.86 | 2-0 11% | 60% | 52% | 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 |
|---|---|---|---|---|---|---|---|
| 2' |
|
Désiré Doué | 0.02 | Open Play | Right Foot | Blocked Shot | Khvicha Kvaratskhelia |
| 2' |
|
Khvicha Kvaratskhelia | 0.05 | Open Play | Right Foot | Saved Shot | Lee Kang-In |
| 13' |
|
Ousmane Dembélé | 0.09 | Open Play | Left Foot | Missed Shot | Achraf Hakimi |
| 15' |
|
Pape Diop | 0.02 | Open Play | Right Foot | Missed Shot | Yann Gboho |
| 20' |
|
Achraf Hakimi | 0.06 | Open Play | Right Foot | Missed Shot | Beraldo |
| 22' |
|
Ousmane Dembélé | 0.05 | Open Play | Left Foot | Goal | — |
| 26' |
|
Rasmus Nicolaisen | 0.03 | From Corner | — | Goal | Djibril Sidibe |
| 32' |
|
Khvicha Kvaratskhelia | 0.02 | From Corner | — | Blocked Shot | Lee Kang-In |
| 32' |
|
Ousmane Dembélé | 0.91 | From Corner | Right Foot | Goal | Khvicha Kvaratskhelia |
| 36' |
|
Désiré Doué | 0.05 | Open Play | Right Foot | Missed Shot | Achraf Hakimi |
| 38' |
|
Khvicha Kvaratskhelia | 0.03 | Open Play | Right Foot | Blocked Shot | Ousmane Dembélé |
| 46' |
|
Pape Diop | 0.01 | Open Play | Right Foot | Missed Shot | — |
| 50' |
|
Khvicha Kvaratskhelia | 0.07 | Open Play | Right Foot | Missed Shot | Lee Kang-In |
| 53' |
|
Khvicha Kvaratskhelia | 0.03 | From Corner | — | Missed Shot | Lee Kang-In |
| 62' |
|
Illia Zabarnyi | 0.13 | From Corner | Right Foot | Saved Shot | — |
| 62' |
|
João Neves | 0.08 | Open Play | Right Foot | Blocked Shot | Khvicha Kvaratskhelia |
| 62' |
|
William Pacho | 0.10 | From Corner | Left Foot | Saved Shot | — |
| 65' |
|
Khvicha Kvaratskhelia | 0.02 | Open Play | Right Foot | Missed Shot | Ousmane Dembélé |
| 72' |
|
Aron Dønnum | 0.01 | Open Play | Left Foot | Missed Shot | — |
| 74' |
|
Emersonn | 0.02 | Open Play | Right Foot | Missed Shot | Cristian Cásseres Jr. |
| 88' |
|
Achraf Hakimi | 0.02 | Open Play | Right Foot | Blocked Shot | — |
| 91' |
|
Gonçalo Ramos | 0.03 | Open Play | Right Foot | Goal | Nuno Mendes |
Players
Paris Saint Germain
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Ousmane Dembélé FW | 90 | 2 | 0 | 3 | 2 | 1.05 | 0.06 | 0.33 |
| Illia Zabarnyi DC | 90 | 0 | 0 | 1 | 0 | 0.13 | 0.00 | 0.13 |
| William Pacho DC | 90 | 0 | 0 | 1 | 0 | 0.10 | 0.00 | 0.27 |
| Achraf Hakimi DR | 90 | 0 | 0 | 2 | 2 | 0.08 | 0.14 | 0.45 |
| Warren Zaïre-Emery MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.23 |
| Matvey Safonov GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Lucas Hernández DL | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.15 |
| Désiré Doué MC | 88 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.34 |
| Khvicha Kvaratskhelia FWL | 69 | 0 | 1 | 6 | 3 | 0.23 | 1.01 | 0.34 |
| Beraldo MC | 68 | 0 | 0 | 0 | 1 | 0.00 | 0.06 | 0.25 |
| Lee Kang-In FWR | 60 | 0 | 0 | 0 | 4 | 0.00 | 0.17 | 0.15 |
| João Neves Sub | 30 | 0 | 0 | 1 | 0 | 0.08 | 0.00 | 0.08 |
| Vitinha Sub | 22 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Nuno Mendes Sub | 21 | 0 | 1 | 0 | 1 | 0.00 | 0.03 | 0.03 |
| Gonçalo Ramos Sub | 2 | 1 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 |
Toulouse
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Pape Diop MC | 90 | 0 | 0 | 2 | 0 | 0.03 | 0.00 | 0.06 |
| Rasmus Nicolaisen DC | 90 | 1 | 0 | 1 | 0 | 0.03 | 0.00 | 0.02 |
| Aron Dønnum AMC | 90 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.01 |
| Yann Gboho AMC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.02 |
| Seny Koumbassa DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Mark McKenzie DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Guillaume Restes GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Emersonn FW | 84 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.04 |
| Cristian Cásseres Jr. MC | 84 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.02 |
| Djibril Sidibe DMR | 84 | 0 | 1 | 0 | 1 | 0.00 | 0.03 | 0.00 |
| Dayann Methalie DML | 68 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Warren Kamanzi Sub | 22 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Ilyas Azizi Sub | 6 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jacen Russell-Rowe Sub | 6 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Mário Sauer Sub | 6 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |