xgEdge

Expected goals

Olympique Lyonnais expected goals (xG) 2026/2027

Ligue 1 · after 5 matches · updated 1 Oct

Olympique Lyonnais's attacking and defensive expected goals in Ligue 1 2026/2027, compared with the results they produced and with the rest of the competition.

Olympique Lyonnais xG and xGA per match

Every match ↓
Attack
1.79 xG per match
#6/18
Attack (xG per match) across Ligue 1, best first
Rank Club xG per match
#1 Paris Saint-Germain 2.28
#2 RC Lens 2.27
#3 Toulouse 2.19
#4 Stade Brestois 1.94
#5 Paris FC 1.87
#6 Olympique Lyonnais 1.79
#7 Stade Rennais 1.76
#8 Le Mans 1.70
#9 Angers 1.61
#10 Olympique de Marseille 1.56
#11 Auxerre 1.41
#12 Troyes 1.40
#13 Le Havre 1.39
#14 Lille 1.39
#15 AS Monaco 1.28
#16 RC Strasbourg 1.24
#17 Lorient 1.19
#18 Nice 1.08
League avg
1.63
Total
8.93 5 matches
Defence
1.17 xGA per match
#3/18
Defence (xGA per match) across Ligue 1, best first
Rank Club xGA per match
#1 Paris FC 0.65
#2 Paris Saint-Germain 1.14
#3 Olympique Lyonnais 1.17
#4 Stade Brestois 1.19
#5 AS Monaco 1.31
#6 Lorient 1.39
#7 Angers 1.41
#8 Le Havre 1.61
#9 Toulouse 1.64
=10 Lille 1.75
=10 Nice 1.75
#12 Le Mans 1.91
#13 RC Lens 1.92
=14 RC Strasbourg 1.96
=14 Troyes 1.96
#16 Auxerre 2.05
#17 Stade Rennais 2.27
#18 Olympique de Marseille 2.28
League avg
1.63
Total
5.84 5 matches
xG difference
+0.62 xGD per match
#4/18
xG difference (xGD per match) across Ligue 1, best first
Rank Club xGD per match
#1 Paris FC +1.22
#2 Paris Saint-Germain +1.14
#3 Stade Brestois +0.75
#4 Olympique Lyonnais +0.62
#5 Toulouse +0.55
#6 RC Lens +0.35
#7 Angers +0.20
#8 AS Monaco -0.02
=9 Le Mans -0.21
=9 Lorient -0.21
#11 Le Havre -0.22
#12 Lille -0.36
#13 Stade Rennais -0.51
#14 Troyes -0.56
#15 Auxerre -0.63
#16 Nice -0.67
#17 Olympique de Marseille -0.72
#18 RC Strasbourg -0.72
League avg
0.00
Total
+3.09 5 matches
Expected points Model — Model output — computed from each match's xG, not a result. How xPts works →
1.81 xPts per match
#3/18
Expected points (xPts per match) across Ligue 1, best first
Rank Club xPts per match
#1 Paris FC 2.17
#2 Paris Saint-Germain 2.06
#3 Olympique Lyonnais 1.81
#4 Stade Brestois 1.78
#5 Toulouse 1.74
#6 RC Lens 1.49
#7 Angers 1.49
#8 AS Monaco 1.42
#9 Le Mans 1.27
#10 Lille 1.23
#11 Lorient 1.21
#12 Le Havre 1.20
#13 Auxerre 1.18
#14 Olympique de Marseille 1.09
#15 Stade Rennais 1.08
#16 Troyes 0.96
#17 Nice 0.94
#18 RC Strasbourg 0.84
League avg
1.39
Total
9.04 vs 11 actual pts

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

What the xG says

Olympique Lyonnais's underlying numbers are among the best in Ligue 1. They rank #4 for xG difference at +0.62 per match, built on elite chance quality rather than about average shot volume. Their 10 goals are 1.07 above 8.93 xG, while 11 points are 1.96 above 9.04 xPts. After only 5 matches, those gaps should still be read cautiously.

Actual vs expected

Measure Actual Expected Difference Reading
10 8.93 +1.07 scored 1.07 more than xG within normal variance
2 5.84 -3.84 conceded 3.84 fewer than xGA outside normal variance

Select a row to chart it across the season.

Goals minus xG, match by match

Olympique Lyonnais are 1.07 goals above their xG after 5 matches. The gap was widest at +1.30, against Toulouse on Sat 22/08.

Goals
10
xG
8.93
Gap
+1.07
Sat 22/08 Sat 29/08 Fri 04/09 Sat 12/09 Sat 19/09 -1 0 +1 +2 +1.30 +0.55 +0.70 +0.20 +1.07 +1.30 -0.75 +0.15 -0.50 +0.87 Running gap goals − xG Each match goals − xG
Olympique Lyonnais: Goals vs xG, the gap after every match with xG
Date Opponent Goals xG Match gap Running gap
Sat 22/08 Toulouse 2 0.70 +1.30 +1.30
Sat 29/08 Le Havre 1 1.75 -0.75 +0.55
Fri 04/09 Auxerre 3 2.85 +0.15 +0.70
Sat 12/09 Paris FC 0 0.50 -0.50 +0.20
Sat 19/09 Stade Rennais 4 3.13 +0.87 +1.07

Goals vs xG ranking → Expected points ranking →

Olympique Lyonnais xG trend

Current form +0.65 npxGD per match

All 5 matches with xG so far — the window fills at 6.

Out-created the opponent in 4 of 5 matches. The only negative was against Toulouse on Sat 22/08 (-1.96).

npxG · last 5
1.80
npxGA · last 5
1.15
-2 -1 0 +1 +2 +3 -1.96 Sat 22/08 +1.05 Sat 29/08 +2.28 Fri 04/09 +0.11 Sat 12/09 +1.76 Sat 19/09 +0.65 season avg
Olympique Lyonnais: 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
Sat 22/08 Toulouse 0.65 2.61 -1.96 -1.96
Sat 29/08 Le Havre 1.72 0.67 +1.05 -0.45
Fri 04/09 Auxerre 2.97 0.69 +2.28 +0.46
Sat 12/09 Paris FC 0.49 0.38 +0.11 +0.37
Sat 19/09 Stade Rennais 3.16 1.40 +1.76 +0.65

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.80 npxG and 1.15 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 12 hardest of 18 in Ligue 1
−0.05 xG vs league average
Over 5 league matches
Opponents behind the figures

Season so far

−0.05 xG vs league average · over 5 matches · tied number 12 hardest of 18

  1. Stade Rennais Home −0.02
  2. Paris FC Away +0.09
  3. Auxerre Home −0.26
  4. Le Havre Home −0.13
  5. Toulouse Away +0.04

League schedule strength → How this is calculated →

Olympique Lyonnais shots and chance quality

Average volume, high quality. Olympique Lyonnais take 13.4 shots a match (league 13.9) at 0.13 npxG a shot (league 0.11), #9 in Ligue 1 for volume and #2 for quality. 69% of their shots come from inside the box (league 65%), and set pieces produce 11% of their npxG (league 18%).

Attack

Shot volume
13.4 shots per match
#9/18
Shot volume (shots per match) across Ligue 1, best first
Rank Club shots per match
#1 Paris Saint-Germain 21.2
#2 Stade Brestois 19.2
#3 Stade Rennais 16.2
#4 Le Havre 15.6
#5 Angers 15.0
=6 RC Lens 14.8
=6 Toulouse 14.8
=6 Troyes 14.8
#9 Olympique Lyonnais 13.4
=10 Olympique de Marseille 13.2
=10 Paris FC 13.2
#12 Lille 12.8
#13 Auxerre 12.0
#14 Nice 11.8
#15 RC Strasbourg 11.6
=16 Le Mans 10.4
=16 Lorient 10.4
#18 AS Monaco 10.2
League avg
13.9
Total
67 shots from 5 matches
Chance quality
0.13 npxG per shot
#2/18
Chance quality (npxG per shot) across Ligue 1, best first
Rank Club npxG per shot
#1 Le Mans 0.15
#2 Olympique Lyonnais 0.13
#3 Toulouse 0.13
#4 AS Monaco 0.12
#5 Paris FC 0.11
#6 RC Lens 0.11
#7 RC Strasbourg 0.11
#8 Angers 0.11
#9 Paris Saint-Germain 0.11
#10 Lorient 0.11
#11 Lille 0.11
#12 Olympique de Marseille 0.10
#13 Stade Rennais 0.09
#14 Nice 0.09
#15 Stade Brestois 0.09
#16 Auxerre 0.09
#17 Le Havre 0.08
#18 Troyes 0.07
League avg
0.11
Total
8.99 npxG from 67 shots

Defence

Shots allowed
11.2 shots per match
=3/18
Shots allowed (shots per match) across Ligue 1, best first
Rank Club shots per match
#1 Paris FC 9.6
#2 Paris Saint-Germain 10.0
=3 Olympique Lyonnais 11.2
=3 RC Lens 11.2
#5 Stade Brestois 11.6
#6 Nice 13.0
#7 Lorient 13.2
#8 Auxerre 13.6
#9 Troyes 13.8
#10 Le Havre 14.4
=11 AS Monaco 15.2
=11 Toulouse 15.2
#13 Stade Rennais 15.6
#14 Lille 16.0
#15 Le Mans 16.2
#16 Angers 16.4
#17 Olympique de Marseille 17.0
#18 RC Strasbourg 17.4
League avg
13.9
Total
56 shots allowed from 5 matches
Chance quality allowed
0.10 npxGA per shot
#9/18
Chance quality allowed (npxGA per shot) across Ligue 1, best first
Rank Club npxGA per shot
#1 Paris FC 0.07
#2 Angers 0.08
#3 Lorient 0.08
#4 AS Monaco 0.08
#5 Stade Brestois 0.09
#6 Le Havre 0.09
#7 RC Strasbourg 0.09
#8 Le Mans 0.09
#9 Olympique Lyonnais 0.10
#10 Toulouse 0.10
#11 Lille 0.11
#12 Paris Saint-Germain 0.11
#13 Nice 0.12
#14 Olympique de Marseille 0.12
#15 Auxerre 0.13
#16 Stade Rennais 0.13
#17 Troyes 0.15
#18 RC Lens 0.16
League avg
0.11
Total
5.75 npxGA from 56 shots

Shot profile

Shot location

69% inside the box

League avg 65%

From 46 of 67 shots over 5 matches

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

Shots allowed, location

64% allowed inside the box

League avg 65%

From 36 of 56 shots allowed over 5 matches

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

Where the npxG comes from

89% open play · 11% set pieces

League avg 18% set pieces

From 0.9 of 8.9 npxG over 5 matches

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

Where the npxG allowed comes from

73% open play · 27% set pieces

League avg 18% set pieces

From 1.5 of 5.8 npxG allowed over 5 matches

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

Olympique Lyonnais home and away xG

Olympique Lyonnais per-match figures at home and away
Measure Home Away only 2 matches with xG
Matches 3 2
xG / match 2.58 0.60
xGA / match 0.92 1.54
xGD / match +1.65 -0.93
xPts / match Model — Model output — computed from each match's xG, not a result. How xPts works → 2.45 0.85

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

Every Olympique Lyonnais 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.13. 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 →

Olympique Lyonnais in Ligue 1

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 →