West Ham United v Wolverhampton Wanderers — Prediction, Odds & Stats
Monday 9 December 2024 · ENG-Premier League · 2425
Premier League
xG Prediction generated
AI prediction
dc-xg-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.
Wolverhampton Wanderers are finishing below their chances — 3.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.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 |
|---|---|---|---|---|---|---|
| dc-xg-oos | 2.02–1.22 | 2-1 10% | 63% | 61% | 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 |
|---|---|---|---|---|---|---|---|
| 7' |
|
Konstantinos Mavropanos | 0.03 | Set Piece | Right Foot | Blocked Shot | — |
| 15' |
|
Max Kilman | 0.07 | From Corner | — | Blocked Shot | Crysencio Summerville |
| 16' |
|
Mario Lemina | 0.01 | Open Play | Right Foot | Missed Shot | Nélson Semedo |
| 20' |
|
João Gomes | 0.04 | Open Play | Right Foot | Saved Shot | André |
| 22' |
|
Jarrod Bowen | 0.34 | Open Play | Right Foot | Saved Shot | — |
| 23' |
|
Max Kilman | 0.04 | Open Play | — | Blocked Shot | Aaron Wan-Bissaka |
| 25' |
|
Matheus Cunha | 0.02 | Open Play | Right Foot | Saved Shot | Mario Lemina |
| 27' |
|
Carlos Soler | 0.10 | Open Play | Right Foot | Blocked Shot | Crysencio Summerville |
| 28' |
|
Carlos Soler | 0.02 | From Corner | Right Foot | Blocked Shot | Crysencio Summerville |
| 30' |
|
Tomas Soucek | 0.01 | Set Piece | — | Missed Shot | Emerson |
| 31' |
|
João Gomes | 0.32 | Open Play | Right Foot | Missed Shot | Matt Doherty |
| 32' |
|
Mohammed Kudus | 0.03 | From Corner | Left Foot | Saved Shot | Jarrod Bowen |
| 34' |
|
Konstantinos Mavropanos | 0.14 | From Corner | Right Foot | Missed Shot | Max Kilman |
| 38' |
|
Nélson Semedo | 0.03 | Open Play | Right Foot | Blocked Shot | Rayan Ait Nouri |
| 38' |
|
Rayan Ait Nouri | 0.04 | Open Play | Left Foot | Blocked Shot | João Gomes |
| 39' |
|
Crysencio Summerville | 0.04 | Open Play | Right Foot | Blocked Shot | — |
| 42' |
|
Mohammed Kudus | 0.04 | Open Play | Left Foot | Blocked Shot | Jarrod Bowen |
| 43' |
|
Crysencio Summerville | 0.05 | Open Play | — | Missed Shot | Aaron Wan-Bissaka |
| 44' |
|
Mario Lemina | 0.03 | Set Piece | Right Foot | Blocked Shot | — |
| 44' |
|
Matt Doherty | 0.07 | Set Piece | Right Foot | Blocked Shot | João Gomes |
| 44' |
|
Matt Doherty | 0.10 | Set Piece | Right Foot | Blocked Shot | — |
| 53' |
|
Tomas Soucek | 0.01 | From Corner | — | Goal | Jarrod Bowen |
| 56' |
|
Matheus Cunha | 0.02 | Open Play | Right Foot | Missed Shot | Toti |
| 59' |
|
Jarrod Bowen | 0.08 | Open Play | Left Foot | Missed Shot | Crysencio Summerville |
| 64' |
|
Mohammed Kudus | 0.01 | Set Piece | Left Foot | Missed Shot | — |
| 66' |
|
Gonçalo Guedes | 0.10 | Open Play | Right Foot | Missed Shot | Matheus Cunha |
| 67' |
|
Matt Doherty | 0.07 | Open Play | Right Foot | Blocked Shot | — |
| 68' |
|
Matt Doherty | 0.37 | Open Play | Left Foot | Goal | Rayan Ait Nouri |
| 71' |
|
Crysencio Summerville | 0.04 | Set Piece | Right Foot | Blocked Shot | — |
| 71' |
|
Jarrod Bowen | 0.03 | Set Piece | Left Foot | Goal | Mohammed Kudus |
| 78' |
|
Gonçalo Guedes | 0.01 | Open Play | Right Foot | Saved Shot | Matheus Cunha |
| 79' |
|
Mario Lemina | 0.06 | Open Play | Right Foot | Saved Shot | Matheus Cunha |
| 82' |
|
Tommy Doyle | 0.09 | Open Play | Left Foot | Missed Shot | Matheus Cunha |
| 92' |
|
Tomas Soucek | 0.11 | Set Piece | — | Missed Shot | Aaron Cresswell |
| 95' |
|
Mario Lemina | 0.02 | Set Piece | — | Missed Shot | Tommy Doyle |
| 97' |
|
Jean-Ricner Bellegarde | 0.02 | Open Play | — | Blocked Shot | Gonçalo Guedes |
| 97' |
|
Jean-Ricner Bellegarde | 0.07 | Open Play | Right Foot | Missed Shot | — |
| 98' |
|
Lucas Paquetá | 0.01 | Open Play | Left Foot | Blocked Shot | — |
Players
West Ham United
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Jarrod Bowen FW | 90 | 1 | 1 | 3 | 3 | 0.45 | 0.08 | 0.50 |
| Konstantinos Mavropanos DC | 90 | 0 | 0 | 2 | 0 | 0.16 | 0.00 | 0.18 |
| Tomas Soucek DMC | 90 | 1 | 0 | 3 | 0 | 0.13 | 0.00 | 0.22 |
| Max Kilman DC | 90 | 0 | 0 | 2 | 1 | 0.10 | 0.14 | 0.16 |
| Aaron Wan-Bissaka DR | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.09 | 0.09 |
| Lukasz Fabianski GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Edson Álvarez DMC | 89 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Emerson DL | 89 | 0 | 0 | 0 | 1 | 0.00 | 0.01 | 0.08 |
| Mohammed Kudus AMR | 88 | 0 | 1 | 3 | 1 | 0.08 | 0.03 | 0.18 |
| Crysencio Summerville AML | 74 | 0 | 0 | 3 | 4 | 0.14 | 0.27 | 0.28 |
| Carlos Soler AMC | 65 | 0 | 0 | 2 | 0 | 0.12 | 0.00 | 0.10 |
| Lucas Paquetá Sub | 25 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.01 |
| Danny Ings Sub | 16 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Guido Rodríguez Sub | 2 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Aaron Cresswell Sub | 1 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.00 |
| Jean-Clair Todibo Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Wolverhampton Wanderers
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Matt Doherty DMR | 90 | 1 | 0 | 4 | 1 | 0.61 | 0.32 | 1.03 |
| Mario Lemina MC | 90 | 0 | 0 | 4 | 1 | 0.12 | 0.02 | 0.13 |
| Matheus Cunha AMC | 90 | 0 | 0 | 2 | 4 | 0.04 | 0.26 | 0.61 |
| Nélson Semedo DC | 90 | 0 | 0 | 1 | 1 | 0.03 | 0.01 | 0.98 |
| Santiago Bueno DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.41 |
| Sam Johnstone GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.74 |
| Toti DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.39 |
| Rayan Ait Nouri DML | 87 | 0 | 1 | 1 | 2 | 0.04 | 0.40 | 0.89 |
| João Gomes AMC | 79 | 0 | 0 | 2 | 2 | 0.36 | 0.11 | 0.51 |
| André MC | 63 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.10 |
| Jørgen Strand Larsen FW | 63 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.32 |
| Gonçalo Guedes Sub | 27 | 0 | 0 | 2 | 1 | 0.11 | 0.02 | 0.50 |
| Jean-Ricner Bellegarde Sub | 27 | 0 | 0 | 2 | 0 | 0.09 | 0.00 | 0.61 |
| Tommy Doyle Sub | 11 | 0 | 0 | 1 | 1 | 0.09 | 0.02 | 0.11 |
| Rodrigo Gomes Sub | 3 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |