Ligue 1 xG leaders 2026/2027
Every Ligue 1 player ranked on the expected goals of the chances he took, with how many shots that took, what the average one was worth and the goals that came of them.
Louis Mafouta has taken the best chances in the competition, 3.80 expected goals from 423 minutes.
Showing 1–50 of 394 players
| # | Player | Club | Min | Shots | xG | npxG | xG/shot | xG/90 | G |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Louis Mafouta | Le Mans | 423 | 13 | 3.80 | 2.98 | 0.29 | 0.81 | 3 |
| 2 | Lassine Sinayoko | Paris FC | 435 | 17 | 3.58 | 1.94 | 0.21 | 0.74 | 4 |
| 3 | Kamory Doumbia | Stade Brestois | 407 | 12 | 3.55 | 2.73 | 0.30 | 0.79 | 4 |
| 4 | Florian Thauvin | RC Lens | 450 | 16 | 3.38 | 0.92 | 0.21 | 0.68 | 3 |
| 5 | Paris Brunner | AS Monaco | 390 | 16 | 2.95 | 2.95 | 0.18 | 0.68 | 4 |
| 6 | Esteban Lepaul | Stade Rennais | 376 | 19 | 2.82 | 2.00 | 0.15 | 0.67 | 3 |
| 7 | Amine Gouiri | Olympique de Marseille | 448 | 13 | 2.59 | 1.77 | 0.20 | 0.52 | 4 |
| 8 | Casper Tengstedt | Toulouse | 142 | 10 | 2.56 | 1.74 | 0.26 | 1.62 | 3 |
| 9 | Loïs Openda | Olympique Lyonnais | 334 | 16 | 2.41 | 2.41 | 0.15 | 0.65 | 1 |
| 10 | Marquinhos | Paris Saint-Germain | 450 | 4 | 2.00 | 2.00 | — | 0.40 | 3 |
| 11 | Ernest Nuamah | Olympique Lyonnais | 307 | 14 | 1.96 | 1.96 | 0.14 | 0.57 | 3 |
| 12 | Prosper Peter | Angers | 158 | 6 | 1.90 | 1.90 | 0.32 | 1.08 | 1 |
| 13 | Josh Maja | Le Havre | 269 | 7 | 1.89 | 1.89 | 0.27 | 0.63 | 1 |
| 13 | Dame Gueye | Le Mans | 297 | 6 | 1.89 | 1.89 | 0.32 | 0.57 | 1 |
| 15 | Ayase Ueda | Lille | 194 | 9 | 1.84 | 1.84 | 0.20 | 0.85 | 2 |
| 15 | Ally Samatta | Le Havre | 428 | 20 | 1.84 | 1.84 | 0.09 | 0.39 | 2 |
| 17 | Cameron Archer | Auxerre | 254 | 7 | 1.77 | 1.77 | 0.25 | 0.63 | 3 |
| 18 | Jacen Russell Rowe | Toulouse | 342 | 10 | 1.73 | 1.73 | 0.17 | 0.46 | 1 |
| 19 | Thomas Jørgensen | Toulouse | 438 | 10 | 1.67 | 1.67 | 0.17 | 0.34 | 2 |
| 20 | Ferran Torres | Paris Saint-Germain | 252 | 9 | 1.60 | 1.60 | 0.18 | 0.57 | 4 |
| 21 | João Neves | Paris Saint-Germain | 330 | 10 | 1.58 | 1.58 | 0.16 | 0.43 | 0 |
| 21 | Christ Tapé | Toulouse | 444 | 5 | 1.58 | 1.58 | 0.32 | 0.32 | 1 |
| 23 | Patrick Zabi | Paris FC | 50 | 2 | 1.53 | 1.53 | — | 2.75 | 0 |
| 24 | Jérémy Le Douaron | Troyes | 197 | 8 | 1.50 | 1.50 | 0.19 | 0.69 | 1 |
| 25 | Ousmane Dembélé | Paris Saint-Germain | 211 | 16 | 1.48 | 1.48 | 0.09 | 0.63 | 0 |
| 26 | Mamadou Koné | Lorient | 249 | 8 | 1.34 | 1.34 | 0.17 | 0.48 | 1 |
| 26 | Danny Namaso | Auxerre | 406 | 10 | 1.34 | 0.52 | 0.13 | 0.30 | 1 |
| 28 | Rayan Fofana | Le Havre | 124 | 6 | 1.33 | 0.51 | 0.22 | 0.97 | 1 |
| 29 | Ludovic Blas | Stade Rennais | 217 | 11 | 1.31 | 1.31 | 0.12 | 0.54 | 0 |
| 29 | Renaud Ripart | Troyes | 275 | 8 | 1.31 | 0.49 | 0.16 | 0.43 | 1 |
| 31 | Matthieu Udol | RC Lens | 384 | 6 | 1.29 | 1.29 | 0.22 | 0.30 | 1 |
| 32 | Adil Bourabaa | Le Mans | 398 | 7 | 1.23 | 1.23 | 0.18 | 0.28 | 3 |
| 33 | Kaïl Boudache | Olympique Lyonnais | 194 | 7 | 1.20 | 1.20 | 0.17 | 0.56 | 0 |
| 33 | Angel Gomes | Olympique de Marseille | 372 | 10 | 1.20 | 1.20 | 0.12 | 0.29 | 1 |
| 35 | Jean Victor Makengo | Lorient | 418 | 7 | 1.18 | 1.18 | 0.17 | 0.25 | 1 |
| 36 | Ludovic Ajorque | Stade Brestois | 446 | 17 | 1.16 | 1.16 | 0.07 | 0.23 | 1 |
| 37 | Adrien Thomasson | Stade Rennais | 373 | 4 | 1.15 | 1.15 | — | 0.28 | 1 |
| 37 | Amine Sbai | Angers | 427 | 12 | 1.15 | 1.15 | 0.10 | 0.24 | 1 |
| 39 | Pathé Mboup | Stade Brestois | 397 | 19 | 1.13 | 1.13 | 0.06 | 0.26 | 1 |
| 40 | Jacobo Ortega | RC Strasbourg | 302 | 6 | 1.08 | 1.08 | 0.18 | 0.32 | 1 |
| 41 | Michaël Cuisance | RC Lens | 307 | 5 | 1.06 | 1.06 | 0.21 | 0.31 | 0 |
| 41 | Diogo Sousa | RC Strasbourg | 384 | 5 | 1.06 | 1.06 | 0.21 | 0.25 | 1 |
| 41 | Ilan Kebbal | Paris FC | 405 | 11 | 1.06 | 1.06 | 0.10 | 0.24 | 1 |
| 44 | Zachary Athekame | Olympique Lyonnais | 450 | 3 | 1.05 | 1.05 | — | 0.21 | 2 |
| 45 | Lucas Tousart | Stade Brestois | 142 | 4 | 1.03 | 1.03 | — | 0.65 | 0 |
| 46 | Ethan Mbappé | Lille | 263 | 9 | 1.02 | 1.02 | 0.11 | 0.35 | 1 |
| 47 | Anthony Bermont | Angers | 183 | 6 | 1.00 | 1.00 | 0.17 | 0.49 | 0 |
| 47 | Raphaël Le Guen | Stade Brestois | 450 | 9 | 1.00 | 1.00 | 0.11 | 0.20 | 0 |
| 49 | Gessime Yassine | RC Strasbourg | 434 | 9 | 0.98 | 0.98 | 0.11 | 0.20 | 2 |
| 50 | Jonathan Clauss | Nice | 428 | 12 | 0.97 | 0.97 | 0.08 | 0.20 | 0 |
- goals 2+ above xG
- under 90 minutes
About these figures What each column counts, and which feed it was counted from. Show Hide
- Min
- Minutes played.
- Shots
- Shots he has taken in this competition this season.
- xG
- Expected goals: the quality of the chances he took, summed.
- npxG
- Expected goals with penalties taken out.
- xG/shot
- Expected goals per shot taken — the average chance he gets on the end of. Shown from 5 shots.
- xG/90
- Expected goals per 90 minutes played.
- G
- Goals scored, penalties included.
Appearances, minutes, goals, assists and shots on this page are summed over the Ligue 1 matches we hold per-player figures for — the same matches the expected figures are summed over, so the two can be read against each other.
Learn how xgEdge calculates these figures →