We identified 141 real signings across the 21 clubs of Ligue 1; 137 are included in the hit-rate calculation (4 youth investments set aside). Signings without relevant game time are classified as unsuccessful. League average hit rate: 43%.
Comparison with 2019/20
The league's average hit rate was 43%, against 45% the previous season (▼ 2 p.p.). There were 141 real signings, against 156 in 2019/20.
Hit rate by club
1º Montpellier (8th in the league · 2 eval.)
2º Strasbourg (16th in the league · 3 eval.)
3º Nice (9th in the league · 8 eval.)
4º Angers (13th in the league · 5 eval.)
5º Nimes (19th in the league · 6 eval.)
6º Stade Brestois 29 (18th in the league · 9 eval.)
7º Lille (1st in the league · 6 eval.)
8º Rennes (6th in the league · 6 eval.)
9º Lyon (4th in the league · 4 eval.)
10º Reims (15th in the league · 4 eval.)
11º Bordeaux (12th in the league · 2 eval.)
12º Lens (7th in the league · 17 eval.)
13º Paris Saint Germain (2nd in the league · 4 eval.)
14º Monaco (3rd in the league · 6 eval.)
15º Lorient (17th in the league · 17 eval.)
16º Dijon (20th in the league · 8 eval.)
17º Marseille (5th in the league · 8 eval.)
18º Nantes (14th in the league · 4 eval.)
19º Metz (10th in the league · 5 eval.)
20º Saint Etienne (11th in the league · 5 eval.)
21º Toulouse (21st in the league · 8 eval.)
Detailed ranking
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % |
|---|
| 1º | Montpellier | 8º | 2 | 2 | 1 | 1 | 0 | 75% |
| 2º | Strasbourg | 16º | 3 | 3 | 2 | 0 | 1 | 67% |
| 3º | Nice | 9º | 8 | 8 | 3 | 4 | 1 | 62% |
| 4º | Angers | 13º | 5 | 5 | 2 | 2 | 1 | 60% |
| 5º | Nimes | 19º | 6 | 6 | 3 | 1 | 2 | 58% |
| 6º | Stade Brestois 29 | 18º | 9 | 9 | 4 | 1 | 4 | 50% |
| 7º | Lille | 1º | 6 | 6 | 3 | 0 | 3 | 50% |
| 8º | Rennes | 6º | 6 | 6 | 3 | 0 | 3 | 50% |
| 9º | Lyon | 4º | 5 | 4 | 1 | 2 | 1 | 50% |
| 10º | Reims | 15º | 4 | 4 | 2 | 0 | 2 | 50% |
| 11º | Bordeaux | 12º | 2 | 2 | 1 | 0 | 1 | 50% |
| 12º | Lens | 7º | 18 | 17 | 6 | 3 | 8 | 44% |
| 13º | Paris Saint Germain | 2º | 4 | 4 | 0 | 3 | 1 | 38% |
| 14º | Monaco | 3º | 7 | 6 | 2 | 0 | 4 | 33% |
| 15º | Lorient | 17º | 18 | 17 | 4 | 3 | 10 | 32% |
| 16º | Dijon | 20º | 8 | 8 | 1 | 3 | 4 | 31% |
| 17º | Marseille | 5º | 8 | 8 | 2 | 1 | 5 | 31% |
| 18º | Nantes | 14º | 4 | 4 | 0 | 2 | 2 | 25% |
| 19º | Metz | 10º | 5 | 5 | 0 | 2 | 3 | 20% |
| 20º | Saint Etienne | 11º | 5 | 5 | 1 | 0 | 4 | 20% |
| 21º | Toulouse | 21º | 8 | 8 | 0 | 0 | 8 | 0% |
Season Highlights
| Player | Club | Min | G+A | Nota | Rating |
|---|
| Kevin Volland | Monaco | 2781 | 16+7 | 7.10 | Excellent |
| Burak Yılmaz | Lille | 2054 | 16+5 | 7.21 | Excellent |
| Romain Faivre | Stade Brestois 29 | 2904 | 6+5 | 7.21 | Excellent |
| Gaël Kakuta | Lens | 2417 | 11+5 | 7.03 | Excellent |
| Yoane Wissa | Lorient | 2682 | 10+4 | 6.94 | Excellent |
Methodology
Only genuine signings for the first-team squad are considered — academy promotions, loan returns and internal moves are excluded. Each evaluated signing is classified into five tiers from a score that combines match ratings, attacking output adjusted for game time and consistency over the season, in comparison with the other players in the competition. Successful signings count as a full point; Fair ones, half a point.
Appendix — Signings by club
* Youth investment (under-23, no game time) — outside the calculation.
Angers (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Paul Bernardoni | 38 | 3420 | 0 | 0 | Good |
| Loïs Diony | 36 | 1759 | 5 | 1 | Good |
| Ibrahim Amadou | 24 | 1513 | 0 | 0 | Fair |
| Sofiane Boufal | 14 | 736 | 1 | 0 | Fair |
| Enzo Ebosse | 8 | 261 | 0 | 0 | Did not deliver |
Bordeaux (2 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Hatem Ben Arfa | 24 | 1707 | 2 | 4 | Good |
| Jean Michaël Seri | 14 | 713 | 0 | 0 | Did not deliver |
Dijon (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Bersant Celina | 32 | 2302 | 0 | 5 | Good |
| Sacha Boey | 27 | 1869 | 0 | 1 | Fair |
| Moussa Konaté | 28 | 1206 | 5 | 1 | Fair |
| Pape Cheikh | 28 | 1093 | 0 | 0 | Did not deliver |
| Roger Assalé | 18 | 834 | 1 | 0 | Below expectations |
| Anibal Chalá | 20 | 747 | 0 | 0 | Did not deliver |
| Aboubakar Kamara | 10 | 560 | 1 | 0 | Fair |
| Mihai Alexandru Dobre | 34 | 536 | 0 | 0 | Did not deliver |
Lens (18 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jean-Louis Leca | 37 | 3315 | 0 | 0 | Good |
| Jonathan Gradit | 34 | 2827 | 0 | 1 | Good |
| Jonathan Clauss | 37 | 2538 | 3 | 6 | Good |
| Florian Sotoca | 34 | 2422 | 8 | 3 | Excellent |
| Gaël Kakuta | 35 | 2417 | 11 | 5 | Excellent |
| Seko Fofana | 30 | 2317 | 2 | 3 | Good |
| Yannick Cahuzac | 36 | 2257 | 1 | 0 | Below expectations |
| Facundo Medina | 30 | 2015 | 2 | 0 | Below expectations |
| Steven Fortes | 35 | 1438 | 0 | 0 | Did not deliver |
| Simon Banza | 37 | 1378 | 5 | 2 | Fair |
| Igniatius Ganago | 27 | 1314 | 7 | 0 | Fair |
| Clément Michelin | 30 | 1175 | 0 | 4 | Fair |
| Issiaga Sylla | 28 | 1123 | 1 | 0 | Did not deliver |
| Corentin Jean | 34 | 571 | 1 | 1 | Did not deliver |
| Tony Mauricio | 34 | 509 | 0 | 4 | Below expectations |
| Wuilker Faríñez * | 37 | 111 | 0 | 0 | Investment |
| Cheik Traoré | 5 | 37 | 0 | 0 | Did not deliver |
| Zakaria Diallo | 3 | 0 | 0 | 0 | Did not deliver |
Lille (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Sven Botman | 38 | 3311 | 0 | 0 | Good |
| Jonathan David | 37 | 2371 | 13 | 2 | Excellent |
| Burak Yılmaz | 28 | 2054 | 16 | 5 | Excellent |
| Isaac Lihadji | 30 | 210 | 0 | 1 | Did not deliver |
| Orestis Karnezis | 25 | 0 | 0 | 0 | Did not deliver |
| Mustafa Kapı | 0 | 0 | 0 | 0 | Did not deliver |
Lorient (18 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Laurent Abergel | 38 | 2966 | 3 | 1 | Excellent |
| Yoane Wissa | 38 | 2682 | 10 | 4 | Excellent |
| Jérémy Morel | 30 | 2494 | 0 | 0 | Fair |
| Vincent Le Goff | 29 | 2307 | 0 | 0 | Below expectations |
| Trevoh Chalobah | 31 | 2239 | 2 | 2 | Good |
| Paul Nardi | 30 | 2070 | 0 | 0 | Did not deliver |
| Fabien Lemoine | 36 | 1949 | 1 | 0 | Below expectations |
| Armand Lauriente | 31 | 1618 | 3 | 5 | Good |
| Quentin Boisgard | 27 | 1321 | 2 | 2 | Fair |
| Houboulang Mendes | 27 | 1306 | 0 | 0 | Did not deliver |
| Thomas Monconduit | 30 | 1161 | 2 | 0 | Below expectations |
| Adrian Grbić | 38 | 984 | 4 | 0 | Fair |
| Pierre-Yves Hamel | 34 | 870 | 4 | 2 | Below expectations |
| Thomas Fontaine | 12 | 322 | 0 | 0 | Did not deliver |
| Stéphane Diarra * | 26 | 188 | 0 | 0 | Investment |
| Umut Bozok | 8 | 58 | 0 | 0 | Did not deliver |
| Franklin Wadja | 17 | 29 | 0 | 0 | Did not deliver |
| Tiago Ilori | 2 | 0 | 0 | 0 | Did not deliver |
Lyon (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Lucas Paquetá | 31 | 2292 | 9 | 5 | Excellent |
| Mattia De Sciglio | 29 | 1460 | 0 | 1 | Fair |
| Islam Slimani | 18 | 583 | 3 | 1 | Fair |
| Djamel Benlamri | 25 | 143 | 0 | 0 | Did not deliver |
| Camilo * | 1 | 0 | 0 | 0 | Investment |
Marseille (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Pape Gueye | 34 | 2062 | 2 | 0 | Fair |
| Leonardo Balerdi | 36 | 1645 | 2 | 0 | Did not deliver |
| Yuto Nagatomo | 33 | 1612 | 0 | 1 | Did not deliver |
| Pol Lirola | 19 | 1554 | 2 | 2 | Good |
| Arkadiusz Milik | 15 | 1223 | 9 | 1 | Excellent |
| Michaël Cuisance | 28 | 1029 | 2 | 1 | Below expectations |
| Luís Henrique | 30 | 686 | 0 | 5 | Below expectations |
| Olivier Ntcham | 13 | 118 | 0 | 0 | Did not deliver |
Metz (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Boubakar Kouyate | 33 | 1966 | 1 | 0 | Below expectations |
| Lamine Gueye | 30 | 1465 | 3 | 2 | Fair |
| Aaron Leya Iseka | 26 | 1019 | 4 | 0 | Below expectations |
| Vagner Dias | 30 | 967 | 4 | 1 | Fair |
| Marc-Aurele Caillard | 37 | 361 | 0 | 0 | Did not deliver |
Monaco (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Kevin Volland | 35 | 2781 | 16 | 7 | Excellent |
| Caio Henrique | 32 | 2375 | 0 | 4 | Good |
| Axel Disasi | 35 | 2020 | 3 | 0 | Below expectations |
| Vito Mannone | 22 | 810 | 0 | 0 | Did not deliver |
| Krépin Diatta | 13 | 383 | 1 | 0 | Below expectations |
| Florentino Luís | 15 | 241 | 0 | 0 | Did not deliver |
| Strahinja Pavlović * | 5 | 1 | 0 | 0 | Investment |
Montpellier (2 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jonas Omlin | 31 | 2674 | 0 | 0 | Fair |
| Stephy Mavididi | 35 | 2051 | 9 | 0 | Good |
Nantes (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Pedro Chirivella | 40 | 2460 | 0 | 2 | Fair |
| Jean-Charles Castelletto | 38 | 2128 | 1 | 0 | Did not deliver |
| Sébastien Corchia | 28 | 2070 | 0 | 1 | Fair |
| Jean-Kévin Augustin | 6 | 34 | 0 | 0 | Did not deliver |
Nice (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Hassane Kamara | 36 | 2966 | 2 | 1 | Excellent |
| Morgan Schneiderlin | 30 | 2201 | 0 | 0 | Fair |
| Jordan Lotomba | 31 | 2126 | 1 | 0 | Fair |
| William Saliba | 20 | 1800 | 1 | 0 | Good |
| Rony Lopes | 30 | 1797 | 3 | 1 | Fair |
| Jean-Clair Todibo | 15 | 1332 | 1 | 0 | Fair |
| Jeff Reine-Adélaïde | 14 | 1059 | 1 | 2 | Good |
| Robson Bambu | 32 | 1045 | 0 | 0 | Did not deliver |
Nimes (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Baptiste Reynet | 38 | 3420 | 0 | 0 | Good |
| Birger Meling | 27 | 2329 | 2 | 3 | Good |
| Andrés Cubas | 28 | 2251 | 1 | 0 | Fair |
| Niclas Eliasson | 32 | 1811 | 4 | 3 | Good |
| Patrick Burner | 30 | 1318 | 0 | 0 | Did not deliver |
| Naomichi Ueda | 15 | 711 | 0 | 0 | Did not deliver |
Paris Saint Germain (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Moise Kean | 30 | 1711 | 13 | 0 | Fair |
| Alessandro Florenzi | 26 | 1553 | 2 | 1 | Below expectations |
| Danilo Pereira | 26 | 1431 | 2 | 1 | Fair |
| Rafinha Alcántara | 27 | 1368 | 0 | 4 | Fair |
Reims (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Wout Faes | 33 | 2901 | 1 | 0 | Good |
| Valon Berisha | 25 | 1643 | 0 | 3 | Good |
| Thibault De Smet | 34 | 499 | 0 | 0 | Did not deliver |
| Fraser Hornby | 9 | 31 | 0 | 0 | Did not deliver |
Rennes (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Nayef Aguerd | 35 | 3153 | 3 | 1 | Excellent |
| Martin Terrier | 34 | 2455 | 9 | 7 | Excellent |
| Alfred Gomis | 26 | 1980 | 0 | 0 | Below expectations |
| Sehrou Guirassy | 27 | 1770 | 10 | 1 | Excellent |
| Dalbert | 23 | 369 | 0 | 1 | Did not deliver |
| Daniele Rugani | 3 | 90 | 0 | 0 | Did not deliver |
Saint Etienne (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Yvan Neyou | 31 | 2450 | 1 | 2 | Good |
| Pape Abou Cissé | 15 | 1260 | 0 | 0 | Below expectations |
| Anthony Modeste | 8 | 294 | 0 | 0 | Did not deliver |
| Panagiotis Retsos | 6 | 273 | 0 | 0 | Did not deliver |
| Jean-Philippe Krasso | 13 | 220 | 0 | 0 | Did not deliver |
Stade Brestois 29 (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Romain Faivre | 36 | 2904 | 6 | 5 | Excellent |
| Steve Mounié | 35 | 2701 | 9 | 4 | Excellent |
| Franck Honorat | 36 | 2467 | 8 | 4 | Excellent |
| Ronaël Pierre-Gabriel | 32 | 2314 | 1 | 0 | Fair |
| Christophe Herelle | 19 | 1385 | 0 | 0 | Did not deliver |
| Jean Lucas | 16 | 1010 | 0 | 2 | Good |
| Jérémy Le Douaron | 31 | 816 | 1 | 2 | Below expectations |
| Romain Philippoteaux | 24 | 583 | 1 | 0 | Did not deliver |
| Heriberto Tavares | 13 | 40 | 0 | 0 | Did not deliver |
Strasbourg (3 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Habib Diallo | 32 | 2329 | 9 | 3 | Excellent |
| Frédéric Guilbert | 13 | 1116 | 1 | 4 | Excellent |
| Mehdi Chahiri | 32 | 796 | 2 | 0 | Did not deliver |
Toulouse (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Sébastien Dewaest | 2 | 180 | 0 | 0 | Did not deliver |
| Deiver Machado | 2 | 180 | 1 | 0 | Did not deliver |
| Maxime Dupé | 2 | 180 | 0 | 0 | Did not deliver |
| Vakoun Issouf Bayo | 2 | 152 | 1 | 1 | Did not deliver |
| Brecht Dejaegere | 2 | 140 | 0 | 0 | Did not deliver |
| Rhys Healey | 2 | 101 | 0 | 0 | Did not deliver |
| Stijn Spierings | 1 | 79 | 0 | 0 | Did not deliver |
| Branco Van den Boomen | 2 | 40 | 0 | 0 | Did not deliver |