Toulouse v Le Havre — Prediction, Odds & Stats
Sunday 2 November 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
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.
Le Havre are conceding sharply fewer than expected — 4.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.95–1.02 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 2.05–0.86 | 2-0 11% | 56% | 50% | 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 |
|---|---|---|---|---|---|---|---|
| 6' |
|
Aron Dønnum | 0.13 | Open Play | Right Foot | Missed Shot | Frank Magri |
| 13' |
|
Mário Sauer | 0.01 | Open Play | Right Foot | Missed Shot | — |
| 19' |
|
Yassine Kechta | 0.06 | Open Play | Left Foot | Missed Shot | Ayumu Seko |
| 21' |
|
Frank Magri | 0.09 | Open Play | Left Foot | Saved Shot | Yann Gboho |
| 27' |
|
Abdoulaye Touré | 0.06 | Open Play | Right Foot | Saved Shot | Issa Soumaré |
| 33' |
|
Emersonn | 0.08 | From Corner | — | Missed Shot | Cristian Cásseres Jr. |
| 35' |
|
Charlie Cresswell | 0.03 | Set Piece | — | Missed Shot | Aron Dønnum |
| 38' |
|
Emersonn | 0.02 | Set Piece | Left Foot | Blocked Shot | — |
| 41' |
|
Yann Gboho | 0.04 | Open Play | Right Foot | Blocked Shot | Emersonn |
| 42' |
|
Yann Gboho | 0.06 | Open Play | Right Foot | Blocked Shot | — |
| 47' |
|
Issa Soumaré | 0.41 | Open Play | Right Foot | Shot On Post | Felix Mambimbi |
| 48' |
|
Yann Gboho | 0.05 | From Corner | — | Missed Shot | Aron Dønnum |
| 49' |
|
Emersonn | 0.04 | Open Play | Left Foot | Blocked Shot | Frank Magri |
| 50' |
|
Cristian Cásseres Jr. | 0.02 | Open Play | Left Foot | Missed Shot | — |
| 55' |
|
Emersonn | 0.08 | Open Play | Right Foot | Missed Shot | — |
| 59' |
|
Aron Dønnum | 0.07 | Open Play | Right Foot | Missed Shot | Cristian Cásseres Jr. |
| 68' |
|
Arouna Sangante | 0.04 | From Corner | Right Foot | Saved Shot | Yanis Zouaoui |
| 71' |
|
Ayumu Seko | 0.04 | Open Play | Right Foot | Blocked Shot | Abdoulaye Touré |
| 71' |
|
Alexis Vossah | 0.04 | Open Play | Left Foot | Saved Shot | Yann Gboho |
| 72' |
|
Issa Soumaré | 0.01 | Open Play | Left Foot | Missed Shot | — |
| 75' |
|
Yann Gboho | 0.04 | Open Play | Right Foot | Blocked Shot | Frank Magri |
| 76' |
|
Djibril Sidibe | 0.12 | From Corner | Right Foot | Blocked Shot | — |
| 87' |
|
Issa Soumaré | 0.42 | Open Play | Left Foot | Saved Shot | Loïc Négo |
| 88' |
|
Abdoulaye Touré | 0.02 | Open Play | Left Foot | Missed Shot | Ayumu Seko |
| 88' |
|
Warren Kamanzi | 0.03 | Open Play | Right Foot | Blocked Shot | Yann Gboho |
| 89' |
|
Simon Ebonog | 0.02 | Open Play | Right Foot | Blocked Shot | — |
| 93' |
|
Charlie Cresswell | 0.08 | Open Play | — | Missed Shot | Yann Gboho |
| 95' |
|
Emersonn | 0.06 | Open Play | — | Missed Shot | Aron Dønnum |
Players
Le Havre
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Issa Soumaré FW | 90 | 0 | 0 | 3 | 1 | 0.84 | 0.06 | 0.93 |
| Abdoulaye Touré MC | 90 | 0 | 0 | 2 | 1 | 0.08 | 0.04 | 0.53 |
| Arouna Sangante DC | 90 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.04 |
| Ayumu Seko DMC | 90 | 0 | 0 | 1 | 2 | 0.04 | 0.08 | 0.12 |
| Rassoul Ndiaye MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.48 |
| Mory Diaw GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Loïc Négo DR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.42 | 0.45 |
| Gautier Lloris DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Yanis Zouaoui DL | 77 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.00 |
| Yassine Kechta MC | 66 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.06 |
| Felix Mambimbi FW | 66 | 0 | 0 | 0 | 1 | 0.00 | 0.41 | 0.47 |
| Simon Ebonog Sub | 24 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.02 |
| Reda Khadra Sub | 24 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Thomas Delaine Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Toulouse
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Emersonn FW | 90 | 0 | 0 | 5 | 1 | 0.28 | 0.04 | 0.21 |
| Aron Dønnum DMR | 90 | 0 | 0 | 2 | 3 | 0.20 | 0.13 | 0.38 |
| Yann Gboho AMC | 90 | 0 | 0 | 4 | 4 | 0.18 | 0.24 | 0.37 |
| Djibril Sidibe DC | 90 | 0 | 0 | 1 | 0 | 0.12 | 0.00 | 0.26 |
| Charlie Cresswell DC | 90 | 0 | 0 | 2 | 0 | 0.11 | 0.00 | 0.25 |
| Cristian Cásseres Jr. MC | 90 | 0 | 0 | 1 | 2 | 0.02 | 0.15 | 0.40 |
| Rasmus Nicolaisen DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.13 |
| Guillaume Restes GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.24 |
| Frank Magri AMC | 79 | 0 | 0 | 1 | 3 | 0.09 | 0.21 | 0.30 |
| Dayann Methalie DML | 79 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.13 |
| Mário Sauer MC | 60 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.14 |
| Alexis Vossah Sub | 30 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.04 |
| Warren Kamanzi Sub | 11 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 |
| Noah Edjouma Sub | 11 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.03 |