xgEdge

Squad

West Ham United squad 2026/2027

Championship · 12 matches played

West Ham United's 2026/2027 squad, ranked by minutes played. Compare goals, assists, xG, xA and expected goal involvement across the squad.

Top scorer 6 Jarrod Bowen · from 5.74 xG
Most xG 5.74 Jarrod Bowen · 6 goals
Most xA 4.19 Jarrod Bowen · 5 assists
Most xGI 9.93 Jarrod Bowen · 5.74 xG + 4.19 xA

What the squad numbers say

Jarrod Bowen leads the squad both for expected goal involvement, with 9.93, and for goals, with 6 goals from 5.74 expected goals. Tomáš Souček has 1.11 expected goal involvement from 108 minutes, which is more per 90 than any player with the minutes to be rated. The widest gap between goals and expected goals in the squad is Konstantinos Mavropanos's: 5 goals against 2.88 expected goals, +2.12 above them.

Expected goals

  1. 1 Jarrod Bowen 5.74
  2. 2 Joël Piroe 3.40

Expected assists

  1. 1 Jarrod Bowen 4.19
  2. 2 Manor Solomon 2.49
  3. 3 Arne Engels 2.39

Expected goal involvement

  1. 1 Jarrod Bowen 9.93
  2. 2 Manor Solomon 4.43

Goals above xG

5 goals · 2.88 xG

Goals below xG

1 goal · 2.95 xG

Taken over players with at least 180 minutes and 2.00 expected goals, so the gap is measured against chances actually taken rather than against one afternoon of them.

The squad

Every player with a season at this club: appearances, starts, minutes, goals, assists and the chances behind them.
Player POS APP MIN xG/90 npxG/90 xA/90 xGI/90
Mads Hermansen Goalkeeper 12 1080 0.00 0.00 0.00 0.00
Max Kilman Defender 12 1080 0.05 0.05 0.03 0.08
Jarrod Bowen Midfielder 12 1070 0.48 0.38 0.35 0.84
Arne Engels Midfielder 11 957 0.04 0.04 0.22 0.26
Konstantinos Mavropanos Defender 11 938 0.28 0.29 0.02 0.30
Manor Solomon Forward 12 910 0.19 0.19 0.25 0.44
Valentín Castellanos Forward 11 788 0.34 0.24 0.14 0.48
Divine Mukasa Midfielder 10 683 0.13 0.14 0.06 0.20
Kyle Walker-Peters Defender 10 627 0.01 0.01 0.11 0.11
Mohamadou Kanté Midfielder 11 615 0.32 0.29 0.19 0.51
Joël Piroe Forward 11 537 0.57 0.57 0.09 0.66
Oliver Scarles Defender 8 484 0.00 0.00 0.09 0.09
Joël Veltman Defender 9 461 0.01 0.01 0.10 0.10
Pablo Felipe Forward 8 448 0.27 0.24 0.10 0.36
Morato Defender 8 439 0.02 0.02 0.17 0.19
Lewis Orford Midfielder 8 242 — — — —
Edvin Austbø Forward 8 231 — — — —
Airidas Golambeckis Defender 2 122 — — — —
Tomáš Souček Midfielder 4 108 — — — —
James Ward-Prowse Midfielder 1 45 — — — —
Keiber Lamadrid Midfielder 1 21 — — — —
Adama Boiro Defender 1 13 — — — —
El Hadji Malick Diouf Defender 1 10 — — — —
Joshua Ajala Forward 1 9 — — — —
Alphonse Aréola Goalkeeper — — — — — —
Ezra Mayers Defender — — — — — —
Finlay Herrick Goalkeeper — — — — — —
George Earthy Midfielder — — — — — —
Josh Landers Forward — — — — — —
Kaelan Casey Defender — — — — — —
Soungoutou Magassa Midfielder — — — — — —

Rates per ninety minutes are shown for a player with at least 270 minutes behind him — the control above moves that floor, and it moves nothing else. Minutes share is a player's minutes against the 12 matches this club has played in this competition, at ninety minutes each. Expected goals, non-penalty expected goals and expected assists are summed from this competition's per-match feed, so a player it holds no figures for carries a dash rather than a nought.

About the data

Where these figures come from, and what they leave out

Data source
Where the per-match feed covers Championship, every figure on a row — appearances, starts, minutes, goals, assists, shots, and the expected goals, expected assists and non-penalty expected goals beside them — is summed from it over the matches he played for this club. Where it does not, the counts are the provider's season line. Championship only — no figure here adds two competitions together.
Calculated by xgEdge
xGI, the per-90 rates, goals minus expected goals, xGI share and minutes share are worked out here from those figures. Nothing on this page is a model's output.
Missing data
A dash means a figure was not measured; a nought means it was measured and came to nothing. Per-90 figures are hidden below the minimum-minutes setting, which opens at 270 and never removes a row.

How every figure on this site is made →

How the model works →