Real Madrid v Espanyol — Prediction, Odds & Stats
Saturday 20 September 2025 · ESP-La Liga · 2526
La Liga
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
Real Madrid are conceding fewer than expected — 2.3 goals saved beyond what the chances suggest.
Espanyol are conceding fewer than expected — 3.3 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 | 2.03–0.91 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 2.50–0.92 | 2-0 10% | 67% | 55% | 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' |
|
Edu Expósito | 0.03 | Open Play | Right Foot | Saved Shot | Urko Gonzalez |
| 12' |
|
Vinícius Júnior | 0.03 | Open Play | Right Foot | Blocked Shot | Álvaro Fernández |
| 14' |
|
Roberto Fernández | 0.09 | Open Play | Right Foot | Blocked Shot | Javi Puado |
| 21' |
|
Eder Militão | 0.02 | Open Play | Right Foot | Goal | Federico Valverde |
| 26' |
|
Daniel Carvajal | 0.13 | Open Play | Left Foot | Blocked Shot | Kylian Mbappe-Lottin |
| 26' |
|
Raúl | 0.01 | Open Play | Right Foot | Blocked Shot | — |
| 34' |
|
Vinícius Júnior | 0.04 | Open Play | Right Foot | Missed Shot | Eder Militão |
| 40' |
|
Kylian Mbappe-Lottin | 0.05 | Open Play | Right Foot | Missed Shot | Daniel Carvajal |
| 44' |
|
Fernando Calero | 0.60 | Set Piece | Left Foot | Missed Shot | Edu Expósito |
| 46' |
|
Kylian Mbappe-Lottin | 0.49 | Open Play | Right Foot | Missed Shot | Vinícius Júnior |
| 46' |
|
Kylian Mbappe-Lottin | 0.02 | Open Play | Right Foot | Goal | Vinícius Júnior |
| 51' |
|
Kylian Mbappe-Lottin | 0.46 | Open Play | Right Foot | Missed Shot | Franco Mastantuono |
| 57' |
|
Urko Gonzalez | 0.03 | Open Play | Right Foot | Blocked Shot | Leandro Cabrera |
| 65' |
|
Kylian Mbappe-Lottin | 0.07 | Open Play | Right Foot | Saved Shot | Arda Güler |
| 65' |
|
Kylian Mbappe-Lottin | 0.15 | Open Play | Right Foot | Saved Shot | — |
| 65' |
|
Kylian Mbappe-Lottin | 0.06 | Open Play | Right Foot | Blocked Shot | — |
| 65' |
|
Vinícius Júnior | 0.53 | Open Play | Left Foot | Shot On Post | — |
| 66' |
|
Eder Militão | 0.02 | From Corner | — | Missed Shot | Arda Güler |
| 69' |
|
Kylian Mbappe-Lottin | 0.08 | Open Play | Right Foot | Blocked Shot | Álvaro Fernández |
| 71' |
|
Vinícius Júnior | 0.02 | Open Play | Right Foot | Saved Shot | — |
| 86' |
|
Charles Pickel | 0.02 | Open Play | Right Foot | Blocked Shot | Antoniu Roca |
| 89' |
|
Antoniu Roca | 0.08 | Open Play | Right Foot | Blocked Shot | Jofre Carreras |
| 94' |
|
Antoniu Roca | 0.02 | Open Play | Right Foot | Blocked Shot | Luca Koleosho |
| 94' |
|
Leandro Cabrera | 0.11 | From Corner | — | Missed Shot | Carlos Romero |
Players
Real Madrid
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Kylian Mbappe-Lottin FW | 90 | 1 | 0 | 8 | 1 | 1.38 | 0.13 | 1.60 |
| Daniel Carvajal DR | 90 | 0 | 0 | 1 | 1 | 0.13 | 0.05 | 0.76 |
| Eder Militão DC | 90 | 1 | 0 | 2 | 1 | 0.04 | 0.04 | 0.78 |
| Raúl DC | 90 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.67 |
| Álvaro Fernández DL | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.11 | 0.30 |
| Thibaut Courtois GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Aurelien Tchouameni MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.61 |
| Federico Valverde MC | 90 | 0 | 1 | 0 | 1 | 0.00 | 0.02 | 0.76 |
| Vinícius Júnior ML | 80 | 0 | 1 | 4 | 2 | 0.61 | 0.51 | 1.38 |
| Franco Mastantuono MR | 80 | 0 | 0 | 0 | 1 | 0.00 | 0.46 | 0.59 |
| Gonzalo García FW | 64 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.67 |
| Arda Güler Sub | 26 | 0 | 0 | 0 | 2 | 0.00 | 0.09 | 0.07 |
| Brahim Diaz Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Rodrygo Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jude Bellingham Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Eduardo Camavinga Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Espanyol
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Fernando Calero DC | 90 | 0 | 0 | 1 | 0 | 0.60 | 0.00 | 0.00 |
| Leandro Cabrera DC | 90 | 0 | 0 | 1 | 1 | 0.11 | 0.03 | 0.05 |
| Urko Gonzalez DMC | 90 | 0 | 0 | 1 | 1 | 0.03 | 0.03 | 0.14 |
| Omar El Hilali DR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marko Dmitrovic GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Carlos Romero DL | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.12 |
| Roberto Fernández FW | 87 | 0 | 0 | 1 | 0 | 0.09 | 0.00 | 0.09 |
| Javi Puado AML | 80 | 0 | 0 | 0 | 1 | 0.00 | 0.09 | 0.09 |
| Edu Expósito AMC | 66 | 0 | 0 | 1 | 1 | 0.03 | 0.60 | 0.03 |
| Pol Lozano DMC | 66 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.09 |
| Tyrhys Dolan AMR | 66 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Charles Pickel Sub | 24 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.02 |
| Jofre Carreras Sub | 24 | 0 | 0 | 0 | 1 | 0.00 | 0.08 | 0.08 |
| Luca Koleosho Sub | 24 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.11 |
| Kike García Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Antoniu Roca Sub | 3 | 0 | 0 | 2 | 1 | 0.10 | 0.02 | 0.11 |