We identified 172 real signings for the first-team squad of the 20 clubs; 168 are included in the hit-rate calculation — 4 youth investments (under-23) are classified separately. Signings without relevant game time are classified as unsuccessful. The league's average hit rate was 42%.
Distribution of ratings
Club ranking by hit rate
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % |
|---|
| 1º | Paris Saint Germain | 1º | 5 | 5 | 4 | 1 | 0 | 90% |
| 2º | Marseille | 4º | 6 | 6 | 3 | 2 | 1 | 67% |
| 3º | Lyon | 3º | 7 | 7 | 4 | 1 | 2 | 64% |
| 4º | Lille | 17º | 7 | 7 | 3 | 2 | 2 | 57% |
| 5º | Strasbourg | 15º | 14 | 14 | 5 | 4 | 5 | 50% |
| 6º | Rennes | 5º | 9 | 9 | 4 | 1 | 4 | 50% |
| 7º | Montpellier | 10º | 8 | 8 | 3 | 2 | 3 | 50% |
| 8º | Nice | 8º | 7 | 7 | 2 | 3 | 2 | 50% |
| 9º | Dijon | 11º | 6 | 6 | 2 | 2 | 2 | 50% |
| 10º | Toulouse | 18º | 5 | 5 | 2 | 1 | 2 | 50% |
| 11º | Amiens | 13º | 16 | 14 | 4 | 5 | 5 | 46% |
| 12º | Saint Etienne | 7º | 11 | 10 | 3 | 2 | 5 | 40% |
| 13º | Metz | 20º | 12 | 12 | 2 | 3 | 7 | 29% |
| 14º | Bordeaux | 6º | 9 | 9 | 2 | 1 | 6 | 28% |
| 15º | Estac Troyes | 19º | 11 | 11 | 1 | 4 | 6 | 27% |
| 16º | Monaco | 2º | 10 | 10 | 1 | 3 | 6 | 25% |
| 17º | Guingamp | 12º | 9 | 9 | 1 | 2 | 6 | 22% |
| 18º | Nantes | 9º | 8 | 7 | 0 | 3 | 4 | 21% |
| 19º | Caen | 16º | 6 | 6 | 0 | 2 | 4 | 17% |
| 20º | Angers | 14º | 6 | 6 | 0 | 0 | 6 | 0% |
Successful signings count as a full point; Fair ones, half a point.
Hit rate by position
| Position | Evaluated | Successful | Hit rate % |
|---|
| Goalkeepers | 12 | 1 | 29% |
| Defenders | 45 | 12 | 43% |
| Midfielders | 67 | 19 | 38% |
| Forwards | 43 | 14 | 45% |
The 5 best-performing signings
| Player | Club | Minutes | G+A | Rating |
|---|
| Benjamin Bourigeaud | Rennes | 3103 | 10+7 | Excellent |
| Kylian Mbappé | Paris Saint Germain | 2097 | 13+8 | Excellent |
| Neymar | Paris Saint Germain | 1788 | 19+13 | Excellent |
| Naïm Sliti | Dijon | 2297 | 7+6 | Excellent |
| Rémy Cabella | Saint Etienne | 2260 | 7+6 | Excellent |
Methodology
Only genuine signings for the first-team squad are considered — academy promotions, loan returns and internal moves are excluded. Performance is classified into five tiers based on the player's output over the season (minutes, goal involvement, match ratings and consistency), compared with the other players in the competition.
Appendix — Signings by club
* Youth investment (under-23, no game time) — outside the calculation.
Amiens (16 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Regis Gurtner | 37 | 3330 | 0 | 0 | Good |
| Gaël Kakuta | 36 | 3092 | 6 | 6 | Good |
| Bakaye Dibassy | 32 | 2779 | 1 | 1 | Good |
| Prince Gouano | 32 | 2749 | 0 | 0 | Fair |
| Moussa Konaté | 33 | 2482 | 13 | 1 | Good |
| Bongani Zungu | 26 | 2089 | 1 | 0 | Fair |
| Serge Gakpé | 29 | 1836 | 3 | 3 | Below expectations |
| Danilo Avelar | 21 | 1728 | 1 | 0 | Fair |
| Issa Cissokho | 19 | 1629 | 0 | 0 | Below expectations |
| Stiven Mendoza | 13 | 1037 | 2 | 0 | Fair |
| Lacina Traoré | 18 | 775 | 0 | 2 | Below expectations |
| Guy Ngosso | 12 | 608 | 1 | 0 | Did not deliver |
| Quentin Cornette | 12 | 448 | 1 | 2 | Fair |
| Mathieu Bodmer | 13 | 388 | 1 | 0 | Did not deliver |
| Jean-Luc Dompe * | 1 | 28 | 0 | 0 | Investment |
| Nathan * | 1 | 9 | 0 | 0 | Investment |
Angers (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Prince Oniangué | 14 | 1065 | 1 | 0 | Did not deliver |
| Enzo Crivelli | 15 | 1027 | 1 | 1 | Did not deliver |
| Lassana Coulibaly | 20 | 832 | 1 | 2 | Did not deliver |
| Baptiste Guillaume | 16 | 447 | 1 | 2 | Did not deliver |
| Loïc Puyo | 8 | 162 | 0 | 0 | Did not deliver |
| Thomas Touré | 7 | 121 | 0 | 1 | Did not deliver |
Bordeaux (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Lukas Lerager | 37 | 3286 | 3 | 1 | Good |
| Benoît Costil | 36 | 3240 | 0 | 0 | Below expectations |
| Nicolas de Préville | 29 | 1939 | 4 | 4 | Good |
| Otávio | 21 | 1492 | 0 | 0 | Did not deliver |
| Soualiho Meïté | 18 | 1334 | 1 | 2 | Below expectations |
| Martin Braithwaite | 14 | 915 | 4 | 3 | Fair |
| Alexandre Mendy | 16 | 793 | 4 | 0 | Did not deliver |
| Jonathan Cafú | 19 | 623 | 2 | 1 | Did not deliver |
| Paul Baysse | 8 | 565 | 0 | 0 | Did not deliver |
Caen (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Alexander Djiku | 28 | 2475 | 0 | 0 | Fair |
| Youssef Aït Bennasser | 27 | 2052 | 0 | 0 | Below expectations |
| Baissama Sankoh | 26 | 1532 | 0 | 0 | Did not deliver |
| Stef Peeters | 20 | 1102 | 0 | 2 | Below expectations |
| Enzo Crivelli | 11 | 729 | 2 | 0 | Below expectations |
| Brice Samba | 4 | 315 | 0 | 0 | Fair |
Dijon (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Cédric Yambéré | 32 | 2829 | 3 | 0 | Fair |
| Papy Djilobodji | 30 | 2699 | 0 | 1 | Good |
| Naïm Sliti | 31 | 2297 | 7 | 6 | Excellent |
| Benjamin Jeannot | 24 | 1402 | 4 | 1 | Below expectations |
| Xeka | 17 | 1394 | 2 | 3 | Fair |
| Wesley Lautoa | 10 | 622 | 0 | 0 | Did not deliver |
Estac Troyes (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mathieu Deplagne | 28 | 2413 | 0 | 2 | Fair |
| François Bellugou | 30 | 2183 | 0 | 0 | Did not deliver |
| Adama Niane | 33 | 2168 | 8 | 2 | Fair |
| Saîf-Eddine Khaoui | 32 | 1960 | 5 | 2 | Good |
| Mamadou Samassa | 21 | 1890 | 0 | 0 | Fair |
| Oswaldo Vizcarrondo | 20 | 1713 | 0 | 0 | Did not deliver |
| Bryan Pelé | 31 | 1616 | 2 | 2 | Did not deliver |
| Tristan Dingome | 14 | 1195 | 0 | 0 | Did not deliver |
| Hyun-Jun Suk | 26 | 1193 | 6 | 0 | Fair |
| Rémi Walter | 12 | 999 | 0 | 1 | Did not deliver |
| Jonathan Tinhan | 5 | 68 | 0 | 0 | Did not deliver |
Guingamp (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Pedro Rebocho | 21 | 1723 | 0 | 2 | Fair |
| Clément Grenier | 15 | 1211 | 5 | 4 | Excellent |
| Franck Tabanou | 15 | 1047 | 0 | 2 | Did not deliver |
| Lebogang Phiri | 22 | 1022 | 0 | 1 | Did not deliver |
| Abdoul Camara | 14 | 895 | 2 | 1 | Fair |
| Yeni N'Gbakoto | 16 | 566 | 3 | 0 | Below expectations |
| Marc-Aurele Caillard | 0 | 0 | 0 | 0 | Did not deliver |
| Denis Petrić | 0 | 0 | 0 | 0 | Did not deliver |
| J. Placide | 0 | 0 | 0 | 0 | Did not deliver |
Lille (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Edgar Ié | 35 | 3146 | 1 | 0 | Fair |
| Nicolas Pépé | 36 | 2844 | 13 | 4 | Good |
| Thiago Maia | 34 | 2466 | 0 | 0 | Did not deliver |
| Thiago Mendes | 31 | 2299 | 3 | 4 | Good |
| Luiz Araújo | 34 | 2018 | 5 | 3 | Fair |
| Kévin Malcuit | 23 | 1817 | 0 | 6 | Good |
| Ezequiel Ponce | 28 | 1086 | 2 | 1 | Below expectations |
Lyon (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Marcelo | 35 | 3106 | 3 | 1 | Excellent |
| Mariano Díaz | 34 | 2515 | 18 | 4 | Excellent |
| Bertrand Traoré | 31 | 2291 | 13 | 4 | Excellent |
| Ferland Mendy | 27 | 2121 | 0 | 5 | Fair |
| Kenny Tete | 22 | 1602 | 1 | 4 | Below expectations |
| Marçal | 18 | 1294 | 0 | 3 | Good |
| Pape Cheikh | 1 | 9 | 0 | 0 | Did not deliver |
Marseille (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Luiz Gustavo | 34 | 3023 | 5 | 1 | Excellent |
| Adil Rami | 33 | 2957 | 1 | 2 | Good |
| Jordan Amavi | 27 | 2191 | 0 | 6 | Fair |
| Valère Germain | 35 | 2169 | 9 | 5 | Good |
| Konstantinos Mitroglou | 19 | 871 | 9 | 0 | Fair |
| Aymen Abdennour | 8 | 500 | 0 | 0 | Did not deliver |
Metz (12 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Moussa Niakhaté | 35 | 3105 | 0 | 1 | Fair |
| Nolan Roux | 35 | 2844 | 15 | 1 | Excellent |
| Matthieu Dossevi | 30 | 2515 | 1 | 11 | Excellent |
| Emmanuel Rivière | 28 | 2014 | 5 | 2 | Fair |
| Gerónimo Poblete | 25 | 1650 | 0 | 0 | Did not deliver |
| Julian Palmieri | 15 | 1132 | 0 | 0 | Did not deliver |
| Danijel Miličević | 12 | 713 | 0 | 3 | Fair |
| Cafú | 10 | 682 | 0 | 0 | Did not deliver |
| Farid Boulaya | 7 | 172 | 0 | 1 | Did not deliver |
| Brian Fernández | 7 | 121 | 0 | 0 | Did not deliver |
| Quentin Beunardeau | 1 | 38 | 0 | 0 | Did not deliver |
| Philipp Wollscheid | 0 | 0 | 0 | 0 | Did not deliver |
Monaco (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Youri Tielemans | 27 | 1566 | 0 | 1 | Did not deliver |
| Keita Baldé | 23 | 1482 | 8 | 5 | Good |
| Rachid Ghezzal | 26 | 995 | 2 | 3 | Fair |
| Adama Diakhaby | 22 | 850 | 2 | 3 | Did not deliver |
| Stevan Jovetić | 15 | 750 | 8 | 1 | Fair |
| Terence Kongolo | 3 | 258 | 0 | 0 | Fair |
| Diego Benaglio | 3 | 225 | 0 | 0 | Below expectations |
| Soualiho Meïté | 2 | 95 | 0 | 0 | Did not deliver |
| Pietro Pellegri | 3 | 21 | 0 | 0 | Did not deliver |
| Jordy Gaspar | 0 | 0 | 0 | 0 | Did not deliver |
Montpellier (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Benjamin Lecomte | 38 | 3420 | 0 | 0 | Fair |
| Pedro Mendes | 34 | 2856 | 1 | 1 | Good |
| Ruben Aguilar | 31 | 2458 | 0 | 2 | Fair |
| Giovanni Sio | 33 | 2202 | 10 | 3 | Excellent |
| Junior Sambia | 28 | 1538 | 1 | 4 | Good |
| Facundo Piriz | 15 | 801 | 0 | 0 | Did not deliver |
| Ambroise Oyongo | 3 | 203 | 0 | 0 | Below expectations |
| Jérémie Porsan-Clemente | 1 | 89 | 0 | 0 | Did not deliver |
Nantes (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ciprian Tătărușanu | 37 | 3330 | 0 | 0 | Fair |
| Nicolas Pallois | 28 | 2434 | 0 | 3 | Fair |
| Andrei Girotto | 25 | 1518 | 1 | 1 | Did not deliver |
| Chidozie Awaziem | 22 | 1509 | 1 | 1 | Did not deliver |
| Rene Krhin | 18 | 1313 | 1 | 0 | Below expectations |
| Yassine El Ghanassy | 20 | 637 | 0 | 0 | Did not deliver |
| Kalifa Coulibaly | 8 | 338 | 1 | 0 | Fair |
| Joris Kayembe Ditu * | 3 | 87 | 0 | 0 | Investment |
Nice (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Pierre Lees Melou | 34 | 2897 | 5 | 6 | Excellent |
| Allan Saint-Maximin | 30 | 2259 | 3 | 7 | Excellent |
| Marlon | 23 | 1929 | 0 | 0 | Fair |
| Adrien Tameze | 26 | 1681 | 0 | 1 | Fair |
| Christophe Jallet | 15 | 1174 | 0 | 0 | Did not deliver |
| Wesley Sneijder | 5 | 400 | 0 | 0 | Fair |
| Jean-Victor Makengo | 5 | 244 | 0 | 0 | Did not deliver |
Paris Saint Germain (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Kylian Mbappé | 27 | 2097 | 13 | 8 | Excellent |
| Dani Alves | 25 | 2063 | 1 | 7 | Excellent |
| Neymar | 20 | 1788 | 19 | 13 | Excellent |
| Yuri Berchiche | 22 | 1713 | 2 | 4 | Good |
| Lassana Diarra | 10 | 608 | 0 | 1 | Fair |
Rennes (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Benjamin Bourigeaud | 37 | 3103 | 10 | 7 | Excellent |
| Tomáš Koubek | 34 | 3060 | 0 | 0 | Fair |
| Hamari Traore | 30 | 2640 | 0 | 1 | Good |
| Wahbi Khazri | 24 | 1926 | 9 | 2 | Excellent |
| Ismaila Sarr | 24 | 1864 | 5 | 3 | Good |
| Faitout Maouassa | 19 | 886 | 0 | 2 | Did not deliver |
| Diafra Sakho | 13 | 777 | 2 | 0 | Below expectations |
| Jordan Tell | 6 | 109 | 1 | 0 | Did not deliver |
| Raïs M'Bolhi | 1 | 90 | 0 | 0 | Did not deliver |
Saint Etienne (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Rémy Cabella | 26 | 2260 | 7 | 6 | Excellent |
| Gabriel Silva | 25 | 2079 | 1 | 2 | Fair |
| Yann M'Vila | 17 | 1482 | 0 | 0 | Fair |
| Neven Subotić | 16 | 1440 | 2 | 1 | Good |
| Saidy Janko | 21 | 1418 | 0 | 0 | Did not deliver |
| Assane Dioussé | 25 | 1348 | 1 | 0 | Did not deliver |
| Mathieu Debuchy | 15 | 1316 | 4 | 0 | Good |
| Loïs Diony | 16 | 933 | 0 | 0 | Did not deliver |
| Hernani | 14 | 539 | 3 | 0 | Did not deliver |
| Paul-Georges Ntep | 13 | 506 | 1 | 0 | Below expectations |
| Vagner Dias * | 4 | 106 | 0 | 0 | Investment |
Strasbourg (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jonas Martin | 36 | 3039 | 4 | 2 | Good |
| Jean-Eudes Aholou | 35 | 3010 | 5 | 0 | Good |
| Kenny Lala | 31 | 2725 | 3 | 4 | Good |
| Dimitri Liénard | 33 | 2606 | 5 | 5 | Excellent |
| Bakary Koné | 28 | 2462 | 1 | 0 | Below expectations |
| Pablo Martinez | 24 | 2115 | 0 | 1 | Below expectations |
| Nuno Da Costa | 26 | 1739 | 5 | 2 | Fair |
| Kader Mangane | 20 | 1719 | 1 | 1 | Fair |
| Martin Terrier | 25 | 1672 | 3 | 3 | Good |
| Stéphane Bahoken | 26 | 1665 | 7 | 1 | Fair |
| Benjamin Corgnet | 18 | 1381 | 0 | 2 | Fair |
| Dimitri Foulquier | 16 | 1238 | 0 | 2 | Did not deliver |
| Idriss Saadi | 26 | 928 | 4 | 0 | Did not deliver |
| Vincent Nogueira | 3 | 64 | 0 | 0 | Did not deliver |
Toulouse (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Max Gradel | 29 | 2417 | 8 | 1 | Excellent |
| Giannelli Imbula | 28 | 2256 | 1 | 1 | Good |
| Yannick Cahuzac | 20 | 1522 | 0 | 0 | Did not deliver |
| Yaya Sanogo | 27 | 1513 | 6 | 0 | Fair |
| Firmin Ndombe Mubele | 11 | 366 | 1 | 1 | Did not deliver |