xgEdge

Expected goals

Cardiff City expected goals (xG) 2026/2027

Championship · after 11 matches · updated 21 Oct

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

Cardiff City xG and xGA per match

Every match ↓
Attack
1.88 xG per match
#3/24
Attack (xG per match) across Championship, best first
Rank Club xG per match
#1 West Ham United 2.16
#2 Middlesbrough 1.98
#3 Cardiff City 1.88
#4 Millwall 1.85
#5 Southampton 1.83
#6 Birmingham City 1.77
#7 Wolverhampton 1.71
#8 Swansea City 1.60
#9 Queens Park Rangers 1.50
#10 Norwich City 1.47
#11 Bolton Wanderers 1.40
#12 Portsmouth 1.35
#13 Bristol City 1.32
#14 West Bromwich Albion 1.29
#15 Lincoln City 1.25
#16 Preston North End 1.24
#17 Burnley 1.23
#18 Watford 1.13
#19 Wrexham 1.12
#20 Sheffield United 1.06
#21 Charlton Athletic 1.00
#22 Blackburn Rovers 0.98
#23 Derby County 0.96
#24 Stoke City 0.90
League avg
1.42
Total
20.65 11 matches
Defence
1.63 xGA per match
#19/24
Defence (xGA per match) across Championship, best first
Rank Club xGA per match
#1 Wolverhampton 0.99
#2 Middlesbrough 1.02
#3 Swansea City 1.14
#4 Portsmouth 1.17
=5 West Ham United 1.18
=5 Wrexham 1.18
#7 Queens Park Rangers 1.20
#8 Birmingham City 1.23
#9 Southampton 1.31
#10 Bristol City 1.35
#11 Millwall 1.37
#12 Lincoln City 1.37
#13 West Bromwich Albion 1.44
#14 Preston North End 1.46
#15 Sheffield United 1.49
#16 Charlton Athletic 1.57
#17 Norwich City 1.60
#18 Burnley 1.62
#19 Cardiff City 1.63
#20 Derby County 1.65
#21 Bolton Wanderers 1.69
#22 Stoke City 1.71
#23 Blackburn Rovers 1.72
#24 Watford 1.88
League avg
1.42
Total
17.93 11 matches
xG difference
+0.25 xGD per match
#9/24
xG difference (xGD per match) across Championship, best first
Rank Club xGD per match
#1 West Ham United +0.99
#2 Middlesbrough +0.96
#3 Wolverhampton +0.73
#4 Birmingham City +0.53
#5 Southampton +0.53
#6 Millwall +0.48
#7 Swansea City +0.46
#8 Queens Park Rangers +0.30
#9 Cardiff City +0.25
#10 Portsmouth +0.18
#11 Bristol City -0.03
#12 Wrexham -0.05
#13 Lincoln City -0.13
#14 Norwich City -0.14
#15 West Bromwich Albion -0.15
#16 Preston North End -0.22
#17 Bolton Wanderers -0.30
#18 Burnley -0.40
#19 Sheffield United -0.43
#20 Charlton Athletic -0.57
#21 Derby County -0.69
#22 Blackburn Rovers -0.74
#23 Watford -0.75
#24 Stoke City -0.81
League avg
0.00
Total
+2.72 11 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.51 xPts per match
#9/24
Expected points (xPts per match) across Championship, best first
Rank Club xPts per match
#1 Middlesbrough 2.03
#2 Wolverhampton 1.90
#3 West Ham United 1.89
#4 Birmingham City 1.75
#5 Southampton 1.73
#6 Millwall 1.68
#7 Swansea City 1.63
#8 Queens Park Rangers 1.61
#9 Cardiff City 1.51
#10 Portsmouth 1.51
#11 Bristol City 1.44
#12 Wrexham 1.40
#13 Lincoln City 1.37
#14 Norwich City 1.26
#15 West Bromwich Albion 1.25
#16 Preston North End 1.20
#17 Bolton Wanderers 1.15
#18 Derby County 1.07
#19 Sheffield United 1.07
#20 Burnley 1.05
#21 Charlton Athletic 1.00
#22 Stoke City 0.91
#23 Blackburn Rovers 0.89
#24 Watford 0.88
League avg
1.38
Total
16.60 vs 11 actual pts

What the xG says

Cardiff City's underlying numbers sit close to the Championship average. They rank #9 for xG difference at +0.25 per match, driven by elite shot volume at about average chance quality. Their 18 goals are 2.65 below 20.65 xG, while 11 points are 5.60 below 16.60 xPts.

Actual vs expected

Measure Actual Expected Difference Reading
Goals vs xG Includes 2.31 xG from penalties
18 20.65 -2.65 scored 2.65 fewer than xG within normal variance
17 17.93 -0.93 conceded 0.93 fewer than xGA within normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

Cardiff City are 2.65 goals below their xG after 11 matches. The gap was widest at -5.48, against Bolton Wanderers on Sat 12/09.

Goals
18
xG
20.65
Gap
-2.65
Mon 17/08 Sat 22/08 Sat 29/08 Wed 02/09 Sat 05/09 Tue 08/09 Sat 12/09 Sat 19/09 Sat 10/10 Tue 13/10 Sat 17/10 -6 -5 -4 -3 -2 -1 0 +1 +0.10 +0.12 -0.12 +0.28 -1.09 -3.69 -5.48 -5.08 -5.13 -3.80 -2.65 +0.10 +0.02 -0.24 +0.40 -1.37 -2.60 -1.79 +0.40 -0.05 +1.33 +1.15 Running gap goals − xG Each match goals − xG
Cardiff City: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Mon 17/08 Wrexham 1 0.90 +0.10 +0.10
Sat 22/08 Derby County 2 1.98 +0.02 +0.12
Sat 29/08 Sheffield United 2 2.24 -0.24 -0.12
Wed 02/09 Queens Park Rangers 1 0.60 +0.40 +0.28
Sat 05/09 Portsmouth 0 1.37 -1.37 -1.09
Tue 08/09 Stoke City 1 3.60 -2.60 -3.69
Sat 12/09 Bolton Wanderers 0 1.79 -1.79 -5.48
Sat 19/09 Charlton Athletic 3 2.60 +0.40 -5.08
Sat 10/10 Blackburn Rovers 1 1.05 -0.05 -5.13
Tue 13/10 Watford 5 3.67 +1.33 -3.80
Sat 17/10 Middlesbrough 2 0.85 +1.15 -2.65

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

Cardiff City xG trend

Current form +0.53 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 6 of 11 matches. The worst was against Middlesbrough on Sat 17/10 (-1.86).

npxG · last 6
1.87
npxGA · last 6
1.34
-2 -1 0 +1 +2 -0.64 Mon 17/08 +0.51 Sat 22/08 +1.56 Sat 29/08 -1.49 Wed 02/09 -0.67 Sat 05/09 +1.97 Tue 08/09 +1.40 Sat 12/09 +1.66 Sat 19/09 -0.71 Sat 10/10 +0.71 Tue 13/10 -1.86 Sat 17/10 +0.22 season avg
Cardiff City: 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
Mon 17/08 Wrexham 0.91 1.55 -0.64 -0.64
Sat 22/08 Derby County 2.13 1.62 +0.51 -0.06
Sat 29/08 Sheffield United 2.30 0.74 +1.56 +0.48
Wed 02/09 Queens Park Rangers 0.60 2.09 -1.49 -0.02
Sat 05/09 Portsmouth 1.21 1.88 -0.67 -0.15
Tue 08/09 Stoke City 2.72 0.75 +1.97 +0.21
Sat 12/09 Bolton Wanderers 1.82 0.42 +1.40 +0.38
Sat 19/09 Charlton Athletic 2.70 1.04 +1.66 +0.54
Sat 10/10 Blackburn Rovers 1.00 1.71 -0.71 +0.40
Tue 13/10 Watford 2.10 1.39 +0.71 +0.43
Sat 17/10 Middlesbrough 0.85 2.71 -1.86 +0.22

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.67 npxG and 1.45 npxGA per match. Current form is the same difference over the last 6 matches with xG.

Form ranking →

Strength of schedule

Season so far
number 23 hardest of 24 in Championship
−0.10 xG vs league average
Over 11 league matches
Last 5
number 20 hardest of 24 in Championship
−0.08 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

−0.10 xG vs league average · over 11 matches · number 23 hardest of 24

  1. Middlesbrough Away +0.74
  2. Watford Home −0.39
  3. Blackburn Rovers Away −0.33
  4. Charlton Athletic Home −0.40
  5. Bolton Wanderers Away −0.05
  6. Stoke City Home −0.44
  7. Portsmouth Away +0.11
  8. Queens Park Rangers Away +0.20
  9. Sheffield United Home −0.31
  10. Derby County Away −0.21
  11. Wrexham Home −0.05

Last 5

−0.08 xG vs league average · over 5 matches · number 20 hardest of 24

  1. Middlesbrough Away +0.74
  2. Watford Home −0.39
  3. Blackburn Rovers Away −0.33
  4. Charlton Athletic Home −0.40
  5. Bolton Wanderers Away −0.05

League schedule strength → How this is calculated →

Cardiff City shots and chance quality

High volume, average quality. Cardiff City take 17.2 shots a match (league 13.5) at 0.10 npxG a shot (league 0.10), #2 in Championship for volume and #9 for quality. 69% of their shots come from inside the box (league 67%), and set pieces produce 20% of their npxG (league 28%).

Attack

Shot volume
17.2 shots per match
#2/24
Shot volume (shots per match) across Championship, best first
Rank Club shots per match
#1 Middlesbrough 19.1
#2 Cardiff City 17.2
#3 West Ham United 16.3
#4 Wolverhampton 16.2
#5 Portsmouth 15.3
#6 Southampton 15.2
#7 Queens Park Rangers 15.1
=8 Burnley 14.3
=8 Millwall 14.3
#10 Bristol City 14.0
#11 Norwich City 13.9
#12 Bolton Wanderers 13.8
#13 Birmingham City 13.7
#14 Watford 13.0
#15 Derby County 12.7
=16 Preston North End 12.1
=16 Swansea City 12.1
=18 Lincoln City 11.5
=18 West Bromwich Albion 11.5
=20 Stoke City 11.4
=20 Wrexham 11.4
#22 Blackburn Rovers 11.2
#23 Charlton Athletic 10.2
#24 Sheffield United 9.4
League avg
13.5
Total
189 shots from 11 matches
Chance quality
0.10 npxG per shot
#9/24
Chance quality (npxG per shot) across Championship, best first
Rank Club npxG per shot
#1 Swansea City 0.13
#2 Millwall 0.12
#3 Birmingham City 0.12
#4 West Ham United 0.12
#5 Southampton 0.11
#6 Sheffield United 0.11
#7 Middlesbrough 0.10
#8 Charlton Athletic 0.10
#9 Cardiff City 0.10
#10 Wrexham 0.10
#11 Wolverhampton 0.10
#12 West Bromwich Albion 0.10
#13 Preston North End 0.09
#14 Queens Park Rangers 0.09
#15 Lincoln City 0.09
#16 Norwich City 0.09
#17 Bristol City 0.09
#18 Bolton Wanderers 0.09
#19 Watford 0.08
#20 Blackburn Rovers 0.08
#21 Portsmouth 0.08
#22 Burnley 0.08
#23 Derby County 0.07
#24 Stoke City 0.07
League avg
0.10
Total
18.34 npxG from 189 shots

Defence

Shots allowed
15.1 shots per match
#17/24
Shots allowed (shots per match) across Championship, best first
Rank Club shots per match
#1 Swansea City 10.8
#2 Wolverhampton 10.9
=3 Middlesbrough 11.0
=3 Portsmouth 11.0
=5 West Bromwich Albion 11.5
=5 West Ham United 11.5
#7 Wrexham 11.6
=8 Birmingham City 11.7
=8 Queens Park Rangers 11.7
#10 Bristol City 12.0
#11 Norwich City 12.5
#12 Bolton Wanderers 12.8
#13 Millwall 13.5
#14 Burnley 14.1
#15 Derby County 14.2
#16 Southampton 14.7
#17 Cardiff City 15.1
#18 Preston North End 15.8
=19 Sheffield United 15.9
=19 Watford 15.9
#21 Stoke City 16.2
#22 Lincoln City 16.4
#23 Blackburn Rovers 16.8
#24 Charlton Athletic 17.1
League avg
13.5
Total
166 shots allowed from 11 matches
Chance quality allowed
0.10 npxGA per shot
#14/24
Chance quality allowed (npxGA per shot) across Championship, best first
Rank Club npxGA per shot
#1 Southampton 0.08
#2 Charlton Athletic 0.08
#3 Lincoln City 0.08
#4 Blackburn Rovers 0.08
#5 Wolverhampton 0.08
#6 Sheffield United 0.09
#7 West Ham United 0.09
#8 Preston North End 0.09
#9 Millwall 0.09
#10 Middlesbrough 0.09
#11 Stoke City 0.09
#12 Swansea City 0.09
#13 Wrexham 0.09
#14 Cardiff City 0.10
#15 Bristol City 0.10
#16 Portsmouth 0.10
#17 Queens Park Rangers 0.10
#18 Birmingham City 0.10
#19 Burnley 0.10
#20 Watford 0.11
#21 Derby County 0.11
#22 West Bromwich Albion 0.12
#23 Norwich City 0.13
#24 Bolton Wanderers 0.13
League avg
0.10
Total
15.90 npxGA from 166 shots

Shot profile

Shot location

69% inside the box

League avg 67%

From 130 of 189 shots over 11 matches

Shots allowed, location

71% allowed inside the box

League avg 67%

From 118 of 166 shots allowed over 11 matches

Where the npxG comes from

80% open play · 20% set pieces

League avg 28% set pieces

From 3.6 of 18.3 npxG over 11 matches

Where the npxG allowed comes from

81% open play · 19% set pieces

League avg 28% set pieces

From 3.0 of 15.9 npxG allowed over 11 matches

Cardiff City home and away xG

Cardiff City per-match figures at home and away
Measure Home Away
Matches 5 6
xG / match 2.60 1.27
xGA / match 1.31 1.90
xGD / match +1.29 -0.63
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 2.10 1.02

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

Every Cardiff City match by xG

Window
Season Last 10 Last 5
Venue

Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.00. 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 →

Cardiff City 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 →