xgEdge

Expected goals

FC Zürich expected goals (xG) 2026/2027

Swiss Super League · after 9 matches · updated 1 Oct

FC Zürich's attacking and defensive expected goals in Swiss Super League 2026/2027, compared with the results they produced and with the rest of the competition.

FC Zürich xG and xGA per match

Every match ↓
Attack
1.38 xG per match
#10/12
Attack (xG per match) across Swiss Super League, best first
Rank Club xG per match
#1 FC Sion 2.31
#2 Young Boys 2.28
#3 Grasshopper Club Zürich 2.01
#4 FC Luzern 1.95
#5 FC St. Gallen 1879 1.95
#6 FC Lugano 1.70
#7 FC Vaduz 1.66
#8 FC Thun 1.53
#9 Servette FC 1.41
#10 FC Zürich 1.38
#11 Basel 1.22
#12 FC Lausanne-Sport 0.85
League avg
1.69
Total
12.40 9 matches
Defence
1.93 xGA per match
#8/12
Defence (xGA per match) across Swiss Super League, best first
Rank Club xGA per match
#1 FC Lugano 1.26
#2 FC Lausanne-Sport 1.37
#3 Basel 1.39
#4 Young Boys 1.41
#5 FC St. Gallen 1879 1.43
#6 FC Sion 1.48
#7 Servette FC 1.53
#8 FC Zürich 1.93
#9 FC Vaduz 2.00
#10 FC Luzern 2.02
#11 Grasshopper Club Zürich 2.18
#12 FC Thun 2.23
League avg
1.69
Total
17.34 9 matches
xG difference
-0.55 xGD per match
#11/12
xG difference (xGD per match) across Swiss Super League, best first
Rank Club xGD per match
#1 Young Boys +0.87
#2 FC Sion +0.82
#3 FC St. Gallen 1879 +0.51
#4 FC Lugano +0.44
#5 FC Luzern -0.08
#6 Servette FC -0.12
#7 Basel -0.17
#8 Grasshopper Club Zürich -0.18
#9 FC Vaduz -0.34
#10 FC Lausanne-Sport -0.52
#11 FC Zürich -0.55
#12 FC Thun -0.70
League avg
0.00
Total
-4.94 9 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.12 xPts per match
#10/12
Expected points (xPts per match) across Swiss Super League, best first
Rank Club xPts per match
#1 Young Boys 1.90
#2 FC Sion 1.90
#3 FC St. Gallen 1879 1.71
#4 FC Lugano 1.71
#5 FC Luzern 1.36
#6 Servette FC 1.30
#7 Grasshopper Club Zürich 1.29
#8 Basel 1.26
#9 FC Vaduz 1.18
#10 FC Zürich 1.12
#11 FC Thun 1.00
#12 FC Lausanne-Sport 0.94
League avg
1.39
Total
10.07 vs 11 actual pts

Early-season figures: after 9 matches, per-match rates can move quickly.

What the xG says

FC Zürich's underlying numbers are among the weakest in Swiss Super League. They rank #11 for xG difference at -0.55 per match, from low shot volume at about average chance quality. Their 14 goals are 1.60 above 12.40 xG, while 11 points are 0.93 above 10.07 xPts. After only 9 matches, those gaps should still be read cautiously.

Actual vs expected

Measure Actual Expected Difference Reading
14 12.40 +1.60 scored 1.60 more than xG within normal variance
20 17.34 +2.66 conceded 2.66 more than xGA within normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

FC Zürich are 1.60 goals above their xG after 9 matches. The gap was widest at +2.82, against FC Vaduz on Sun 13/09.

Goals
14
xG
12.40
Gap
+1.60
Sun 26/07 Sat 01/08 Sun 09/08 Sat 22/08 Sat 29/08 Tue 01/09 Sat 05/09 Sun 13/09 Sat 19/09 -1 0 +1 +2 +3 -0.11 +0.41 -0.46 -0.81 +0.48 +0.77 +2.00 +2.82 +1.60 -0.11 +0.52 -0.87 -0.35 +1.29 +0.29 +1.23 +0.82 -1.22 Running gap goals − xG Each match goals − xG
FC Zürich: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sun 26/07 FC St. Gallen 1879 1 1.11 -0.11 -0.11
Sat 01/08 Servette FC 2 1.48 +0.52 +0.41
Sun 09/08 FC Lugano 0 0.87 -0.87 -0.46
Sat 22/08 Basel 1 1.35 -0.35 -0.81
Sat 29/08 FC Lausanne-Sport 3 1.71 +1.29 +0.48
Tue 01/09 Young Boys 2 1.71 +0.29 +0.77
Sat 05/09 Grasshopper Club Zürich 2 0.77 +1.23 +2.00
Sun 13/09 FC Vaduz 2 1.18 +0.82 +2.82
Sat 19/09 FC Sion 1 2.22 -1.22 +1.60

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

FC Zürich xG trend

Current form -0.27 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 4 of 9 matches. The worst was against Grasshopper Club Zürich on Sat 05/09 (-2.62).

npxG · last 6
1.42
npxGA · last 6
1.69
-3 -2 -1 0 +1 -0.52 Sun 26/07 -0.05 Sat 01/08 -1.50 Sun 09/08 -0.29 Sat 22/08 +0.66 Sat 29/08 +0.33 Tue 01/09 -2.62 Sat 05/09 +0.15 Sun 13/09 +0.13 Sat 19/09 -0.41 season avg
FC Zürich: 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 26/07 FC St. Gallen 1879 1.11 1.63 -0.52 -0.52
Sat 01/08 Servette FC 1.48 1.53 -0.05 -0.29
Sun 09/08 FC Lugano 0.96 2.46 -1.50 -0.69
Sat 22/08 Basel 1.35 1.64 -0.29 -0.59
Sat 29/08 FC Lausanne-Sport 1.72 1.06 +0.66 -0.34
Tue 01/09 Young Boys 1.85 1.52 +0.33 -0.23
Sat 05/09 Grasshopper Club Zürich 0.77 3.39 -2.62 -0.57
Sun 13/09 FC Vaduz 1.18 1.03 +0.15 -0.48
Sat 19/09 FC Sion 1.62 1.49 +0.13 -0.41

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.34 npxG and 1.75 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 2 hardest of 12 in Swiss Super League
+0.05 xG vs league average
Over 9 league matches
Last 5
number 6 hardest of 12 in Swiss Super League
−0.03 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

+0.05 xG vs league average · over 9 matches · tied number 2 hardest of 12

  1. FC Sion Away +0.34
  2. FC Vaduz Home −0.23
  3. Grasshopper Club Zürich Away −0.32
  4. Young Boys Home +0.42
  5. FC Lausanne-Sport Away −0.37
  6. Basel Home −0.28
  7. FC Lugano Away +0.33
  8. Servette FC Home +0.10
  9. FC St. Gallen 1879 Away +0.47

Last 5

−0.03 xG vs league average · over 5 matches · number 6 hardest of 12

  1. FC Sion Away +0.34
  2. FC Vaduz Home −0.23
  3. Grasshopper Club Zürich Away −0.32
  4. Young Boys Home +0.42
  5. FC Lausanne-Sport Away −0.37

League schedule strength → How this is calculated →

FC Zürich shots and chance quality

Low volume, average quality. FC Zürich take 12.6 shots a match (league 15.3) at 0.11 npxG a shot (league 0.10), #10 in Swiss Super League for volume and #6 for quality. 65% of their shots come from inside the box (league 68%), and set pieces produce 33% of their npxG (league 27%).

Attack

Shot volume
12.6 shots per match
#10/12
Shot volume (shots per match) across Swiss Super League, best first
Rank Club shots per match
#1 FC St. Gallen 1879 20.9
#2 Young Boys 19.1
#3 FC Lugano 16.9
#4 FC Luzern 16.8
#5 FC Sion 16.6
#6 FC Thun 15.7
#7 Grasshopper Club Zürich 15.4
#8 Servette FC 14.3
#9 FC Vaduz 14.1
#10 FC Zürich 12.6
#11 Basel 11.8
#12 FC Lausanne-Sport 9.1
League avg
15.3
Total
113 shots from 9 matches
Chance quality
0.11 npxG per shot
#6/12
Chance quality (npxG per shot) across Swiss Super League, best first
Rank Club npxG per shot
#1 FC Sion 0.13
#2 Grasshopper Club Zürich 0.12
#3 FC Vaduz 0.11
#4 Young Boys 0.11
#5 FC Luzern 0.11
#6 FC Zürich 0.11
#7 FC Lugano 0.10
#8 FC Thun 0.10
#9 FC Lausanne-Sport 0.09
#10 Basel 0.09
#11 FC St. Gallen 1879 0.09
#12 Servette FC 0.09
League avg
0.10
Total
12.04 npxG from 113 shots

Defence

Shots allowed
13.9 shots per match
#4/12
Shots allowed (shots per match) across Swiss Super League, best first
Rank Club shots per match
#1 FC Lugano 11.8
#2 FC St. Gallen 1879 12.7
#3 FC Sion 13.0
#4 FC Zürich 13.9
#5 Young Boys 14.0
#6 Servette FC 14.3
#7 Grasshopper Club Zürich 15.9
#8 FC Lausanne-Sport 16.2
#9 FC Thun 17.1
#10 Basel 17.6
#11 FC Vaduz 18.2
#12 FC Luzern 18.6
League avg
15.3
Total
125 shots allowed from 9 matches
Chance quality allowed
0.13 npxGA per shot
#12/12
Chance quality allowed (npxGA per shot) across Swiss Super League, best first
Rank Club npxGA per shot
#1 Basel 0.08
#2 FC Lausanne-Sport 0.08
#3 Young Boys 0.10
#4 FC Sion 0.10
#5 FC Lugano 0.10
#6 FC Luzern 0.10
#7 Servette FC 0.10
#8 FC St. Gallen 1879 0.11
#9 FC Vaduz 0.11
#10 FC Thun 0.12
#11 Grasshopper Club Zürich 0.13
#12 FC Zürich 0.13
League avg
0.10
Total
15.75 npxGA from 125 shots

Shot profile

Shot location

65% inside the box

League avg 68%

From 73 of 113 shots over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

Shots allowed, location

78% allowed inside the box

League avg 68%

From 98 of 126 shots allowed over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

Where the npxG comes from

67% open play · 33% set pieces

League avg 27% set pieces

From 3.7 of 11.2 npxG over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

Where the npxG allowed comes from

76% open play · 24% set pieces

League avg 27% set pieces

From 3.7 of 15.0 npxG allowed over 9 matches

Early-season figure: after 9 matches, the share can move quickly.

FC Zürich home and away xG

FC Zürich per-match figures at home and away
Measure Home Away
Matches 4 5
xG / match 1.43 1.34
xGA / match 1.43 2.32
xGD / match +0.00 -0.99
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 1.36 0.92

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

Every FC Zürich 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 4.16. 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 →

FC Zürich in Swiss Super League

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 →