Real Madrid v Atletico Madrid — Prediction, Odds & Stats
Sunday 22 March 2026 · 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.
Atletico Madrid have scored 16 from 17.5 expected and conceded 15 from 16.0 — 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 | 1.75–0.96 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 2.11–1.28 | 2-1 10% | 66% | 63% | 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' |
|
Daniel Carvajal | 0.06 | Open Play | Right Foot | Saved Shot | Brahim Diaz |
| 7' |
|
Antoine Griezmann | 0.09 | Open Play | Left Foot | Missed Shot | Ademola Lookman |
| 8' |
|
Marcos Llorente | 0.42 | Open Play | Left Foot | Saved Shot | Antoine Griezmann |
| 8' |
|
Federico Valverde | 0.04 | Open Play | Right Foot | Shot On Post | Aurelien Tchouameni |
| 11' |
|
Giuliano Simeone | 0.03 | Open Play | Right Foot | Saved Shot | Marcos Llorente |
| 13' |
|
Arda Güler | 0.04 | Open Play | Left Foot | Missed Shot | Daniel Carvajal |
| 21' |
|
Aurelien Tchouameni | 0.03 | Set Piece | Right Foot | Blocked Shot | — |
| 21' |
|
Vinícius Júnior | 0.52 | From Corner | Right Foot | Blocked Shot | Arda Güler |
| 21' |
|
Vinícius Júnior | 0.81 | From Corner | Right Foot | Blocked Shot | — |
| 23' |
|
Vinícius Júnior | 0.02 | Open Play | Right Foot | Missed Shot | Aurelien Tchouameni |
| 28' |
|
Federico Valverde | 0.02 | Set Piece | Right Foot | Saved Shot | Vinícius Júnior |
| 30' |
|
Ademola Lookman | 0.03 | Open Play | Right Foot | Blocked Shot | Antoine Griezmann |
| 32' |
|
Ademola Lookman | 0.58 | Open Play | Right Foot | Goal | Giuliano Simeone |
| 41' |
|
Aurelien Tchouameni | 0.05 | Open Play | — | Missed Shot | Daniel Carvajal |
| 43' |
|
Arda Güler | 0.02 | Open Play | Left Foot | Saved Shot | Brahim Diaz |
| 51' |
|
Vinícius Júnior | 0.74 | Right Foot | Goal | — | |
| 54' |
|
Antonio Rüdiger | 0.07 | From Corner | — | Missed Shot | — |
| 54' |
|
Federico Valverde | 0.39 | Open Play | Right Foot | Goal | — |
| 59' |
|
Julián Álvarez | 0.02 | Open Play | Right Foot | Saved Shot | Matteo Ruggeri |
| 61' |
|
Federico Valverde | 0.03 | Open Play | Right Foot | Saved Shot | Arda Güler |
| 64' |
|
Julián Álvarez | 0.05 | Open Play | Right Foot | Missed Shot | Giuliano Simeone |
| 65' |
|
Nahuel Molina | 0.02 | Open Play | Right Foot | Goal | Julián Álvarez |
| 71' |
|
Vinícius Júnior | 0.04 | Open Play | Right Foot | Goal | Trent Alexander-Arnold |
| 80' |
|
Julián Álvarez | 0.03 | Open Play | Right Foot | Shot On Post | Nahuel Molina |
| 82' |
|
Trent Alexander-Arnold | 0.06 | Direct Freekick | Right Foot | Saved Shot | — |
| 90' |
|
Fran García | 0.02 | Open Play | Left Foot | Missed Shot | Dean Huijsen |
| 91' |
|
Julián Álvarez | 0.04 | Open Play | Left Foot | Missed Shot | Koke |
| 92' |
|
Alexander Sørloth | 0.05 | Open Play | — | Saved Shot | Matteo Ruggeri |
| 94' |
|
Julián Álvarez | 0.02 | Open Play | Right Foot | Missed Shot | Álex Baena |
| 95' |
|
Álex Baena | 0.02 | Open Play | Right Foot | Saved Shot | Nicolás González |
Players
Real Madrid
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Aurelien Tchouameni MC | 90 | 0 | 0 | 2 | 2 | 0.08 | 0.06 | 0.15 |
| Antonio Rüdiger DC | 90 | 0 | 0 | 1 | 0 | 0.07 | 0.00 | 0.11 |
| Fran García DL | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.16 |
| Andriy Lunin GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.09 |
| Dean Huijsen DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.13 |
| Vinícius Júnior FW | 88 | 2 | 0 | 5 | 1 | 2.13 | 0.02 | 0.16 |
| Federico Valverde MR | 78 | 1 | 0 | 4 | 0 | 0.49 | 0.00 | 0.54 |
| Arda Güler ML | 75 | 0 | 0 | 2 | 2 | 0.06 | 0.55 | 0.20 |
| Brahim Diaz FW | 75 | 0 | 0 | 0 | 2 | 0.00 | 0.08 | 0.15 |
| Daniel Carvajal DR | 65 | 0 | 0 | 1 | 2 | 0.06 | 0.09 | 0.14 |
| Thiago Pitarch MC | 65 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.18 |
| Trent Alexander-Arnold Sub | 25 | 0 | 1 | 1 | 1 | 0.06 | 0.04 | 0.04 |
| Kylian Mbappe-Lottin Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Eduardo Camavinga Sub | 15 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jude Bellingham Sub | 15 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Álvaro Fernández Sub | 2 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Atletico Madrid
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Marcos Llorente DR | 90 | 0 | 0 | 1 | 1 | 0.42 | 0.03 | 1.08 |
| Julián Álvarez FW | 90 | 0 | 1 | 5 | 1 | 0.16 | 0.02 | 1.40 |
| Juan Musso GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 1.07 |
| David Hancko DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.63 |
| Matteo Ruggeri DL | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.07 | 1.24 |
| Koke MC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 1.22 |
| Giuliano Simeone MR | 72 | 0 | 1 | 1 | 2 | 0.03 | 0.63 | 1.11 |
| Ademola Lookman ML | 58 | 1 | 0 | 2 | 1 | 0.61 | 0.09 | 0.70 |
| Antoine Griezmann FW | 58 | 0 | 0 | 1 | 2 | 0.09 | 0.45 | 0.55 |
| Johnny Cardoso MC | 58 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Robin Le Normand DC | 47 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 1.12 |
| Giménez Sub | 43 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| Alexander Sørloth Sub | 32 | 0 | 0 | 1 | 0 | 0.05 | 0.00 | 0.09 |
| Nahuel Molina Sub | 32 | 1 | 0 | 1 | 1 | 0.02 | 0.03 | 0.16 |
| Nicolás González Sub | 32 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.06 |
| Álex Baena Sub | 18 | 0 | 0 | 1 | 1 | 0.02 | 0.02 | 0.08 |