We identified 203 real signings for the first-team squad of the 20 clubs; 194 are included in the hit-rate calculation — 9 youth investments (under-23) are classified separately. Signings without relevant game time are classified as unsuccessful. The league's average hit rate was 37%.
Distribution of ratings
Club ranking by hit rate
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % |
|---|
| 1º | Juventus | 1º | 6 | 5 | 3 | 1 | 1 | 70% |
| 2º | Inter | 4º | 9 | 9 | 4 | 3 | 2 | 61% |
| 3º | Torino | 7º | 7 | 6 | 3 | 1 | 2 | 58% |
| 4º | AS Roma | 6º | 10 | 9 | 3 | 3 | 3 | 50% |
| 5º | Bologna | 10º | 12 | 12 | 5 | 1 | 6 | 46% |
| 6º | Lazio | 8º | 6 | 6 | 2 | 1 | 3 | 42% |
| 7º | Spal | 13º | 10 | 9 | 2 | 3 | 4 | 39% |
| 8º | Napoli | 2º | 9 | 8 | 2 | 2 | 4 | 38% |
| 9º | Sassuolo | 11º | 8 | 8 | 1 | 4 | 3 | 38% |
| 10º | Sampdoria | 9º | 13 | 13 | 2 | 5 | 6 | 35% |
| 11º | Udinese | 12º | 14 | 13 | 3 | 3 | 7 | 35% |
| 12º | Fiorentina | 14º | 9 | 9 | 2 | 2 | 5 | 33% |
| 13º | Cagliari | 15º | 6 | 6 | 1 | 2 | 3 | 33% |
| 14º | Empoli | 18º | 15 | 15 | 3 | 3 | 9 | 30% |
| 15º | Parma | 16º | 15 | 15 | 4 | 1 | 10 | 30% |
| 16º | AC Milan | 5º | 7 | 7 | 2 | 0 | 5 | 29% |
| 17º | Atalanta | 3º | 7 | 6 | 1 | 1 | 4 | 25% |
| 18º | Genoa | 17º | 16 | 15 | 2 | 2 | 11 | 20% |
| 19º | Frosinone | 19º | 16 | 16 | 2 | 2 | 12 | 19% |
| 20º | Chievo | 20º | 8 | 7 | 0 | 1 | 6 | 7% |
Successful signings count as a full point; Fair ones, half a point.
Hit rate by position
| Position | Evaluated | Successful | Hit rate % |
|---|
| Goalkeepers | 25 | 4 | 32% |
| Defenders | 57 | 16 | 38% |
| Midfielders | 72 | 14 | 28% |
| Forwards | 40 | 13 | 44% |
The 5 best-performing signings
| Player | Club | Minutes | G+A | Rating |
|---|
| Duván Zapata | Atalanta | 2870 | 23+7 | Excellent |
| Cristiano Ronaldo | Juventus | 2689 | 21+8 | Excellent |
| Matteo Politano | Inter | 2566 | 5+6 | Excellent |
| Armando Izzo | Torino | 3274 | 4+1 | Excellent |
| Fabián Ruiz | Napoli | 1990 | 5+4 | 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.
AC Milan (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Tiemoué Bakayoko | 31 | 2301 | 1 | 1 | Good |
| Gonzalo Higuaín | 15 | 1280 | 6 | 1 | Excellent |
| Samu Castillejo | 31 | 1008 | 4 | 2 | Below expectations |
| Lucas Paquetá | 13 | 850 | 1 | 1 | Did not deliver |
| Diego Laxalt | 20 | 651 | 0 | 0 | Did not deliver |
| Pepe Reina | 4 | 328 | 0 | 0 | Did not deliver |
| Ivan Strinić | 0 | 0 | 0 | 0 | Did not deliver |
AS Roma (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Steven N'Zonzi | 30 | 2619 | 1 | 2 | Excellent |
| Robin Olsen | 27 | 2430 | 0 | 0 | Below expectations |
| Bryan Cristante | 35 | 2418 | 4 | 3 | Good |
| Justin Kluivert | 29 | 1344 | 1 | 6 | Good |
| Davide Santon | 17 | 1013 | 0 | 1 | Below expectations |
| Antonio Mirante | 11 | 990 | 0 | 0 | Fair |
| Iván Marcano | 10 | 810 | 0 | 0 | Fair |
| Javier Pastore | 14 | 596 | 3 | 0 | Fair |
| Ante Ćorić | 2 | 22 | 0 | 0 | Did not deliver |
| Daniel Fuzato * | 0 | 0 | 0 | 0 | Investment |
Atalanta (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Duván Zapata | 37 | 2870 | 23 | 7 | Excellent |
| Mario Pašalić | 33 | 1613 | 5 | 3 | Fair |
| Emiliano Rigoni | 12 | 522 | 3 | 0 | Did not deliver |
| Ali Adnan | 3 | 166 | 0 | 0 | Did not deliver |
| Marco Tumminello | 2 | 7 | 0 | 0 | Did not deliver |
| Roger Ibañez * | 1 | 1 | 0 | 0 | Investment |
| Luca Rizzo | 0 | 0 | 0 | 0 | Did not deliver |
Bologna (12 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Łukasz Skorupski | 38 | 3420 | 0 | 0 | Fair |
| Danilo | 35 | 3080 | 1 | 0 | Good |
| Federico Santander | 32 | 2067 | 8 | 3 | Excellent |
| Mitchell Dijks | 25 | 2024 | 1 | 0 | Did not deliver |
| Roberto Soriano | 17 | 1492 | 2 | 2 | Good |
| Arturo Calabresi | 18 | 1413 | 1 | 0 | Did not deliver |
| Federico Mattiello | 17 | 1341 | 1 | 1 | Below expectations |
| Nicola Sansone | 15 | 1142 | 2 | 4 | Good |
| Lyanco | 13 | 1122 | 1 | 0 | Good |
| Diego Falcinelli | 16 | 716 | 0 | 1 | Did not deliver |
| Simone Edera | 4 | 198 | 0 | 0 | Did not deliver |
| Nehuén Paz | 2 | 113 | 0 | 0 | Did not deliver |
Cagliari (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Darijo Srna | 26 | 2087 | 0 | 4 | Excellent |
| Ragnar Klavan | 15 | 1231 | 0 | 0 | Did not deliver |
| Lucas Castro | 12 | 897 | 1 | 3 | Fair |
| Fabrizio Cacciatore | 7 | 584 | 0 | 2 | Fair |
| Valter Birsa | 12 | 353 | 0 | 0 | Did not deliver |
| Cyril Théréau | 5 | 131 | 0 | 0 | Did not deliver |
Chievo (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Federico Barba | 30 | 2485 | 0 | 0 | Below expectations |
| Luca Rossettini | 21 | 1822 | 0 | 0 | Below expectations |
| Joel Obi | 11 | 665 | 1 | 0 | Fair |
| Marco Andreolli | 8 | 645 | 0 | 0 | Did not deliver |
| Filip Đorđević | 13 | 629 | 1 | 1 | Below expectations |
| Ezequiel Schelotto | 4 | 143 | 0 | 0 | Did not deliver |
| Lucas Piazón | 4 | 81 | 0 | 0 | Did not deliver |
| Martin Valjent * | 0 | 0 | 0 | 0 | Investment |
Empoli (15 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Giovanni Di Lorenzo | 37 | 3330 | 5 | 3 | Good |
| Matías Silvestre | 34 | 3060 | 2 | 0 | Fair |
| Domenico Maietta | 21 | 1718 | 0 | 0 | Did not deliver |
| Afriyie Acquah | 28 | 1514 | 2 | 0 | Below expectations |
| Ivan Provedel | 16 | 1440 | 0 | 0 | Did not deliver |
| Bartłomiej Drągowski | 14 | 1260 | 0 | 0 | Good |
| Diego Farias | 16 | 1204 | 4 | 4 | Excellent |
| Cristian Dell'Orco | 12 | 1035 | 1 | 0 | Below expectations |
| Leonardo Capezzi | 12 | 782 | 0 | 0 | Did not deliver |
| Luca Antonelli | 13 | 761 | 0 | 1 | Did not deliver |
| Marko Pajač | 10 | 740 | 2 | 2 | Fair |
| Pietro Terracciano | 8 | 720 | 0 | 0 | Fair |
| Salih Uçan | 14 | 269 | 1 | 1 | Did not deliver |
| Gabriel Vasconcelos | 0 | 0 | 0 | 0 | Did not deliver |
| Andrea Fulignati | 0 | 0 | 0 | 0 | Did not deliver |
Fiorentina (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Alban Lafont | 34 | 3015 | 0 | 0 | Fair |
| Gerson | 36 | 2441 | 3 | 3 | Good |
| Edimilson Fernandes | 29 | 1973 | 2 | 0 | Below expectations |
| Luis Muriel | 19 | 1444 | 6 | 0 | Good |
| Kevin Mirallas | 27 | 1302 | 2 | 1 | Fair |
| Federico Ceccherini | 15 | 997 | 0 | 0 | Below expectations |
| Marko Pjaca | 19 | 755 | 1 | 1 | Did not deliver |
| Christian Nørgaard | 6 | 329 | 0 | 0 | Did not deliver |
| Pietro Terracciano | 2 | 180 | 0 | 0 | Did not deliver |
Frosinone (16 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Marco Sportiello | 35 | 3150 | 0 | 0 | Good |
| Edoardo Goldaniga | 29 | 2610 | 1 | 1 | Fair |
| Marco Capuano | 27 | 2312 | 0 | 0 | Below expectations |
| Andrea Beghetto | 27 | 2227 | 0 | 3 | Good |
| Francesco Zampano | 27 | 2104 | 0 | 1 | Did not deliver |
| Raffaele Maiello | 29 | 2046 | 0 | 0 | Fair |
| Bartosz Salamon | 20 | 1723 | 0 | 0 | Below expectations |
| Cristian Molinaro | 14 | 1160 | 0 | 0 | Did not deliver |
| Francesco Cassata | 19 | 1128 | 2 | 2 | Below expectations |
| Joel Campbell | 17 | 901 | 0 | 3 | Below expectations |
| Lorenzo Crisetig | 8 | 512 | 0 | 0 | Did not deliver |
| Stipe Perica | 7 | 466 | 0 | 0 | Did not deliver |
| Marcello Trotta | 12 | 394 | 0 | 0 | Did not deliver |
| Emil Hallfreðsson | 6 | 393 | 0 | 0 | Did not deliver |
| Federico Viviani | 5 | 341 | 0 | 0 | Did not deliver |
| Rai Vloet | 5 | 119 | 0 | 0 | Did not deliver |
Genoa (16 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Domenico Criscito | 34 | 2981 | 2 | 4 | Excellent |
| Ionuț Radu | 32 | 2880 | 0 | 0 | Fair |
| Rômulo | 17 | 1357 | 1 | 2 | Good |
| Ivan Radovanović | 15 | 1207 | 0 | 0 | Below expectations |
| Lukas Lerager | 13 | 1034 | 1 | 0 | Did not deliver |
| Esteban Rolón | 18 | 952 | 0 | 0 | Did not deliver |
| Koray Günter | 14 | 834 | 0 | 0 | Below expectations |
| Antonio Sanabria | 14 | 712 | 3 | 0 | Fair |
| Sandro | 13 | 712 | 0 | 1 | Did not deliver |
| Federico Marchetti | 4 | 360 | 0 | 0 | Did not deliver |
| Luca Mazzitelli | 10 | 319 | 0 | 0 | Did not deliver |
| Stefano Sturaro | 4 | 196 | 0 | 0 | Did not deliver |
| Giuseppe Pezzella * | 5 | 113 | 0 | 0 | Investment |
| Jandrei | 1 | 90 | 0 | 0 | Did not deliver |
| Marcos Curado | 0 | 0 | 0 | 0 | Did not deliver |
| Lorenzo Callegari | 0 | 0 | 0 | 0 | Did not deliver |
Inter (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Kwadwo Asamoah | 32 | 2671 | 0 | 1 | Good |
| Matteo Politano | 36 | 2566 | 5 | 6 | Excellent |
| Stefan de Vrij | 28 | 2520 | 2 | 0 | Good |
| Radja Nainggolan | 29 | 1971 | 6 | 3 | Excellent |
| Lautaro Martínez | 27 | 1341 | 6 | 2 | Fair |
| Keita Baldé | 24 | 886 | 5 | 2 | Fair |
| Šime Vrsaljko | 10 | 726 | 0 | 2 | Fair |
| Cédric Soares | 4 | 259 | 0 | 1 | Did not deliver |
| Eddy Salcedo | 0 | 0 | 0 | 0 | Did not deliver |
Juventus (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Cristiano Ronaldo | 31 | 2689 | 21 | 8 | Excellent |
| João Cancelo | 24 | 1911 | 1 | 3 | Excellent |
| Emre Can | 28 | 1728 | 4 | 1 | Excellent |
| Mattia Perin | 8 | 720 | 0 | 0 | Fair |
| Leonardo Spinazzola | 9 | 585 | 0 | 1 | Did not deliver |
| Stephy Mavididi * | 1 | 21 | 0 | 0 | Investment |
Lazio (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Francesco Acerbi | 37 | 3310 | 3 | 1 | Excellent |
| Joaquín Correa | 34 | 1919 | 5 | 6 | Excellent |
| Milan Badelj | 23 | 1143 | 1 | 0 | Did not deliver |
| Rômulo | 10 | 777 | 0 | 1 | Fair |
| Riza Durmisi | 10 | 323 | 0 | 1 | Did not deliver |
| Valon Berisha | 8 | 192 | 0 | 0 | Did not deliver |
Napoli (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Fabián Ruiz | 27 | 1990 | 5 | 4 | Excellent |
| Kévin Malcuit | 24 | 1805 | 0 | 2 | Good |
| David Ospina | 17 | 1457 | 0 | 0 | Below expectations |
| Alex Meret | 14 | 1151 | 0 | 0 | Below expectations |
| Orestis Karnezis | 9 | 810 | 0 | 0 | Fair |
| Simone Verdi | 22 | 703 | 3 | 3 | Below expectations |
| Amin Younes | 12 | 498 | 3 | 2 | Fair |
| Hrvoje Milić | 0 | 0 | 0 | 0 | Did not deliver |
| Nikita Contini * | 0 | 0 | 0 | 0 | Investment |
Parma (15 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Luigi Sepe | 37 | 3330 | 0 | 0 | Good |
| Bruno Alves | 33 | 2924 | 4 | 1 | Good |
| Roberto Inglese | 25 | 1968 | 9 | 1 | Good |
| Luca Rigoni | 23 | 1763 | 2 | 1 | Below expectations |
| Alessandro Bastoni | 24 | 1693 | 1 | 0 | Did not deliver |
| Juraj Kucka | 18 | 1535 | 4 | 3 | Good |
| Fabio Ceravolo | 25 | 1183 | 2 | 0 | Did not deliver |
| Massimo Gobbi | 16 | 1183 | 0 | 1 | Did not deliver |
| Jonathan Biabiany | 18 | 1069 | 0 | 0 | Did not deliver |
| Marcello Gazzola | 20 | 926 | 1 | 0 | Did not deliver |
| Federico Dimarco | 13 | 897 | 1 | 0 | Fair |
| Alessandro Deiola | 10 | 541 | 0 | 1 | Below expectations |
| Alberto Grassi | 7 | 461 | 0 | 0 | Did not deliver |
| Amato Ciciretti | 6 | 140 | 0 | 0 | Did not deliver |
| Gianni Munari | 1 | 2 | 0 | 0 | Did not deliver |
Sampdoria (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Emil Audero | 36 | 3240 | 0 | 0 | Fair |
| Albin Ekdal | 32 | 2652 | 0 | 0 | Fair |
| Grégoire Defrel | 36 | 2348 | 11 | 3 | Excellent |
| Omar Colley | 21 | 1765 | 0 | 0 | Fair |
| Lorenzo Tonelli | 19 | 1653 | 1 | 0 | Good |
| Jakub Jankto | 25 | 956 | 0 | 0 | Did not deliver |
| Riccardo Saponara | 22 | 904 | 2 | 4 | Fair |
| Manolo Gabbiadini | 18 | 813 | 4 | 2 | Fair |
| Ronaldo Vieira | 14 | 600 | 0 | 0 | Did not deliver |
| Alex Ferrari | 6 | 540 | 0 | 0 | Below expectations |
| Júnior Tavares | 3 | 184 | 0 | 0 | Did not deliver |
| Rafael Cabral | 2 | 180 | 0 | 0 | Did not deliver |
| Marco Sau | 5 | 54 | 0 | 0 | Did not deliver |
Sassuolo (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mehdi Bourabia | 32 | 2015 | 1 | 0 | Below expectations |
| Manuel Locatelli | 29 | 1849 | 2 | 4 | Fair |
| Marlon | 18 | 1509 | 1 | 0 | Good |
| Jérémie Boga | 25 | 1439 | 3 | 1 | Fair |
| Filip Đuričić | 23 | 1259 | 2 | 1 | Did not deliver |
| Federico Di Francesco | 19 | 1090 | 2 | 2 | Fair |
| Kevin-Prince Boateng | 13 | 942 | 4 | 1 | Fair |
| Enrico Brignola | 7 | 171 | 1 | 0 | Did not deliver |
Spal (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Andrea Petagna | 36 | 3041 | 16 | 1 | Excellent |
| Mohamed Fares | 35 | 2947 | 3 | 0 | Good |
| Simone Missiroli | 34 | 2750 | 0 | 0 | Fair |
| Emiliano Viviano | 17 | 1525 | 0 | 0 | Below expectations |
| Mattia Valoti | 24 | 1226 | 2 | 0 | Below expectations |
| Alessandro Murgia | 15 | 1071 | 0 | 3 | Fair |
| Mirko Valdifiori | 15 | 666 | 0 | 1 | Fair |
| Johan Djourou | 5 | 279 | 0 | 0 | Did not deliver |
| Vanja Milinković-Savić * | 2 | 165 | 0 | 0 | Investment |
| Vasco Regini | 4 | 84 | 0 | 0 | Did not deliver |
Torino (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Armando Izzo | 37 | 3274 | 4 | 1 | Excellent |
| Soualiho Meïté | 35 | 2662 | 2 | 4 | Good |
| Ola Aina | 30 | 2162 | 1 | 3 | Good |
| Simone Zaza | 29 | 1424 | 4 | 3 | Below expectations |
| Koffi Djidji | 17 | 1388 | 0 | 0 | Fair |
| Roberto Soriano | 11 | 468 | 0 | 2 | Below expectations |
| Gleison Bremer * | 5 | 182 | 0 | 0 | Investment |
Udinese (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| William Troost-Ekong | 35 | 3067 | 0 | 0 | Fair |
| Rolando Mandragora | 35 | 2921 | 3 | 2 | Good |
| Juan Musso | 29 | 2610 | 0 | 0 | Good |
| Ignacio Pussetto | 35 | 2185 | 4 | 4 | Good |
| Marco D'Alessandro | 24 | 1496 | 0 | 2 | Below expectations |
| Sebastian De Maio | 16 | 1173 | 1 | 0 | Fair |
| Hidde ter Avest | 13 | 979 | 0 | 1 | Below expectations |
| Stefano Okaka | 16 | 979 | 6 | 1 | Fair |
| Marvin Zeegelaar | 12 | 955 | 0 | 0 | Did not deliver |
| Sandro | 12 | 595 | 0 | 0 | Did not deliver |
| Darwin Machís | 13 | 457 | 0 | 1 | Below expectations |
| Łukasz Teodorczyk | 16 | 400 | 1 | 0 | Did not deliver |
| Felipe Vizeu * | 5 | 28 | 0 | 0 | Investment |
| Nicolas Andrade | 0 | 0 | 0 | 0 | Did not deliver |