xgEdge

Expected goals

West Ham United expected goals (xG) 2026/2027

Championship · after 12 matches · updated 30 Oct

West Ham United's attacking and defensive expected goals in Championship 2026/2027, compared with the results they produced and with the rest of the competition.

West Ham United xG and xGA per match

Every match ↓
Attack
2.11 xG per match
#2/24
Attack (xG per match) across Championship, best first
Rank Club xG per match
#1 Middlesbrough 2.16
#2 West Ham United 2.11
#3 Cardiff City 1.92
#4 Southampton 1.81
#5 Millwall 1.75
#6 Wolverhampton 1.72
#7 Birmingham City 1.69
#8 Queens Park Rangers 1.65
#9 Swansea City 1.49
#10 Norwich City 1.48
#11 Bolton Wanderers 1.36
#12 West Bromwich Albion 1.35
#13 Burnley 1.32
#14 Portsmouth 1.31
#15 Lincoln City 1.30
#16 Preston North End 1.28
#17 Bristol City 1.27
#18 Sheffield United 1.18
#19 Wrexham 1.17
#20 Watford 1.05
#21 Blackburn Rovers 1.03
#22 Charlton Athletic 0.99
#23 Derby County 0.97
#24 Stoke City 0.88
League avg
1.43
Total
25.30 12 matches
Defence
1.21 xGA per match
#6/24
Defence (xGA per match) across Championship, best first
Rank Club xGA per match
#1 Wolverhampton 0.92
#2 Middlesbrough 1.02
#3 Queens Park Rangers 1.12
#4 Portsmouth 1.13
#5 Wrexham 1.21
#6 West Ham United 1.21
#7 Bristol City 1.29
#8 Swansea City 1.32
#9 Millwall 1.32
#10 Southampton 1.33
#11 Birmingham City 1.33
#12 Lincoln City 1.45
#13 Sheffield United 1.46
#14 West Bromwich Albion 1.47
#15 Preston North End 1.51
#16 Norwich City 1.53
#17 Cardiff City 1.57
#18 Charlton Athletic 1.58
#19 Stoke City 1.63
#20 Burnley 1.65
#21 Derby County 1.72
#22 Blackburn Rovers 1.72
#23 Watford 1.88
#24 Bolton Wanderers 1.90
League avg
1.43
Total
14.49 12 matches
xG difference
+0.90 xGD per match
#2/24
xG difference (xGD per match) across Championship, best first
Rank Club xGD per match
#1 Middlesbrough +1.15
#2 West Ham United +0.90
#3 Wolverhampton +0.81
#4 Queens Park Rangers +0.53
#5 Southampton +0.48
#6 Millwall +0.43
#7 Birmingham City +0.37
#8 Cardiff City +0.35
#9 Portsmouth +0.18
#10 Swansea City +0.17
#11 Bristol City -0.02
#12 Wrexham -0.04
#13 Norwich City -0.05
#14 West Bromwich Albion -0.12
#15 Lincoln City -0.15
#16 Preston North End -0.23
#17 Sheffield United -0.28
#18 Burnley -0.33
#19 Bolton Wanderers -0.55
#20 Charlton Athletic -0.60
#21 Blackburn Rovers -0.69
#22 Derby County -0.75
#23 Stoke City -0.75
#24 Watford -0.83
League avg
0.00
Total
+10.81 12 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.84 xPts per match
#3/24
Expected points (xPts per match) across Championship, best first
Rank Club xPts per match
#1 Middlesbrough 2.10
#2 Wolverhampton 1.97
#3 West Ham United 1.84
#4 Queens Park Rangers 1.72
#5 Southampton 1.70
#6 Birmingham City 1.64
#7 Millwall 1.63
#8 Cardiff City 1.58
#9 Portsmouth 1.51
#10 Swansea City 1.50
#11 Bristol City 1.44
#12 Wrexham 1.41
#13 Lincoln City 1.35
#14 Norwich City 1.33
#15 West Bromwich Albion 1.27
#16 Preston North End 1.19
#17 Sheffield United 1.17
#18 Burnley 1.11
#19 Bolton Wanderers 1.06
#20 Derby County 1.02
#21 Charlton Athletic 0.97
#22 Stoke City 0.94
#23 Blackburn Rovers 0.92
#24 Watford 0.82
League avg
1.38
Total
22.12 vs 22 actual pts

What the xG says

West Ham United's underlying numbers are among the best in Championship. They rank #2 for xG difference at +0.90 per match, driven by both elite shot volume and high chance quality. Their 32 goals are 6.70 above 25.30 xG, while 22 points are 0.12 below 22.12 xPts.

Actual vs expected

Measure Actual Expected Difference Reading
Goals vs xG Includes 2.95 xG from penalties
32 25.30 +6.70 scored 6.70 more than xG outside normal variance
15 14.49 +0.51 conceded 0.51 more than xGA within normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

West Ham United are 6.70 goals above their xG after 12 matches.

Goals
32
xG
25.30
Gap
+6.70
Sun 16/08 Sat 22/08 Sat 29/08 Tue 01/09 Sat 05/09 Tue 08/09 Fri 11/09 Sat 19/09 Fri 09/10 Wed 14/10 Sat 17/10 Sat 24/10 -2 0 +2 +4 +6 +0.67 -1.17 -1.06 +0.89 +0.10 +0.88 +3.92 +4.05 +3.61 +6.41 +6.22 +6.70 +0.67 -1.84 +0.11 +1.95 -0.79 +0.78 +3.04 +0.13 -0.44 +2.80 -0.19 +0.48 Running gap goals − xG Each match goals − xG
West Ham United: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sun 16/08 Burnley 2 1.33 +0.67 +0.67
Sat 22/08 Charlton Athletic 1 2.84 -1.84 -1.17
Sat 29/08 Watford 1 0.89 +0.11 -1.06
Tue 01/09 Wolverhampton 4 2.05 +1.95 +0.89
Sat 05/09 Derby County 3 3.79 -0.79 +0.10
Tue 08/09 Bolton Wanderers 3 2.22 +0.78 +0.88
Fri 11/09 Wrexham 6 2.96 +3.04 +3.92
Sat 19/09 Millwall 2 1.87 +0.13 +4.05
Fri 09/10 Queens Park Rangers 1 1.44 -0.44 +3.61
Wed 14/10 Lincoln City 6 3.20 +2.80 +6.41
Sat 17/10 Swansea City 1 1.19 -0.19 +6.22
Sat 24/10 Southampton 2 1.52 +0.48 +6.70

Goals vs xG ranking → Expected points ranking → Compare with every club in Europe →

West Ham United xG trend

Current form +0.60 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 9 of 12 matches. The worst was against Millwall on Sat 19/09 (-1.61).

npxG · last 6
1.88
npxGA · last 6
1.28
-2 -1 0 +1 +2 +3 +4 +0.01 Sun 16/08 +1.75 Sat 22/08 -0.57 Sat 29/08 +0.11 Tue 01/09 +3.36 Sat 05/09 +1.55 Tue 08/09 +2.12 Fri 11/09 -1.61 Sat 19/09 +0.17 Fri 09/10 +2.85 Wed 14/10 +0.15 Sat 17/10 -0.11 Sat 24/10 +0.82 season avg
West Ham United: non-penalty xG, xGA and their difference in each match, with the season's average so far
Date Opponent npxG npxGA npxGD Avg so far
Sun 16/08 Burnley 1.30 1.29 +0.01 +0.01
Sat 22/08 Charlton Athletic 2.32 0.57 +1.75 +0.88
Sat 29/08 Watford 0.74 1.31 -0.57 +0.40
Tue 01/09 Wolverhampton 0.98 0.87 +0.11 +0.32
Sat 05/09 Derby County 3.47 0.11 +3.36 +0.93
Tue 08/09 Bolton Wanderers 2.28 0.73 +1.55 +1.04
Fri 11/09 Wrexham 2.51 0.39 +2.12 +1.19
Sat 19/09 Millwall 1.40 3.01 -1.61 +0.84
Fri 09/10 Queens Park Rangers 1.44 1.27 +0.17 +0.77
Wed 14/10 Lincoln City 3.20 0.35 +2.85 +0.97
Sat 17/10 Swansea City 1.19 1.04 +0.15 +0.90
Sat 24/10 Southampton 1.52 1.63 -0.11 +0.82

Each bar is one match's non-penalty xG minus the non-penalty xG against; the line is that difference averaged over the season up to each match, and it finishes on the dashed season average — 1.86 npxG and 1.05 npxGA per match. Current form is the same difference over the last 6 matches with xG.

Form ranking →

Strength of schedule

Season so far
tied number 17 hardest of 24 in Championship
−0.03 xG vs league average
Over 12 league matches
Last 5
tied number 5 hardest of 24 in Championship
+0.13 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

−0.03 xG vs league average · over 12 matches · tied number 17 hardest of 24

  1. Southampton Home +0.22
  2. Swansea City Away +0.08
  3. Lincoln City Away −0.14
  4. Queens Park Rangers Home +0.24
  5. Millwall Away +0.26
  6. Wrexham Home −0.02
  7. Bolton Wanderers Away −0.13
  8. Derby County Home −0.29
  9. Wolverhampton Home +0.47
  10. Watford Away −0.44
  11. Charlton Athletic Home −0.45
  12. Burnley Away −0.13

Last 5

+0.13 xG vs league average · over 5 matches · tied number 5 hardest of 24

  1. Southampton Home +0.22
  2. Swansea City Away +0.08
  3. Lincoln City Away −0.14
  4. Queens Park Rangers Home +0.24
  5. Millwall Away +0.26

League schedule strength → How this is calculated →

West Ham United shots and chance quality

High volume, high quality. West Ham United take 17.3 shots a match (league 13.7) at 0.11 npxG a shot (league 0.10), #2 in Championship for volume and #5 for quality. 68% of their shots come from inside the box (league 67%), and set pieces produce 27% of their npxG (league 28%).

Attack

Shot volume
17.3 shots per match
#2/24
Shot volume (shots per match) across Championship, best first
Rank Club shots per match
#1 Middlesbrough 20.1
#2 West Ham United 17.3
#3 Cardiff City 17.1
#4 Wolverhampton 16.8
#5 Southampton 15.2
#6 Queens Park Rangers 14.8
#7 Portsmouth 14.6
#8 Norwich City 14.1
#9 Millwall 13.9
#10 Burnley 13.8
#11 Bolton Wanderers 13.7
#12 Bristol City 13.5
#13 Birmingham City 13.2
#14 Preston North End 12.7
#15 Derby County 12.6
=16 Lincoln City 12.3
=16 Wrexham 12.3
=18 Watford 12.3
=18 West Bromwich Albion 12.3
#20 Swansea City 11.8
#21 Blackburn Rovers 11.6
#22 Stoke City 11.3
#23 Sheffield United 10.7
#24 Charlton Athletic 10.0
League avg
13.7
Total
207 shots from 12 matches
Chance quality
0.11 npxG per shot
#5/24
Chance quality (npxG per shot) across Championship, best first
Rank Club npxG per shot
#1 Swansea City 0.12
#2 Millwall 0.12
#3 Birmingham City 0.12
#4 Middlesbrough 0.11
#5 West Ham United 0.11
#6 Southampton 0.11
#7 Sheffield United 0.11
#8 Charlton Athletic 0.10
#9 Queens Park Rangers 0.10
#10 Cardiff City 0.10
#11 West Bromwich Albion 0.10
#12 Preston North End 0.09
#13 Wolverhampton 0.09
#14 Wrexham 0.09
#15 Lincoln City 0.09
#16 Norwich City 0.09
#17 Bristol City 0.09
#18 Bolton Wanderers 0.09
#19 Burnley 0.08
#20 Blackburn Rovers 0.08
#21 Portsmouth 0.08
#22 Watford 0.08
#23 Derby County 0.07
#24 Stoke City 0.07
League avg
0.10
Total
22.35 npxG from 207 shots

Defence

Shots allowed
11.8 shots per match
#6/24
Shots allowed (shots per match) across Championship, best first
Rank Club shots per match
#1 Wolverhampton 10.3
=2 Portsmouth 10.9
=2 Swansea City 10.9
#4 Middlesbrough 11.1
#5 Queens Park Rangers 11.4
#6 West Ham United 11.8
#7 Bristol City 11.9
#8 Wrexham 12.0
=9 Birmingham City 12.1
=9 Norwich City 12.1
=9 West Bromwich Albion 12.1
#12 Millwall 13.0
#13 Bolton Wanderers 14.3
#14 Cardiff City 14.4
#15 Burnley 14.7
#16 Derby County 15.1
=17 Sheffield United 15.5
=17 Stoke City 15.5
#19 Lincoln City 15.7
#20 Southampton 15.8
#21 Preston North End 16.2
#22 Watford 16.6
#23 Charlton Athletic 17.0
#24 Blackburn Rovers 17.3
League avg
13.7
Total
141 shots allowed from 12 matches
Chance quality allowed
0.09 npxGA per shot
#8/24
Chance quality allowed (npxGA per shot) across Championship, best first
Rank Club npxGA per shot
#1 Southampton 0.07
#2 Charlton Athletic 0.08
#3 Wolverhampton 0.08
#4 Blackburn Rovers 0.08
#5 Lincoln City 0.09
#6 Sheffield United 0.09
#7 Middlesbrough 0.09
#8 West Ham United 0.09
#9 Millwall 0.09
#10 Preston North End 0.09
#11 Stoke City 0.09
#12 Wrexham 0.09
#13 Bristol City 0.09
#14 Queens Park Rangers 0.10
#15 Portsmouth 0.10
#16 Cardiff City 0.10
#17 Burnley 0.10
#18 Birmingham City 0.10
#19 Swansea City 0.10
#20 Watford 0.10
#21 Derby County 0.11
#22 West Bromwich Albion 0.12
#23 Norwich City 0.12
#24 Bolton Wanderers 0.13
League avg
0.10
Total
12.57 npxGA from 141 shots

Shot profile

Shot location

68% inside the box

League avg 67%

From 141 of 207 shots over 12 matches

Shots allowed, location

67% allowed inside the box

League avg 67%

From 95 of 141 shots allowed over 12 matches

Where the npxG comes from

73% open play · 27% set pieces

League avg 28% set pieces

From 5.8 of 21.6 npxG over 12 matches

Where the npxG allowed comes from

52% open play · 48% set pieces

League avg 28% set pieces

From 5.7 of 11.8 npxG allowed over 12 matches

West Ham United home and away xG

West Ham United per-match figures at home and away
Measure Home Away
Matches 6 6
xG / match 2.43 1.78
xGA / match 0.82 1.59
xGD / match +1.61 +0.19
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 2.26 1.43

Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.

Every West Ham United match by xG

Venue

Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.79. Best and weakest underlying mark the highest and lowest xGD once 5 matches have xG. Against the chances marks a win with xGD of −1.00 or lower, or a loss with +1.00 or higher. P marks a side with at least 0.50 xG from penalties.

Every result, all competitions →

West Ham United in Championship

Attack

Defence

About the data

xG data
Provided by TheStatsAPI, and stored as published.
Derived metrics
xGD, per-match rates, rankings and rolling averages are calculated from the match data.
Model metrics
xPts is produced by our probability model.

Learn how our xG analytics work →

How the model works →