Championship xG difference 2026/2027
Championship clubs ranked by xG difference (xGD) per match in 2026/2027: the expected goals each side creates less those it allows. Middlesbrough currently lead, +1.00 xGD per match across 11 matches.
Showing non-penalty xG. Penalties are removed from the expected-goal columns; goals, G − xG and the rates taken from goals are unchanged.
-
Best attack
1.99 Middlesbrough
21.94 xG in 11 matches
-
Best defence
0.91 Wolverhampton
10.00 xGA in 11 matches
-
Widest xG difference
+1.00 Middlesbrough
+11.04 xGD in 11 matches
Attack and defence
Middlesbrough
P 11 · Pts 22 · 3rd
xG/match 1.99 · xGA/match 0.99 · xGD/match +1.00
xPts 22.37
Open MiddlesbroughWest Ham United
P 11 · Pts 22 · 2nd
xG/match 1.89 · xGA/match 0.99 · xGD/match +0.90
xPts 20.78
Open West Ham UnitedWolverhampton
P 11 · Pts 18 · 8th
xG/match 1.55 · xGA/match 0.91 · xGD/match +0.64
xPts 20.93
Open WolverhamptonSwansea City
P 11 · Pts 23 · 1st
xG/match 1.57 · xGA/match 1.00 · xGD/match +0.57
xPts 17.90
Open Swansea CityMillwall
P 11 · Pts 15 · 12th
xG/match 1.76 · xGA/match 1.22 · xGD/match +0.54
xPts 18.48
Open MillwallSouthampton
P 11 · Pts 21 · 4th
xG/match 1.62 · xGA/match 1.11 · xGD/match +0.51
xPts 19.02
Open SouthamptonBirmingham City
P 11 · Pts 20 · 5th
xG/match 1.62 · xGA/match 1.18 · xGD/match +0.44
xPts 19.30
Open Birmingham CityQueens Park Rangers
P 11 · Pts 17 · 9th
xG/match 1.41 · xGA/match 1.17 · xGD/match +0.24
xPts 17.76
Open Queens Park RangersCardiff City
P 11 · Pts 11 · 19th
xG/match 1.67 · xGA/match 1.45 · xGD/match +0.22
xPts 16.60
Open Cardiff CityPortsmouth
P 11 · Pts 15 · 13th
xG/match 1.19 · xGA/match 1.08 · xGD/match +0.11
xPts 16.60
Open PortsmouthBristol City
P 11 · Pts 14 · 16th
xG/match 1.22 · xGA/match 1.16 · xGD/match +0.06
xPts 15.84
Open Bristol CityWrexham
P 11 · Pts 14 · 14th
xG/match 1.10 · xGA/match 1.09 · xGD/match +0.00
xPts 15.39
Open WrexhamLincoln City
P 11 · Pts 12 · 18th
xG/match 1.06 · xGA/match 1.31 · xGD/match −0.25
xPts 15.09
Open Lincoln CityWest Bromwich Albion
P 11 · Pts 20 · 6th
xG/match 1.10 · xGA/match 1.36 · xGD/match −0.26
xPts 13.70
Open West Bromwich AlbionPreston North End
P 11 · Pts 4 · 24th
xG/match 1.13 · xGA/match 1.42 · xGD/match −0.29
xPts 13.16
Open Preston North EndCharlton Athletic
P 11 · Pts 14 · 17th
xG/match 1.04 · xGA/match 1.33 · xGD/match −0.29
xPts 11.02
Open Charlton AthleticNorwich City
P 11 · Pts 9 · 21st
xG/match 1.26 · xGA/match 1.57 · xGD/match −0.31
xPts 13.86
Open Norwich CityBurnley
P 11 · Pts 8 · 22nd
xG/match 1.10 · xGA/match 1.42 · xGD/match −0.32
xPts 11.60
Open BurnleySheffield United
P 11 · Pts 15 · 11th
xG/match 0.99 · xGA/match 1.36 · xGD/match −0.36
xPts 11.77
Open Sheffield UnitedBolton Wanderers
P 11 · Pts 14 · 15th
xG/match 1.19 · xGA/match 1.71 · xGD/match −0.52
xPts 12.62
Open Bolton WanderersBlackburn Rovers
P 11 · Pts 15 · 10th
xG/match 0.88 · xGA/match 1.40 · xGD/match −0.52
xPts 9.75
Open Blackburn RoversWatford
P 11 · Pts 11 · 20th
xG/match 1.02 · xGA/match 1.71 · xGD/match −0.69
xPts 9.65
Open WatfordDerby County
P 11 · Pts 6 · 23rd
xG/match 0.88 · xGA/match 1.59 · xGD/match −0.71
xPts 11.78
Open Derby CountyStoke City
P 11 · Pts 19 · 7th
xG/match 0.77 · xGA/match 1.49 · xGD/match −0.72
xPts 10.05
Open Stoke City| Club | xG/match | xGA/match | xGD/match |
|---|---|---|---|
| Middlesbrough MID | 1.99 | 0.99 | +1.00 |
| West Ham United WHU | 1.89 | 0.99 | +0.90 |
| Wolverhampton WOL | 1.55 | 0.91 | +0.64 |
| Swansea City SWA | 1.57 | 1.00 | +0.57 |
| Millwall MIL | 1.76 | 1.22 | +0.54 |
| Southampton SOU | 1.62 | 1.11 | +0.51 |
| Birmingham City BIR | 1.62 | 1.18 | +0.44 |
| Queens Park Rangers QUE | 1.41 | 1.17 | +0.24 |
| Cardiff City CAR | 1.67 | 1.45 | +0.22 |
| Portsmouth POR | 1.19 | 1.08 | +0.11 |
| Bristol City BRI | 1.22 | 1.16 | +0.06 |
| Wrexham WRE | 1.10 | 1.09 | +0.00 |
| Lincoln City LIN | 1.06 | 1.31 | −0.25 |
| West Bromwich Albion WES | 1.10 | 1.36 | −0.26 |
| Preston North End PRE | 1.13 | 1.42 | −0.29 |
| Charlton Athletic CHA | 1.04 | 1.33 | −0.29 |
| Norwich City NOR | 1.26 | 1.57 | −0.31 |
| Burnley BUR | 1.10 | 1.42 | −0.32 |
| Sheffield United SHE | 0.99 | 1.36 | −0.36 |
| Bolton Wanderers BOL | 1.19 | 1.71 | −0.52 |
| Blackburn Rovers BLA | 0.88 | 1.40 | −0.52 |
| Watford WAT | 1.02 | 1.71 | −0.69 |
| Derby County DER | 0.88 | 1.59 | −0.71 |
| Stoke City STO | 0.77 | 1.49 | −0.72 |
- Top 3 in the table
- Other clubs
- Above average at both ends
- Below average at both ends
Non-penalty xG. Hover, focus or tap a dot for its figures.
Ranked on xG difference per match
- Creates more than it allows
- Allows more than it creates
| # | Team | P | npxG | npxGA | npxGD | npxGD/match | Pts |
|---|---|---|---|---|---|---|---|
| 1 | Middlesbrough MID | 11 | 21.94 | 10.90 | +11.04 | +1.00 | 22 |
| 2 | West Ham United WHU | 11 | 20.83 | 10.94 | +9.89 | +0.90 | 22 |
| 3 | Wolverhampton WOL | 11 | 17.04 | 10.00 | +7.04 | +0.64 | 18 |
| 4 | Swansea City SWA | 11 | 17.27 | 11.00 | +6.27 | +0.57 | 23 |
| 5 | Millwall MIL | 11 | 19.35 | 13.42 | +5.93 | +0.54 | 15 |
| 6 | Southampton SOU | 11 | 17.82 | 12.20 | +5.62 | +0.51 | 21 |
| 7 | Birmingham City BIR | 11 | 17.80 | 12.94 | +4.86 | +0.44 | 20 |
| 8 | Queens Park Rangers QUE | 11 | 15.48 | 12.89 | +2.59 | +0.24 | 17 |
| 9 | Cardiff City CAR | 11 | 18.34 | 15.90 | +2.44 | +0.22 | 11 |
| 10 | Portsmouth POR | 11 | 13.11 | 11.90 | +1.21 | +0.11 | 15 |
| 11 | Bristol City BRI | 11 | 13.43 | 12.81 | +0.62 | +0.06 | 14 |
| 12 | Wrexham WRE | 11 | 12.06 | 12.02 | +0.04 | +0.00 | 14 |
| 13 | Lincoln City LIN | 11 | 11.71 | 14.44 | −2.73 | −0.25 | 12 |
| 14 | West Bromwich Albion WES | 11 | 12.10 | 14.94 | −2.84 | −0.26 | 20 |
| 15 | Preston North End PRE | 11 | 12.43 | 15.57 | −3.14 | −0.29 | 4 |
| 15 | Charlton Athletic CHA | 11 | 11.41 | 14.61 | −3.20 | −0.29 | 14 |
| 17 | Norwich City NOR | 11 | 13.86 | 17.25 | −3.39 | −0.31 | 9 |
| 18 | Burnley BUR | 11 | 12.15 | 15.66 | −3.51 | −0.32 | 8 |
| 19 | Sheffield United SHE | 11 | 10.90 | 14.91 | −4.01 | −0.36 | 15 |
| 20 | Bolton Wanderers BOL | 11 | 13.12 | 18.81 | −5.69 | −0.52 | 14 |
| 20 | Blackburn Rovers BLA | 11 | 9.66 | 15.36 | −5.70 | −0.52 | 15 |
| 22 | Watford WAT | 11 | 11.26 | 18.83 | −7.57 | −0.69 | 11 |
| 23 | Derby County DER | 11 | 9.70 | 17.53 | −7.83 | −0.71 | 6 |
| 24 | Stoke City STO | 11 | 8.49 | 16.43 | −7.94 | −0.72 | 19 |
What the data shows
- Middlesbrough are 0.10 xGD per match clear of West Ham United, in second.
Goals against chances made
Most goals above xG
Goals against chances allowed
Most conceded above xGA
Fewest conceded against xGA
A gap can come from finishing, goalkeeping, game state or chance. xG and xPts are model estimates, not the result a team deserved.
About these figures What each column measures, and the thresholds this ranking is under. Show Hide
- P
- — Matches played
- npxG
- — Non-penalty expected goals: xG with penalties removed
- npxGA
- — Non-penalty expected goals against: xGA with penalties removed
- npxGD
- — npxG minus npxGA
- npxGD/match
- — npxG minus npxGA, per match with xG data
- Pts
- — Points
A club is ranked once it has 3 matches with xG and at least 75% of what the median club has played. Below that its row stays in the table, its rates are dashed and it sorts last.