West Ham United v Crystal Palace — Prediction, Odds & Stats
Saturday 20 September 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
West Ham United are conceding sharply fewer than expected — 4.3 goals saved beyond what the chances suggest.
Crystal Palace are finishing sharply below their chances — 5.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding more than the chances against them merit — 2.2 goals above expected, which tends to correct.
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.10–1.39 | 0% | 0% | 0% | Away ✓ | |
| dc-xg-oos | 1.31–1.83 | 1-1 10% | 61% | 61% | Away ✓ |
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 |
|---|---|---|---|---|---|---|---|
| 5' |
|
Konstantinos Mavropanos | 0.13 | From Corner | — | Saved Shot | James Ward-Prowse |
| 8' |
|
Yeremi Pino | 0.02 | From Corner | Right Foot | Blocked Shot | — |
| 31' |
|
Daichi Kamada | 0.13 | Open Play | — | Missed Shot | Yeremi Pino |
| 34' |
|
Adam Wharton | 0.02 | Open Play | Left Foot | Blocked Shot | Daichi Kamada |
| 35' |
|
Yeremi Pino | 0.09 | Open Play | Left Foot | Blocked Shot | — |
| 36' |
|
Jean-Philippe Mateta | 0.60 | From Corner | — | Goal | — |
| 36' |
|
Marc Guehi | 0.08 | From Corner | — | Blocked Shot | Daichi Kamada |
| 43' |
|
Daniel Muñoz | 0.05 | From Corner | — | Missed Shot | Adam Wharton |
| 46' |
|
Maxence Lacroix | 0.49 | From Corner | — | Shot On Post | Adam Wharton |
| 48' |
|
Jarrod Bowen | 0.12 | From Corner | — | Goal | El Hadji Malick Diouf |
| 51' |
|
James Ward-Prowse | 0.01 | Open Play | Right Foot | Blocked Shot | Lucas Paquetá |
| 52' |
|
Daniel Muñoz | 0.06 | Open Play | Right Foot | Missed Shot | Tyrick Mitchell |
| 58' |
|
Jean-Philippe Mateta | 0.10 | Set Piece | — | Missed Shot | Adam Wharton |
| 62' |
|
Lucas Paquetá | 0.02 | Open Play | — | Missed Shot | Jarrod Bowen |
| 63' |
|
Justin Devenny | 0.04 | Open Play | — | Missed Shot | Tyrick Mitchell |
| 63' |
|
Kyle Walker-Peters | 0.04 | Open Play | Right Foot | Saved Shot | James Ward-Prowse |
| 66' |
|
Kyle Walker-Peters | 0.04 | Open Play | — | Missed Shot | Lucas Paquetá |
| 67' |
|
Tyrick Mitchell | 0.39 | Open Play | Right Foot | Goal | — |
| 72' |
|
Daniel Muñoz | 0.07 | Open Play | Right Foot | Blocked Shot | Tyrick Mitchell |
| 75' |
|
Eddie Nketiah | 0.07 | Set Piece | Right Foot | Blocked Shot | Jefferson Lerma |
| 75' |
|
Jefferson Lerma | 0.06 | Set Piece | Left Foot | Saved Shot | — |
| 78' |
|
Tyrick Mitchell | 0.08 | Open Play | Left Foot | Missed Shot | Daniel Muñoz |
| 80' |
|
Jarrod Bowen | 0.07 | Open Play | Left Foot | Missed Shot | Niclas Füllkrug |
| 84' |
|
Jefferson Lerma | 0.02 | Open Play | Right Foot | Missed Shot | Eddie Nketiah |
| 87' |
|
Justin Devenny | 0.03 | Open Play | Left Foot | Missed Shot | Daichi Kamada |
| 92' |
|
Luis Guilherme | 0.04 | Open Play | — | Missed Shot | El Hadji Malick Diouf |
Players
West Ham United
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Jarrod Bowen AMR | 90 | 1 | 0 | 2 | 1 | 0.19 | 0.02 | 0.18 |
| Konstantinos Mavropanos DC | 90 | 0 | 0 | 1 | 0 | 0.13 | 0.00 | 0.05 |
| Kyle Walker-Peters DR | 90 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.09 |
| Lucas Paquetá AMC | 90 | 0 | 0 | 1 | 2 | 0.02 | 0.05 | 0.06 |
| James Ward-Prowse DMC | 90 | 0 | 0 | 1 | 2 | 0.01 | 0.17 | 0.11 |
| El Hadji Malick Diouf DL | 90 | 0 | 1 | 0 | 2 | 0.00 | 0.16 | 0.08 |
| Alphonse Areola GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Max Kilman DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.05 |
| Mateus Fernandes DMC | 80 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.05 |
| Crysencio Summerville AML | 80 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Callum Wilson FW | 61 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Niclas Füllkrug Sub | 29 | 0 | 0 | 0 | 1 | 0.00 | 0.07 | 0.12 |
| Luis Guilherme Sub | 10 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.04 |
| Soungoutou Magassa Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Crystal Palace
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Jean-Philippe Mateta FW | 90 | 1 | 0 | 2 | 0 | 0.70 | 0.00 | 0.00 |
| Maxence Lacroix DC | 90 | 0 | 0 | 1 | 0 | 0.49 | 0.00 | 0.30 |
| Tyrick Mitchell DML | 90 | 1 | 0 | 2 | 3 | 0.47 | 0.17 | 0.78 |
| Daniel Muñoz DMR | 90 | 0 | 0 | 3 | 1 | 0.18 | 0.08 | 0.39 |
| Daichi Kamada AMC | 90 | 0 | 0 | 1 | 3 | 0.13 | 0.13 | 0.22 |
| Marc Guehi DC | 90 | 0 | 0 | 1 | 0 | 0.08 | 0.00 | 0.25 |
| Chris Richards DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.26 |
| Dean Henderson GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.10 |
| Adam Wharton MC | 77 | 0 | 0 | 1 | 3 | 0.02 | 0.64 | 0.19 |
| Will Hughes MC | 67 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.23 |
| Yeremi Pino AMC | 48 | 0 | 0 | 2 | 1 | 0.10 | 0.13 | 0.21 |
| Justin Devenny Sub | 42 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.17 |
| Jefferson Lerma Sub | 23 | 0 | 0 | 2 | 1 | 0.08 | 0.07 | 0.02 |
| Eddie Nketiah Sub | 13 | 0 | 0 | 1 | 1 | 0.07 | 0.02 | 0.02 |