Expected goals
FC Lugano expected goals (xG) 2026/2027
Swiss Super League · after 9 matches · updated 1 Oct
FC Lugano'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 Lugano xG and xGA per match
Every match ↓| 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
- 15.26 9 matches
| 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
- 11.31 9 matches
| 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
- +3.95 9 matches
| 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.35 vs 25 actual pts
Early-season figures: after 9 matches, per-match rates can move quickly.
What the xG says
FC Lugano's underlying numbers are among the best in Swiss Super League. They rank #4 for xG difference at +0.44 per match, driven by elite shot volume at about average chance quality. Their 27 goals are 11.74 above 15.26 xG, while 25 points are 9.65 above 15.35 xPts. After only 9 matches, those gaps should still be read cautiously.
Actual vs expected
Select a row to chart it across the season.
Goals minus xG, match by match
FC Lugano are 11.74 goals above their xG after 9 matches.
- Goals
- 27
- xG
- 15.26
- Gap
- +11.74
- This match
- Match gap
- Running gap
| Date | Opponent | Goals | xG | Match gap | Running gap |
|---|---|---|---|---|---|
| Sun 26/07 | FC Vaduz | 2 | 2.03 | -0.03 | -0.03 |
| Sun 02/08 | Grasshopper Club Zürich | 4 | 2.13 | +1.87 | +1.84 |
| Sun 09/08 | FC Zürich | 5 | 2.46 | +2.54 | +4.38 |
| Sun 30/08 | FC Sion | 2 | 0.67 | +1.33 | +5.71 |
| Thu 03/09 | Servette FC | 1 | 1.29 | -0.29 | +5.42 |
| Sun 06/09 | Basel | 3 | 1.67 | +1.33 | +6.75 |
| Sat 12/09 | Young Boys | 2 | 1.51 | +0.49 | +7.24 |
| Wed 16/09 | FC St. Gallen 1879 | 4 | 1.41 | +2.59 | +9.83 |
| Sun 20/09 | FC Lausanne-Sport | 4 | 2.09 | +1.91 | +11.74 |
Goals vs xG ranking → Expected points ranking → Compare with every club in Europe →
FC Lugano xG trend
Current form +0.33 npxGD per match
The last 6 matches with xG.
Out-created the opponent in 7 of 9 matches. The worst was against FC Sion on Sun 30/08 (-1.15).
- npxG · last 6
- 1.53
- npxGA · last 6
- 1.20
- npxG
- npxGA
- npxGD
- Avg so far
| Date | Opponent | npxG | npxGA | npxGD | Avg so far |
|---|---|---|---|---|---|
| Sun 26/07 | FC Vaduz | 2.05 | 0.71 | +1.34 | +1.34 |
| Sun 02/08 | Grasshopper Club Zürich | 2.13 | 1.83 | +0.30 | +0.82 |
| Sun 09/08 | FC Zürich | 2.46 | 0.96 | +1.50 | +1.05 |
| Sun 30/08 | FC Sion | 0.67 | 1.82 | -1.15 | +0.50 |
| Thu 03/09 | Servette FC | 1.64 | 1.02 | +0.62 | +0.52 |
| Sun 06/09 | Basel | 1.67 | 0.31 | +1.36 | +0.66 |
| Sat 12/09 | Young Boys | 1.54 | 2.41 | -0.87 | +0.44 |
| Wed 16/09 | FC St. Gallen 1879 | 1.49 | 1.14 | +0.35 | +0.43 |
| Sun 20/09 | FC Lausanne-Sport | 2.19 | 0.51 | +1.68 | +0.57 |
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.76 npxG and 1.19 npxGA per match. Current form is the same difference over the last 6 matches with xG.
Strength of schedule
- Season so far
- tied number 8 hardest of 12 in Swiss Super League
- −0.02 xG vs league average
- Over 9 league matches
- Last 5
- tied number 3 hardest of 12 in Swiss Super League
- +0.07 xG vs league average
- Over 5 league matches
Opponents behind the figures
Season so far
−0.02 xG vs league average · over 9 matches · tied number 8 hardest of 12
- FC Lausanne-Sport Away −0.37
- FC St. Gallen 1879 Home +0.47
- Young Boys Home +0.42
- Basel Away −0.28
- Servette FC Home +0.10
- FC Sion Away +0.34
- FC Zürich Home −0.27
- Grasshopper Club Zürich Away −0.32
- FC Vaduz Home −0.23
Last 5
+0.07 xG vs league average · over 5 matches · tied number 3 hardest of 12
- FC Lausanne-Sport Away −0.37
- FC St. Gallen 1879 Home +0.47
- Young Boys Home +0.42
- Basel Away −0.28
- Servette FC Home +0.10
FC Lugano shots and chance quality
High volume, average quality. FC Lugano take 16.9 shots a match (league 15.3) at 0.10 npxG a shot (league 0.10), #3 in Swiss Super League for volume and #7 for quality. 62% of their shots come from inside the box (league 68%), and set pieces produce 22% of their npxG (league 27%).
Attack
| 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
- 152 shots from 9 matches
| 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
- 15.84 npxG from 152 shots
Defence
| 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
- 106 shots allowed from 9 matches
| 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
- 10.71 npxGA from 106 shots
Shot profile
62% inside the box
League avg 68%
From 94 of 152 shots over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
67% allowed inside the box
League avg 68%
From 71 of 106 shots allowed over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
78% open play · 22% set pieces
League avg 27% set pieces
From 3.5 of 15.7 npxG over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
80% open play · 20% set pieces
League avg 27% set pieces
From 2.2 of 10.7 npxG allowed over 9 matches
Early-season figure: after 9 matches, the share can move quickly.
FC Lugano home and away xG
| Measure | Home | Away |
|---|---|---|
| Matches | 5 | 4 |
| xG / match | 1.74 | 1.64 |
| xGA / match | 1.37 | 1.12 |
| xGD / match | +0.37 | +0.52 |
| xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → | 1.64 | 1.79 |
Every figure divides by that half's matches with xG. A half with fewer than 3 matches with xG is muted.
Every FC Lugano match by xG
Away this season
- Matches
- 4
- xG / match
- 1.64
- xGA / match
- 1.12
- xGD / match
- +0.52
- Points
- 12 of 12
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.
FC Lugano in Swiss Super League
Attack
- xG / match #6 of 12
- Shots / match #3 of 12
- Chance quality #7 of 12
- Home xG #7 of 12
- Away xG #8 of 12
Defence
- xGA / match #1 of 12
- Shots allowed #1 of 12
- Chance quality allowed #5 of 12
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.