xgEdge

Expected goals

FC St. Gallen 1879 expected goals (xG) 2026/2027

Swiss Super League · after 9 matches · updated 4 Oct

FC St. Gallen 1879'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 St. Gallen 1879 xG and xGA per match

Every match ↓
Attack
1.95 xG per match
#5/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
17.52 9 matches
Defence
1.43 xGA per match
#5/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
12.91 9 matches
xG difference
+0.51 xGD per match
#3/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.61 9 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.71 xPts per match
#3/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
15.36 vs 13 actual pts

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

What the xG says

FC St. Gallen 1879's underlying numbers are among the best in Swiss Super League. They rank #3 for xG difference at +0.51 per match, built on the league's highest shot volume rather than low chance quality. Their 16 goals are 1.52 below 17.52 xG, while 13 points are 2.36 below 15.36 xPts. After only 9 matches, those gaps should still be read cautiously.

Actual vs expected

Measure Actual Expected Difference Reading
Goals vs xG Includes 1.07 xG from penalties
16 17.52 -1.52 scored 1.52 fewer than xG within normal variance
19 12.91 +6.09 conceded 6.09 more than xGA outside normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

FC St. Gallen 1879 are 1.52 goals below their xG after 9 matches. The gap was widest at -2.52, against FC Lugano on Wed 16/09.

Goals
16
xG
17.52
Gap
-1.52
Sun 26/07 Sun 02/08 Sun 09/08 Sun 30/08 Wed 02/09 Sun 06/09 Sat 12/09 Wed 16/09 Sun 20/09 -3 -2 -1 0 +1 +2 +0.37 +1.20 -0.04 +0.08 -1.72 -1.09 -2.38 -2.52 -1.52 +0.37 +0.83 -1.24 +0.12 -1.80 +0.63 -1.29 -0.14 +1.00 Running gap goals − xG Each match goals − xG
FC St. Gallen 1879: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sun 26/07 FC Zürich 2 1.63 +0.37 +0.37
Sun 02/08 FC Vaduz 3 2.17 +0.83 +1.20
Sun 09/08 FC Luzern 2 3.24 -1.24 -0.04
Sun 30/08 FC Thun 3 2.88 +0.12 +0.08
Wed 02/09 Grasshopper Club Zürich 0 1.80 -1.80 -1.72
Sun 06/09 Servette FC 2 1.37 +0.63 -1.09
Sat 12/09 FC Sion 0 1.29 -1.29 -2.38
Wed 16/09 FC Lugano 1 1.14 -0.14 -2.52
Sun 20/09 Basel 3 2.00 +1.00 -1.52

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

FC St. Gallen 1879 xG trend

Current form +0.44 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 7 of 9 matches. The worst was against Grasshopper Club Zürich on Wed 02/09 (-0.85).

npxG · last 6
1.70
npxGA · last 6
1.26
-1 0 +1 +2 +0.52 Sun 26/07 +0.09 Sun 02/08 +1.15 Sun 09/08 +1.65 Sun 30/08 -0.85 Wed 02/09 +0.47 Sun 06/09 +0.09 Sat 12/09 -0.35 Wed 16/09 +1.61 Sun 20/09 +0.49 season avg
FC St. Gallen 1879: 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 Zürich 1.63 1.11 +0.52 +0.52
Sun 02/08 FC Vaduz 2.12 2.03 +0.09 +0.31
Sun 09/08 FC Luzern 2.52 1.37 +1.15 +0.59
Sun 30/08 FC Thun 2.91 1.26 +1.65 +0.85
Wed 02/09 Grasshopper Club Zürich 1.38 2.23 -0.85 +0.51
Sun 06/09 Servette FC 1.37 0.90 +0.47 +0.50
Sat 12/09 FC Sion 1.34 1.25 +0.09 +0.45
Wed 16/09 FC Lugano 1.14 1.49 -0.35 +0.35
Sun 20/09 Basel 2.04 0.43 +1.61 +0.49

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.83 npxG and 1.34 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 11 hardest of 12 in Swiss Super League
−0.06 xG vs league average
Over 9 league matches
Last 5
number 5 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.06 xG vs league average · over 9 matches · tied number 11 hardest of 12

  1. Basel Away −0.28
  2. FC Lugano Away +0.33
  3. FC Sion Home +0.34
  4. Servette FC Away +0.10
  5. Grasshopper Club Zürich Away −0.32
  6. FC Thun Home −0.14
  7. FC Luzern Home −0.05
  8. FC Vaduz Away −0.23
  9. FC Zürich Home −0.27

Last 5

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

  1. Basel Away −0.28
  2. FC Lugano Away +0.33
  3. FC Sion Home +0.34
  4. Servette FC Away +0.10
  5. Grasshopper Club Zürich Away −0.32

League schedule strength → How this is calculated →

FC St. Gallen 1879 shots and chance quality

High volume, low quality. FC St. Gallen 1879 take 20.9 shots a match (league 15.3) at 0.09 npxG a shot (league 0.10), #1 in Swiss Super League for volume and #11 for quality. 68% of their shots come from inside the box (league 68%), and set pieces produce 25% of their npxG (league 27%).

Attack

Shot volume
20.9 shots per match
#1/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
188 shots from 9 matches
Chance quality
0.09 npxG per shot
#11/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
16.45 npxG from 188 shots

Defence

Shots allowed
12.7 shots per match
#2/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
114 shots allowed from 9 matches
Chance quality allowed
0.11 npxGA per shot
#8/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
12.07 npxGA from 114 shots

Shot profile

Shot location

68% inside the box

League avg 68%

From 127 of 188 shots over 9 matches

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

Shots allowed, location

74% allowed inside the box

League avg 68%

From 84 of 114 shots allowed over 9 matches

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

Where the npxG comes from

75% open play · 25% set pieces

League avg 27% set pieces

From 4.2 of 16.4 npxG over 9 matches

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

Where the npxG allowed comes from

73% open play · 27% set pieces

League avg 27% set pieces

From 3.3 of 12.1 npxG allowed over 9 matches

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

FC St. Gallen 1879 home and away xG

FC St. Gallen 1879 per-match figures at home and away
Measure Home Away
Matches 4 5
xG / match 2.26 1.70
xGA / match 1.29 1.55
xGD / match +0.97 +0.14
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 1.99 1.48

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

Every FC St. Gallen 1879 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 →

FC St. Gallen 1879 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 →