xgEdge

Expected goals

FC Winterthur expected goals (xG) 2025/2026

Swiss Super League · after 38 matches · updated 1 Oct

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

FC Winterthur xG and xGA per match

Every match ↓
Attack
1.17 xG per match
#12/12
Attack (xG per match) across Swiss Super League, best first
Rank Club xG per match
#1 FC St. Gallen 1879 1.93
#2 FC Thun 1.83
#3 Basel 1.82
#4 FC Luzern 1.81
#5 Young Boys 1.80
#6 Servette FC 1.63
#7 FC Lausanne-Sport 1.59
#8 FC Sion 1.58
#9 FC Lugano 1.54
#10 FC Zürich 1.36
#11 Grasshopper Club Zürich 1.20
#12 FC Winterthur 1.17
League avg
1.60
Total
44.50 38 matches
Defence
2.20 xGA per match
#12/12
Defence (xGA per match) across Swiss Super League, best first
Rank Club xGA per match
#1 Servette FC 1.23
#2 FC Sion 1.27
#3 FC Lugano 1.33
#4 Basel 1.47
#5 FC Luzern 1.48
#6 FC Lausanne-Sport 1.51
#7 FC St. Gallen 1879 1.56
#8 FC Thun 1.64
#9 Young Boys 1.78
#10 Grasshopper Club Zürich 1.89
#11 FC Zürich 1.90
#12 FC Winterthur 2.20
League avg
1.60
Total
83.44 38 matches
xG difference
-1.02 xGD per match
#12/12
xG difference (xGD per match) across Swiss Super League, best first
Rank Club xGD per match
#1 Servette FC +0.40
#2 FC St. Gallen 1879 +0.38
#3 Basel +0.34
#4 FC Luzern +0.32
#5 FC Sion +0.31
#6 FC Lugano +0.22
#7 FC Thun +0.19
#8 FC Lausanne-Sport +0.08
#9 Young Boys +0.02
#10 FC Zürich -0.54
#11 Grasshopper Club Zürich -0.69
#12 FC Winterthur -1.02
League avg
0.00
Total
-38.94 38 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
0.80 xPts per match
#12/12
Expected points (xPts per match) across Swiss Super League, best first
Rank Club xPts per match
#1 FC St. Gallen 1879 1.62
#2 Servette FC 1.62
#3 Basel 1.62
#4 FC Luzern 1.59
#5 FC Sion 1.58
#6 FC Thun 1.53
#7 FC Lugano 1.51
#8 Young Boys 1.42
#9 FC Lausanne-Sport 1.40
#10 FC Zürich 1.02
#11 Grasshopper Club Zürich 0.96
#12 FC Winterthur 0.80
League avg
1.39
Total
30.28 vs 23 actual pts

What the xG says

FC Winterthur's underlying numbers are among the weakest in Swiss Super League. They rank #12 for xG difference at -1.02 per match, from the league's lowest shot volume at about average chance quality. Their 44 goals are 0.50 below 44.50 xG, while 23 points are 7.28 below 30.28 xPts.

Actual vs expected

Measure Actual Expected Difference Reading
Goals vs xG Includes 2.12 xG from penalties
44 44.50 -0.50 scored 0.50 fewer than xG within normal variance
100 83.44 +16.56 conceded 16.56 more than xGA outside normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

FC Winterthur are 0.50 goals below their xG after 38 matches. The gap was widest at -3.49, against Grasshopper Club Zürich on Sat 11/04.

Goals
44
xG
44.50
Gap
-0.50
Sun 27/07 Sat 02/08 Sat 09/08 Sun 24/08 Sat 30/08 Sun 14/09 Sat 27/09 Sun 05/10 Sat 18/10 Sat 25/10 Tue 28/10 Sat 01/11 Sat 08/11 Sat 22/11 Sat 29/11 Sun 07/12 Sat 13/12 Tue 16/12 Wed 14/01 Sat 24/01 Sat 31/01 Sat 07/02 Wed 11/02 Sat 14/02 Wed 18/02 Wed 25/02 Sat 28/02 Tue 03/03 Sat 07/03 Sun 15/03 Sun 22/03 Sat 04/04 Sat 11/04 Sun 26/04 Sat 02/05 Sat 09/05 Tue 12/05 Sat 16/05 -4 -2 0 +2 +4 +1.00 +1.11 +0.19 +0.44 +0.64 +1.55 +0.87 +1.61 +1.07 +1.76 +0.81 +3.64 +2.58 +2.50 +4.64 +2.40 +3.03 +3.60 +2.68 +2.64 +3.22 +3.27 +1.27 +1.53 +0.81 +0.32 +0.09 -0.22 +0.21 +0.77 -1.87 -2.50 -3.49 -1.28 -1.09 -0.44 +0.04 -0.50 +1.00 +0.11 -0.92 +0.25 +0.20 +0.91 -0.68 +0.74 -0.54 +0.69 -0.95 +2.83 -1.06 -0.08 +2.14 -2.24 +0.63 +0.57 -0.92 -0.04 +0.58 +0.05 -2.00 +0.26 -0.72 -0.49 -0.23 -0.31 +0.43 +0.56 -2.64 -0.63 -0.99 +2.21 +0.19 +0.65 +0.48 -0.54 Running gap goals − xG Each match goals − xG
FC Winterthur: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sun 27/07 FC Lausanne-Sport 2 1.00 +1.00 +1.00
Sat 02/08 Young Boys 1 0.89 +0.11 +1.11
Sat 09/08 FC St. Gallen 1879 0 0.92 -0.92 +0.19
Sun 24/08 Grasshopper Club Zürich 2 1.75 +0.25 +0.44
Sat 30/08 FC Zürich 1 0.80 +0.20 +0.64
Sun 14/09 FC Sion 2 1.09 +0.91 +1.55
Sat 27/09 Servette FC 0 0.68 -0.68 +0.87
Sun 05/10 FC Lugano 2 1.26 +0.74 +1.61
Sat 18/10 Basel 0 0.54 -0.54 +1.07
Sat 25/10 FC Luzern 2 1.31 +0.69 +1.76
Tue 28/10 FC Thun 0 0.95 -0.95 +0.81
Sat 01/11 Servette FC 4 1.17 +2.83 +3.64
Sat 08/11 Grasshopper Club Zürich 0 1.06 -1.06 +2.58
Sat 22/11 Young Boys 0 0.08 -0.08 +2.50
Sat 29/11 FC Luzern 3 0.86 +2.14 +4.64
Sun 07/12 Basel 1 3.24 -2.24 +2.40
Sat 13/12 FC Zürich 2 1.37 +0.63 +3.03
Tue 16/12 FC Thun 1 0.43 +0.57 +3.60
Wed 14/01 FC Sion 0 0.92 -0.92 +2.68
Sat 24/01 FC Lugano 1 1.04 -0.04 +2.64
Sat 31/01 FC Lausanne-Sport 2 1.42 +0.58 +3.22
Sat 07/02 FC Lugano 1 0.95 +0.05 +3.27
Wed 11/02 FC Zürich 0 2.00 -2.00 +1.27
Sat 14/02 Young Boys 1 0.74 +0.26 +1.53
Wed 18/02 FC St. Gallen 1879 1 1.72 -0.72 +0.81
Wed 25/02 FC Thun 0 0.49 -0.49 +0.32
Sat 28/02 FC St. Gallen 1879 1 1.23 -0.23 +0.09
Tue 03/03 Servette FC 1 1.31 -0.31 -0.22
Sat 07/03 FC Sion 1 0.57 +0.43 +0.21
Sun 15/03 FC Luzern 2 1.44 +0.56 +0.77
Sun 22/03 Basel 0 2.64 -2.64 -1.87
Sat 04/04 FC Lausanne-Sport 1 1.63 -0.63 -2.50
Sat 11/04 Grasshopper Club Zürich 0 0.99 -0.99 -3.49
Sun 26/04 Servette FC 3 0.79 +2.21 -1.28
Sat 02/05 FC Zürich 2 1.81 +0.19 -1.09
Sat 09/05 FC Lausanne-Sport 2 1.35 +0.65 -0.44
Tue 12/05 Grasshopper Club Zürich 2 1.52 +0.48 +0.04
Sat 16/05 FC Luzern 0 0.54 -0.54 -0.50

Goals vs xG ranking → Expected points ranking →

FC Winterthur xG trend

Current form -0.97 npxGD per match

The last 6 matches with xG.

Out-created the opponent in 7 of 38 matches. The worst was against Servette FC on Sun 26/04 (-3.97).

npxG · last 6
1.07
npxGA · last 6
2.03
-4 -3 -2 -1 0 +1 +2 -2.23 Sun 27/07 -0.36 Sat 02/08 -1.63 Sat 09/08 -0.45 Sun 24/08 -1.05 Sat 30/08 -0.08 Sun 14/09 -0.72 Sat 27/09 -1.34 Sun 05/10 -2.94 Sat 18/10 +0.34 Sat 25/10 -1.98 Tue 28/10 -0.13 Sat 01/11 -0.28 Sat 08/11 -2.37 Sat 22/11 -1.14 Sat 29/11 +0.51 Sun 07/12 -1.32 Sat 13/12 -2.20 Tue 16/12 -0.59 Wed 14/01 -1.27 Sat 24/01 +0.55 Sat 31/01 -0.09 Sat 07/02 +1.01 Wed 11/02 -1.67 Sat 14/02 -0.77 Wed 18/02 -1.29 Wed 25/02 -1.22 Sat 28/02 -0.19 Tue 03/03 -1.22 Sat 07/03 -0.60 Sun 15/03 +0.98 Sun 22/03 -1.39 Sat 04/04 +0.14 Sat 11/04 -3.97 Sun 26/04 -0.33 Sat 02/05 -1.02 Sat 09/05 +0.65 Tue 12/05 -1.28 Sat 16/05 -0.87 season avg
FC Winterthur: 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 27/07 FC Lausanne-Sport 1.09 3.32 -2.23 -2.23
Sat 02/08 Young Boys 0.89 1.25 -0.36 -1.30
Sat 09/08 FC St. Gallen 1879 0.93 2.56 -1.63 -1.41
Sun 24/08 Grasshopper Club Zürich 1.75 2.20 -0.45 -1.17
Sat 30/08 FC Zürich 0.80 1.85 -1.05 -1.14
Sun 14/09 FC Sion 1.09 1.17 -0.08 -0.97
Sat 27/09 Servette FC 0.68 1.40 -0.72 -0.93
Sun 05/10 FC Lugano 1.65 2.99 -1.34 -0.98
Sat 18/10 Basel 0.58 3.52 -2.94 -1.20
Sat 25/10 FC Luzern 1.41 1.07 +0.34 -1.05
Tue 28/10 FC Thun 0.95 2.93 -1.98 -1.13
Sat 01/11 Servette FC 1.17 1.30 -0.13 -1.05
Sat 08/11 Grasshopper Club Zürich 1.13 1.41 -0.28 -0.99
Sat 22/11 Young Boys 0.08 2.45 -2.37 -1.09
Sat 29/11 FC Luzern 0.82 1.96 -1.14 -1.09
Sun 07/12 Basel 3.26 2.75 +0.51 -0.99
Sat 13/12 FC Zürich 0.54 1.86 -1.32 -1.01
Tue 16/12 FC Thun 0.53 2.73 -2.20 -1.08
Wed 14/01 FC Sion 0.79 1.38 -0.59 -1.05
Sat 24/01 FC Lugano 1.04 2.31 -1.27 -1.06
Sat 31/01 FC Lausanne-Sport 1.42 0.87 +0.55 -0.98
Sat 07/02 FC Lugano 0.95 1.04 -0.09 -0.94
Wed 11/02 FC Zürich 2.06 1.05 +1.01 -0.86
Sat 14/02 Young Boys 1.03 2.70 -1.67 -0.89
Wed 18/02 FC St. Gallen 1879 1.72 2.49 -0.77 -0.89
Wed 25/02 FC Thun 0.49 1.78 -1.29 -0.90
Sat 28/02 FC St. Gallen 1879 1.19 2.41 -1.22 -0.92
Tue 03/03 Servette FC 1.34 1.53 -0.19 -0.89
Sat 07/03 FC Sion 0.57 1.79 -1.22 -0.90
Sun 15/03 FC Luzern 1.34 1.94 -0.60 -0.89
Sun 22/03 Basel 1.85 0.87 +0.98 -0.83
Sat 04/04 FC Lausanne-Sport 0.85 2.24 -1.39 -0.85
Sat 11/04 Grasshopper Club Zürich 0.99 0.85 +0.14 -0.82
Sun 26/04 Servette FC 0.79 4.76 -3.97 -0.91
Sat 02/05 FC Zürich 1.02 1.35 -0.33 -0.89
Sat 09/05 FC Lausanne-Sport 1.35 2.37 -1.02 -0.90
Tue 12/05 Grasshopper Club Zürich 1.57 0.92 +0.65 -0.86
Sat 16/05 FC Luzern 0.67 1.95 -1.28 -0.87

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.12 npxG and 1.98 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 1 hardest of 12 in Swiss Super League
+0.03 xG vs league average
Over 38 league matches
Last 5
tied number 7 hardest of 11 in Swiss Super League
−0.05 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

+0.03 xG vs league average · over 38 matches · tied number 1 hardest of 12

  1. FC Luzern Home +0.28
  2. Grasshopper Club Zürich Away −0.51
  3. FC Lausanne-Sport Home +0.08
  4. FC Zürich Home −0.49
  5. Servette FC Away +0.41
  6. Grasshopper Club Zürich Home −0.51
  7. FC Lausanne-Sport Away +0.08
  8. Basel Home −0.14
  9. FC Luzern Away +0.28
  10. FC Sion Away +0.19
  11. Servette FC Home +0.41
  12. FC St. Gallen 1879 Away +0.35
  13. FC Thun Home −0.04
  14. FC St. Gallen 1879 Home +0.35
  15. Young Boys Away +0.25
  16. FC Zürich Away −0.49
  17. FC Lugano Home +0.14
  18. FC Lausanne-Sport Home +0.08
  19. FC Lugano Away +0.14
  20. FC Sion Away +0.19
  21. FC Thun Home −0.04
  22. FC Zürich Away −0.49
  23. Basel Home −0.14
  24. FC Luzern Away +0.28
  25. Young Boys Away +0.25
  26. Grasshopper Club Zürich Home −0.51
  27. Servette FC Home +0.41
  28. FC Thun Away −0.04
  29. FC Luzern Home +0.28
  30. Basel Away −0.14
  31. FC Lugano Home +0.14
  32. Servette FC Away +0.41
  33. FC Sion Home +0.19
  34. FC Zürich Home −0.49
  35. Grasshopper Club Zürich Away −0.51
  36. FC St. Gallen 1879 Away +0.35
  37. Young Boys Home +0.25
  38. FC Lausanne-Sport Away +0.08

Last 5

−0.05 xG vs league average · over 5 matches · tied number 7 hardest of 11

  1. FC Luzern Home +0.28
  2. Grasshopper Club Zürich Away −0.51
  3. FC Lausanne-Sport Home +0.08
  4. FC Zürich Home −0.49
  5. Servette FC Away +0.41

League schedule strength → How this is calculated →

FC Winterthur shots and chance quality

Low volume, average quality. FC Winterthur take 11.8 shots a match (league 14.3) at 0.09 npxG a shot (league 0.10), #12 in Swiss Super League for volume and #10 for quality. 67% of their shots come from inside the box (league 67%).

Attack

Shot volume
11.8 shots per match
#12/12
Shot volume (shots per match) across Swiss Super League, best first
Rank Club shots per match
#1 FC Thun 17.1
#2 FC St. Gallen 1879 15.9
=3 Basel 15.3
=3 Young Boys 15.3
#5 FC Luzern 14.8
#6 FC Lausanne-Sport 14.5
#7 FC Sion 14.1
#8 Servette FC 13.7
#9 FC Lugano 13.2
#10 FC Zürich 12.9
#11 Grasshopper Club Zürich 12.5
#12 FC Winterthur 11.8
League avg
14.3
Total
448 shots from 38 matches
Chance quality
0.09 npxG per shot
#10/12
Chance quality (npxG per shot) across Swiss Super League, best first
Rank Club npxG per shot
#1 FC Luzern 0.11
#2 Servette FC 0.11
#3 FC Lausanne-Sport 0.11
#4 FC Lugano 0.11
#5 Young Boys 0.11
#6 FC St. Gallen 1879 0.10
#7 Basel 0.10
#8 FC Thun 0.10
#9 FC Zürich 0.09
#10 FC Winterthur 0.09
#11 FC Sion 0.09
#12 Grasshopper Club Zürich 0.08
League avg
0.10
Total
42.38 npxG from 448 shots

Defence

Shots allowed
18.5 shots per match
#12/12
Shots allowed (shots per match) across Swiss Super League, best first
Rank Club shots per match
#1 Servette FC 11.8
#2 FC Lausanne-Sport 12.4
#3 FC Sion 12.9
#4 FC Lugano 13.2
#5 Young Boys 13.4
#6 FC St. Gallen 1879 13.8
#7 FC Luzern 14.4
#8 Grasshopper Club Zürich 14.4
#9 FC Zürich 15.3
#10 Basel 15.5
#11 FC Thun 15.5
#12 FC Winterthur 18.5
League avg
14.3
Total
703 shots allowed from 38 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 FC Lugano 0.09
#2 FC Luzern 0.09
#3 Basel 0.09
#4 FC Thun 0.09
#5 FC Sion 0.09
#6 Servette FC 0.09
#7 FC St. Gallen 1879 0.11
#8 FC Winterthur 0.11
#9 FC Lausanne-Sport 0.11
#10 FC Zürich 0.11
#11 Young Boys 0.12
#12 Grasshopper Club Zürich 0.12
League avg
0.10
Total
75.32 npxGA from 703 shots

Shot profile

Shot location

67% inside the box

League avg 67%

From 299 of 448 shots over 38 matches

Shots allowed, location

70% allowed inside the box

League avg 67%

From 489 of 703 shots allowed over 38 matches

FC Winterthur home and away xG

FC Winterthur per-match figures at home and away
Measure Home Away
Matches 19 19
xG / match 1.29 1.05
xGA / match 1.85 2.54
xGD / match -0.56 -1.48
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 1.01 0.59

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

Every FC Winterthur match by xG

Venue

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