Manchester City v Tottenham Hotspur — Prediction, Odds & Stats
Saturday 23 August 2025 · ENG-Premier League · 2526
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.
Tottenham Hotspur are finishing sharply below their chances — 5.2 goals fewer than expected across 10 matches, despite creating the openings.
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.34–1.05 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 2.38–1.24 | 2-1 9% | 70% | 65% | 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 |
|---|---|---|---|---|---|---|---|
| 8' |
|
Pedro Porro | 0.06 | Direct Freekick | Right Foot | Blocked Shot | — |
| 8' |
|
Pedro Porro | 0.03 | Set Piece | Right Foot | Missed Shot | — |
| 9' |
|
Omar Marmoush | 0.04 | Open Play | Left Foot | Missed Shot | — |
| 17' |
|
Omar Marmoush | 0.02 | Open Play | Right Foot | Saved Shot | Oscar Bobb |
| 18' |
|
Tijjani Reijnders | 0.06 | Open Play | Right Foot | Blocked Shot | Oscar Bobb |
| 27' |
|
Omar Marmoush | 0.37 | Open Play | Right Foot | Saved Shot | Erling Haaland |
| 34' |
|
Brennan Johnson | 0.38 | Open Play | Right Foot | Goal | Richarlison |
| 46' |
|
João Palhinha | 0.38 | Open Play | Right Foot | Goal | — |
| 47' |
|
Nathan Aké | 0.10 | Open Play | Left Foot | Blocked Shot | Rico Lewis |
| 51' |
|
Erling Haaland | 0.50 | From Corner | — | Missed Shot | Mathis Cherki |
| 53' |
|
Pape Sarr | 0.03 | Open Play | — | Saved Shot | Brennan Johnson |
| 55' |
|
Richarlison | 0.02 | Open Play | — | Blocked Shot | Pedro Porro |
| 56' |
|
Brennan Johnson | 0.08 | Open Play | Right Foot | Missed Shot | Rodrigo Bentancur |
| 60' |
|
Richarlison | 0.02 | Set Piece | — | Missed Shot | Pedro Porro |
| 61' |
|
Richarlison | 0.05 | Open Play | — | Missed Shot | Mohammed Kudus |
| 69' |
|
Rico Lewis | 0.02 | From Corner | Right Foot | Missed Shot | — |
| 75' |
|
Rodri | 0.02 | From Corner | — | Saved Shot | Phil Foden |
| 78' |
|
Phil Foden | 0.10 | Open Play | Left Foot | Blocked Shot | Jéremy Doku |
| 84' |
|
Phil Foden | 0.02 | Open Play | Left Foot | Saved Shot | Rodri |
| 86' |
|
Wilson Odobert | 0.14 | Open Play | Right Foot | Missed Shot | Lucas Bergvall |
| 92' |
|
Dominic Solanke | 0.09 | Open Play | Right Foot | Saved Shot | — |
| 92' |
|
Wilson Odobert | 0.01 | Open Play | — | Saved Shot | — |
Players
Manchester City
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Erling Haaland FW | 90 | 0 | 0 | 1 | 1 | 0.50 | 0.37 | 0.47 |
| Tijjani Reijnders MC | 90 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.10 |
| Rico Lewis DR | 90 | 0 | 0 | 1 | 1 | 0.02 | 0.10 | 0.12 |
| John Stones DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| James Trafford GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Rúben Dias DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Nico González DMC | 82 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| Oscar Bobb MR | 82 | 0 | 0 | 0 | 2 | 0.00 | 0.08 | 0.18 |
| Nathan Aké Sub | 68 | 0 | 0 | 1 | 0 | 0.10 | 0.00 | 0.10 |
| Omar Marmoush ML | 61 | 0 | 0 | 3 | 0 | 0.43 | 0.00 | 0.43 |
| Mathis Cherki MC | 61 | 0 | 0 | 0 | 1 | 0.00 | 0.50 | 0.12 |
| Bernardo Silva Sub | 29 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Jéremy Doku Sub | 29 | 0 | 0 | 0 | 1 | 0.00 | 0.10 | 0.10 |
| Rayan Ait Nouri DL | 22 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Phil Foden Sub | 8 | 0 | 0 | 2 | 1 | 0.13 | 0.02 | 0.13 |
| Rodri Sub | 8 | 0 | 0 | 1 | 1 | 0.02 | 0.02 | 0.13 |
Tottenham Hotspur
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| João Palhinha MC | 90 | 1 | 0 | 1 | 0 | 0.38 | 0.00 | 0.43 |
| Pedro Porro DR | 90 | 0 | 0 | 2 | 2 | 0.08 | 0.04 | 0.59 |
| Pape Sarr MC | 90 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.78 |
| Cristian Romero DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.52 |
| Rodrigo Bentancur MC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.08 | 0.08 |
| Mohammed Kudus FWR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.05 | 0.07 |
| Micky van de Ven DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Guglielmo Vicario GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.40 |
| Djed Spence DL | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.03 |
| Brennan Johnson FWL | 85 | 1 | 0 | 2 | 1 | 0.45 | 0.03 | 0.50 |
| Richarlison FW | 85 | 0 | 1 | 3 | 1 | 0.09 | 0.38 | 0.83 |
| Wilson Odobert Sub | 5 | 0 | 0 | 2 | 0 | 0.16 | 0.00 | 0.16 |
| Dominic Solanke Sub | 5 | 0 | 0 | 1 | 0 | 0.09 | 0.00 | 0.09 |
| Lucas Bergvall Sub | 1 | 0 | 0 | 0 | 1 | 0.00 | 0.14 | 0.14 |
| Kevin Danso Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |