Expected goals
Norwich City expected goals (xG) 2026/2027
Championship · after 12 matches · updated 29 Oct
Norwich City's attacking and defensive expected goals in Championship 2026/2027, compared with the results they produced and with the rest of the competition.
Norwich City xG and xGA per match
Every match ↓| 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
- 17.81 12 matches
| 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
- 18.41 12 matches
| 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
- -0.60 12 matches
| 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
- 15.96 vs 12 actual pts
What the xG says
Norwich City's underlying numbers sit close to the Championship average. They rank #13 for xG difference at -0.05 per match, from about average shot volume at about average chance quality. Their 20 goals are 2.19 above 17.81 xG, while 12 points are 3.96 below 15.96 xPts.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
Norwich City are 2.19 goals above their xG after 12 matches. The gap was widest at +2.24, against Swansea City on Sat 10/10.
- Goals
- 20
- xG
- 17.81
- Gap
- +2.19
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sat 15/08 | West Bromwich Albion | 1 | 2.96 | -1.96 | -1.96 |
| Sat 22/08 | Millwall | 0 | 1.02 | -1.02 | -2.98 |
| Sat 29/08 | Burnley | 4 | 2.30 | +1.70 | -1.28 |
| Tue 01/09 | Stoke City | 0 | 1.44 | -1.44 | -2.72 |
| Sat 05/09 | Sheffield United | 3 | 3.04 | -0.04 | -2.76 |
| Wed 09/09 | Birmingham City | 2 | 1.01 | +0.99 | -1.77 |
| Sat 12/09 | Middlesbrough | 3 | 1.62 | +1.38 | -0.39 |
| Sun 20/09 | Bolton Wanderers | 3 | 0.69 | +2.31 | +1.92 |
| Sat 10/10 | Swansea City | 1 | 0.68 | +0.32 | +2.24 |
| Wed 14/10 | Southampton | 0 | 1.07 | -1.07 | +1.17 |
| Sat 17/10 | Portsmouth | 0 | 0.29 | -0.29 | +0.88 |
| Sat 24/10 | Charlton Athletic | 3 | 1.69 | +1.31 | +2.19 |
Goals vs xG ranking → Expected points ranking → Compare with every club in Europe →
Norwich City xG trend
Current form -0.63 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 6 of 12 matches. The worst was against Millwall on Sat 22/08 (-1.91).
- npxG · last 6
- 1.00
- npxGA · last 6
- 1.63
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sat 15/08 | West Bromwich Albion | 2.82 | 1.47 | +1.35 | +1.35 |
| Sat 22/08 | Millwall | 1.20 | 3.11 | -1.91 | -0.28 |
| Sat 29/08 | Burnley | 1.92 | 0.95 | +0.97 | +0.14 |
| Tue 01/09 | Stoke City | 1.30 | 0.24 | +1.06 | +0.37 |
| Sat 05/09 | Sheffield United | 1.48 | 0.72 | +0.76 | +0.45 |
| Wed 09/09 | Birmingham City | 0.82 | 1.79 | -0.97 | +0.21 |
| Sat 12/09 | Middlesbrough | 1.62 | 2.07 | -0.45 | +0.12 |
| Sun 20/09 | Bolton Wanderers | 0.78 | 0.68 | +0.10 | +0.11 |
| Sat 10/10 | Swansea City | 0.55 | 2.17 | -1.62 | -0.08 |
| Wed 14/10 | Southampton | 1.08 | 2.86 | -1.78 | -0.25 |
| Sat 17/10 | Portsmouth | 0.29 | 1.19 | -0.90 | -0.31 |
| Sat 24/10 | Charlton Athletic | 1.69 | 0.79 | +0.90 | -0.21 |
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.30 npxG and 1.50 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- number 7 hardest of 24 in Championship
- +0.03 xG vs league average
- Over 12 league matches
- Last 5
- tied number 17 hardest of 24 in Championship
- −0.04 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
+0.03 xG vs league average · over 12 matches · number 7 hardest of 24
- Charlton Athletic Away −0.45
- Portsmouth Home +0.09
- Southampton Home +0.22
- Swansea City Away +0.08
- Bolton Wanderers Home −0.13
- Middlesbrough Away +0.87
- Birmingham City Home +0.18
- Sheffield United Away −0.23
- Stoke City Away −0.42
- Burnley Home −0.13
- Millwall Away +0.26
- West Bromwich Albion Home −0.02
Last 5
−0.04 xG vs league average · over 5 matches · tied number 17 hardest of 24
- Charlton Athletic Away −0.45
- Portsmouth Home +0.09
- Southampton Home +0.22
- Swansea City Away +0.08
- Bolton Wanderers Home −0.13
Norwich City shots and chance quality
Average volume, average quality. Norwich City take 14.1 shots a match (league 13.7) at 0.09 npxG a shot (league 0.10), #8 in Championship for volume and #16 for quality. 60% of their shots come from inside the box (league 67%), and set pieces produce 16% of their npxG (league 28%).
Attack
| 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
- 169 shots from 12 matches
| 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
- 15.55 npxG from 169 shots
Defence
| 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
- 145 shots allowed from 12 matches
| 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
- 18.04 npxGA from 145 shots
Shot profile
60% inside the box
League avg 67%
From 101 of 169 shots over 12 matches
71% allowed inside the box
League avg 67%
From 103 of 145 shots allowed over 12 matches
84% open play · 16% set pieces
League avg 28% set pieces
From 2.5 of 15.5 npxG over 12 matches
87% open play · 13% set pieces
League avg 28% set pieces
From 2.3 of 17.3 npxG allowed over 12 matches
Norwich City home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 6 | 6 |
| xG / match | 1.39 | 1.58 |
| xGA / match | 1.58 | 1.49 |
| xGD / match | -0.20 | +0.10 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 1.16 | 1.50 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every Norwich City match by xG
This season
- Matches
- 12
- xG / match
- 1.48
- xGA / match
- 1.53
- xGD / match
- -0.05
- Points
- 12 of 36
- Sat 24/10 Charlton Athletic A xG 1.69 xGA 0.79 xGD +0.90 xPts 2.10
- Sat 17/10 Portsmouth H xG 0.29 xGA 1.19 xGD -0.90 xPts 0.50
- Wed 14/10 Southampton H xG 1.07 xGA 2.34 xGD -1.27 xPts 0.54
- Sat 10/10 Swansea City A Weakest underlying xG 0.68 xGA 2.36 xGD -1.68 xPts 0.31
- Sun 20/09 Bolton Wanderers H xG 0.69 xGA 1.10 xGD -0.41 xPts 0.93
- Sat 12/09 Middlesbrough A xG 1.62 xGA 2.07 xGD -0.45 xPts 1.06
- Wed 09/09 Birmingham City H xG 1.01 xGA 1.63 xGD -0.62 xPts 0.87
- Sat 05/09 Sheffield United A Best underlying xG 3.04 P xGA 0.79 xGD +2.25 xPts 2.70
- Tue 01/09 Stoke City A Against the chances xG 1.44 xGA 0.22 xGD +1.22 xPts 2.46
- Sat 29/08 Burnley H xG 2.30 xGA 1.38 xGD +0.92 xPts 2.02
- Sat 22/08 Millwall A xG 1.02 xGA 2.69 xGD -1.67 xPts 0.39
- Sat 15/08 West Bromwich Albion H Against the chances xG 2.96 xGA 1.85 xGD +1.11 xPts 2.07
Newest first. The dot is xG and the ring is xGA, on one scale from 0 to 3.04. 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.
Norwich City in Championship
Attack
- xG / match #10 of 24
- Shots / match #8 of 24
- Chance quality #16 of 24
- Home xG #15 of 24
- Away xG #6 of 24
Defence
- xGA / match #16 of 24
- Shots allowed =9 of 24
- Chance quality allowed #23 of 24
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.