Manchester City v Aston Villa — Prediction, Odds & Stats
Tuesday 22 April 2025 · ENG-Premier League · 2425
Premier League
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
Manchester City are finishing below their chances — 2.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding sharply fewer than expected — 4.3 goals saved beyond what the chances suggest.
Aston Villa have scored 14 from 15.7 expected and conceded 17 from 15.7 — 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.85–1.25 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 2.07–1.30 | 2-1 10% | 65% | 64% | 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' |
|
Marcus Rashford | 0.30 | Open Play | Left Foot | Shot On Post | Youri Tielemans |
| 6' |
|
Bernardo Silva | 0.41 | Open Play | Right Foot | Goal | — |
| 17' |
|
Marcus Rashford | 0.76 | Right Foot | Goal | — | |
| 22' |
|
Kevin De Bruyne | 0.08 | Open Play | — | Saved Shot | Omar Marmoush |
| 25' |
|
Mateo Kovacic | 0.02 | Open Play | Right Foot | Saved Shot | Bernardo Silva |
| 29' |
|
Ezri Konsa Ngoyo | 0.10 | Open Play | Right Foot | Blocked Shot | Pau Torres |
| 31' |
|
Josko Gvardiol | 0.08 | From Corner | — | Missed Shot | Kevin De Bruyne |
| 35' |
|
Omar Marmoush | 0.08 | Open Play | — | Missed Shot | Nico O'Reilly |
| 38' |
|
Marcus Rashford | 0.29 | Open Play | Right Foot | Saved Shot | Lucas Digne |
| 43' |
|
Amadou Onana | 0.08 | From Corner | — | Missed Shot | Marcus Rashford |
| 55' |
|
Nico O'Reilly | 0.06 | Open Play | Left Foot | Missed Shot | — |
| 56' |
|
Omar Marmoush | 0.01 | From Corner | Right Foot | Blocked Shot | Kevin De Bruyne |
| 56' |
|
Rúben Dias | 0.07 | From Corner | Right Foot | Blocked Shot | Kevin De Bruyne |
| 59' |
|
James McAtee | 0.03 | Open Play | Left Foot | Missed Shot | Kevin De Bruyne |
| 62' |
|
Marcus Rashford | 0.30 | Open Play | Right Foot | Missed Shot | Morgan Rogers |
| 62' |
|
Mateo Kovacic | 0.02 | Set Piece | Right Foot | Saved Shot | Bernardo Silva |
| 67' |
|
Josko Gvardiol | 0.10 | From Corner | — | Missed Shot | Kevin De Bruyne |
| 73' |
|
Omar Marmoush | 0.07 | Open Play | Right Foot | Missed Shot | — |
| 86' |
|
Donyell Malen | 0.02 | From Corner | Right Foot | Saved Shot | — |
| 92' |
|
Rúben Dias | 0.05 | From Corner | — | Saved Shot | Kevin De Bruyne |
| 93' |
|
Matheus Nunes | 0.28 | Open Play | Right Foot | Goal | Jéremy Doku |
Players
Manchester City
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Bernardo Silva MC | 90 | 1 | 0 | 1 | 2 | 0.41 | 0.04 | 0.87 |
| Matheus Nunes DR | 90 | 1 | 0 | 1 | 0 | 0.28 | 0.00 | 0.38 |
| Josko Gvardiol DC | 90 | 0 | 0 | 2 | 0 | 0.18 | 0.00 | 0.46 |
| Omar Marmoush ML | 90 | 0 | 0 | 3 | 1 | 0.16 | 0.08 | 0.28 |
| Rúben Dias DC | 90 | 0 | 0 | 2 | 0 | 0.12 | 0.00 | 0.18 |
| Kevin De Bruyne FW | 90 | 0 | 0 | 1 | 6 | 0.08 | 0.34 | 0.11 |
| Nico O'Reilly DL | 90 | 0 | 0 | 1 | 1 | 0.06 | 0.08 | 0.24 |
| Mateo Kovacic DMC | 90 | 0 | 0 | 2 | 0 | 0.04 | 0.00 | 0.46 |
| Ilkay Gündogan MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.10 |
| Stefan Ortega Moreno GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| James McAtee MR | 78 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.11 |
| Jéremy Doku Sub | 12 | 0 | 1 | 0 | 1 | 0.00 | 0.28 | 0.28 |
| Manuel Akanji Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Aston Villa
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Ezri Konsa Ngoyo DC | 90 | 0 | 0 | 1 | 0 | 0.10 | 0.00 | 0.41 |
| Youri Tielemans AMC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.30 | 0.60 |
| Pau Torres DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.10 | 0.39 |
| Boubacar Kamara DMC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.59 |
| Morgan Rogers AMR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.30 | 0.30 |
| Emiliano Martinez GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.30 |
| Lucas Digne DL | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.29 | 0.69 |
| Marcus Rashford FW | 80 | 1 | 0 | 4 | 1 | 1.66 | 0.08 | 0.89 |
| Amadou Onana DMC | 80 | 0 | 0 | 1 | 0 | 0.08 | 0.00 | 0.69 |
| Jacob Ramsey AML | 65 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.29 |
| Matthew Cash DR | 65 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Axel Disasi Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| John McGinn Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marco Asensio Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Ollie Watkins Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Donyell Malen Sub | 1 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.00 |