No, Lyon have taken 32 points over their last 20 Ligue 1 games, within 2.63 of the 29.37 expected points (xPts) their chances were worth, so their results match their performances.
Lyon create 1.53 expected goals (xG) per game over their last 20 Ligue 1 games, 30.68 in all, and have scored 31 goals from those chances, 0.32 more than that xG would expect.
Lyon allow 1.43 expected goals against (xGA) per game over their last 20 Ligue 1 games, 28.53 in all, and have conceded 24 goals from those chances, 4.53 fewer than that xGA would expect.
Corentin Tolisso has the most expected goals (xG) for Lyon over their last 20 Ligue 1 games, 5.18 xG in 18 appearances, and has scored 9 goals; Endrick is next with 3.61 xG.
Lyon's results and their chances agree, within 2.6 points of xPts over 20 games. There is no regression case either way. What the table says is roughly what they have earned.
| Window | Games | xG | Goals | Goals minus xG | xGA | Conceded | xGA minus conceded | xPts | Points | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|
| Last 20 | 20 | 30.68 | 31 | +0.32 | 28.53 | 24 | +4.53 | 29.37 | 32 | +2.63 |
| Last 10 | 10 | 19.00 | 19 | 0.00 | 11.60 | 14 | -2.40 | 18.15 | 17 | -1.15 |
| Last 5 | 5 | 9.55 | 9 | -0.55 | 4.49 | 4 | +0.49 | 9.74 | 8 | -1.74 |
| Home | 10 | 19.70 | 21 | +1.30 | 13.27 | 13 | +0.27 | 17.73 | 20 | +2.27 |
| Away | 10 | 10.98 | 10 | -0.98 | 15.26 | 11 | +4.26 | 11.64 | 12 | +0.36 |
| Date | Competition | Opponent | Score | xG | xGA | xPts | Points | Deserved result |
|---|---|---|---|---|---|---|---|---|
| 9 Oct | Ligue 1 | Lens (A) | 2-1 | 1.27 | 1.46 | 1.24 | 0 | L |
| 19 Sep | Ligue 1 | Rennes (H) | 4-0 | 2.98 | 0.98 | 2.45 | 3 | W |
| 12 Sep | Ligue 1 | Paris (A) | 0-0 | 0.76 | 0.59 | 1.45 | 1 | D |
| 4 Sep | Ligue 1 | Auxerre (H) | 3-1 | 2.81 | 0.72 | 2.53 | 3 | W |
| 29 Aug | Ligue 1 | Le Havre (H) | 1-1 | 1.73 | 0.74 | 2.07 | 1 | W |
| 22 Aug | Ligue 1 | Toulouse (A) | 0-2 | 1.15 | 2.00 | 0.86 | 3 | L |
| 17 May | Ligue 1 | Lens (H) | 0-4 | 2.28 | 1.84 | 1.65 | 0 | W |
| 10 May | Ligue 1 | Toulouse (A) | 2-1 | 1.76 | 1.35 | 1.65 | 0 | W |
| 3 May | Ligue 1 | Rennes (H) | 4-2 | 2.16 | 0.90 | 2.18 | 3 | W |
| 25 Apr | Ligue 1 | Auxerre (H) | 3-2 | 2.10 | 1.02 | 2.07 | 3 | W |
| 19 Apr | Ligue 1 | PSG (A) | 1-2 | 0.85 | 3.34 | 0.28 | 3 | L |
| 12 Apr | Ligue 1 | Lorient (H) | 2-0 | 1.11 | 1.30 | 1.22 | 3 | L |
| 5 Apr | Ligue 1 | Angers (A) | 0-0 | 0.98 | 0.44 | 1.79 | 1 | W |
| 22 Mar | Ligue 1 | Monaco (H) | 1-2 | 1.19 | 2.89 | 0.53 | 0 | L |
| 15 Mar | Ligue 1 | Le Havre (A) | 0-0 | 1.28 | 0.96 | 1.59 | 1 | W |
| 8 Mar | Ligue 1 | Paris (H) | 1-1 | 2.03 | 1.44 | 1.75 | 1 | W |
| 1 Mar | Ligue 1 | Marseille (A) | 3-2 | 1.30 | 2.05 | 0.93 | 0 | L |
| 22 Feb | Ligue 1 | Strasbourg (A) | 3-1 | 0.46 | 2.03 | 0.40 | 0 | L |
| 15 Feb | Ligue 1 | Nice (H) | 2-0 | 1.31 | 1.44 | 1.28 | 3 | L |
| 7 Feb | Ligue 1 | Nantes (A) | 0-1 | 1.17 | 1.04 | 1.45 | 3 | W |
| Player | Position | Apps | Minutes | xG | Goals | Goals minus xG | xG per 90 |
|---|---|---|---|---|---|---|---|
| Corentin Tolisso | midfielder | 18 | 1332 | 5.18 | 9 | +3.82 | 0.35 |
| Roman Yaremchuk | attacker | 11 | 560 | 2.68 | 4 | +1.32 | 0.43 |
| Noah Nartey | midfielder | 15 | 593 | 0.69 | 2 | +1.31 | 0.11 |
| Zachary Athekame | defender | 6 | 540 | 1.00 | 2 | +1.00 | 0.17 |
| Ernest Nuamah | attacker | 8 | 410 | 2.46 | 3 | +0.54 | 0.54 |
| Afonso Moreira | attacker | 9 | 801 | 1.61 | 2 | +0.39 | 0.18 |
| Felix Bacher | defender | 6 | 536 | 0.80 | 1 | +0.20 | 0.13 |
| Khalis Merah | midfielder | 12 | 523 | 0.91 | 1 | +0.09 | 0.16 |
| Pavel Sulc | midfielder | 15 | 845 | 2.22 | 2 | -0.22 | 0.24 |
| Rémi Himbert | attacker | 4 | 182 | 1.28 | 1 | -0.28 | 0.63 |
| Tyler Morton | midfielder | 18 | 1470 | 0.60 | 0 | -0.60 | 0.04 |
| Tanner Tessmann | midfielder | 16 | 687 | 0.81 | 0 | -0.81 | 0.11 |
| Loïs Openda | attacker | 5 | 394 | 2.02 | 1 | -1.02 | 0.46 |
| Kaïl Boudache | attacker | 6 | 213 | 1.33 | 0 | -1.33 | 0.56 |
| Endrick | attacker | 13 | 954 | 3.61 | 2 | -1.61 | 0.34 |
| # | Team | MP | xG | Goals | xGA | Conceded | xPts | Points | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Monaco | 6 | 7.2 | 10 | 8.8 | 5 | 7.3 | 14 | +6.7 |
| 2 | LOSC Lille | 6 | 7.2 | 9 | 10 | 4 | 6.8 | 13 | +6.2 |
| 3 | Rennes | 6 | 11 | 12 | 11.1 | 10 | 8.4 | 13 | +4.6 |
| 4 | Strasbourg | 6 | 7.4 | 11 | 11.6 | 12 | 5.5 | 7 | +1.5 |
| 5 | Nice | 6 | 5.9 | 5 | 8.2 | 7 | 6.8 | 8 | +1.2 |
| 6 | Lorient | 6 | 6.5 | 6 | 8 | 6 | 7.2 | 8 | +0.8 |
| 7 | Olympique Lyonnais | 6 | 10.7 | 11 | 6.5 | 4 | 10.6 | 11 | +0.4 |
| 8 | Paris | 6 | 9.5 | 8 | 5 | 4 | 11.1 | 11 | -0.1 |
| 9 | Angers SCO | 6 | 9.3 | 7 | 10.9 | 10 | 7.4 | 7 | -0.4 |
| 10 | Auxerre | 6 | 7.6 | 8 | 11.8 | 16 | 6.5 | 6 | -0.5 |
| 11 | Le Mans | 6 | 9.7 | 10 | 12.6 | 12 | 7.2 | 6 | -1.2 |
| 12 | Paris Saint Germain | 6 | 14.7 | 11 | 6.6 | 8 | 12.3 | 11 | -1.3 |
| 13 | Olympique Marseille | 6 | 9.3 | 9 | 11.6 | 8 | 7.7 | 6 | -1.7 |
| 14 | Lens | 6 | 11.9 | 11 | 10.9 | 10 | 8.9 | 7 | -1.9 |
| 15 | Toulouse | 6 | 10.9 | 9 | 10.6 | 11 | 8.9 | 6 | -2.9 |
| 16 | Troyes | 6 | 8.4 | 4 | 10 | 13 | 7 | 4 | -3 |
| 17 | Brest | 6 | 13.2 | 12 | 7.1 | 9 | 11.2 | 8 | -3.2 |
| 18 | Le Havre | 6 | 9.9 | 4 | 9.5 | 8 | 8.6 | 2 | -6.6 |