We identified 219 real signings for the first-team squad of the 18 clubs; 213 are included in the hit-rate calculation — 6 youth investments (under-23) are classified separately. Signings without relevant game time are classified as unsuccessful. The league's average hit rate was 33%.
Distribution of ratings
Club ranking by hit rate
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % |
|---|
| 1º | Guimaraes | 5º | 12 | 12 | 5 | 3 | 4 | 54% |
| 2º | FC Porto | 2º | 6 | 5 | 2 | 1 | 2 | 50% |
| 3º | Tondela | 15º | 5 | 4 | 2 | 0 | 2 | 50% |
| 4º | Boavista | 8º | 13 | 13 | 3 | 6 | 4 | 46% |
| 5º | SC Braga | 4º | 8 | 7 | 2 | 2 | 3 | 43% |
| 6º | Santa Clara | 10º | 25 | 25 | 7 | 6 | 12 | 40% |
| 7º | Moreirense | 6º | 14 | 14 | 5 | 1 | 8 | 39% |
| 8º | Sporting CP | 3º | 13 | 12 | 3 | 3 | 6 | 38% |
| 9º | Vitoria Setubal | 13º | 16 | 16 | 3 | 5 | 8 | 34% |
| 10º | Chaves | 16º | 15 | 15 | 3 | 4 | 8 | 33% |
| 11º | Benfica | 1º | 10 | 9 | 2 | 2 | 5 | 33% |
| 12º | Belenenses | 9º | 14 | 14 | 1 | 7 | 6 | 32% |
| 13º | Rio Ave | 7º | 18 | 18 | 4 | 3 | 11 | 31% |
| 14º | Aves | 14º | 10 | 10 | 2 | 1 | 7 | 25% |
| 15º | Maritimo | 12º | 6 | 6 | 0 | 2 | 4 | 17% |
| 16º | Feirense | 18º | 11 | 11 | 0 | 3 | 8 | 14% |
| 17º | Nacional | 17º | 16 | 16 | 1 | 1 | 14 | 9% |
| 18º | Portimonense | 11º | 7 | 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 | 19 | 3 | 26% |
| Defenders | 71 | 13 | 32% |
| Midfielders | 72 | 19 | 34% |
| Forwards | 51 | 10 | 34% |
The 5 best-performing signings
| Player | Club | Minutes | G+A | Rating |
|---|
| Chiquinho | Moreirense | 2783 | 8+7 | Excellent |
| Nani | Sporting CP | 1350 | 7+4 | Excellent |
| Xavier | Tondela | 2344 | 3+6 | Excellent |
| Davidson | Guimaraes | 2630 | 8+6 | Excellent |
| Wenderson Galeno | Rio Ave | 2130 | 5+5 | 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.
Aves (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Quentin Beunardeau | 26 | 2340 | 0 | 0 | Good |
| Vitor Costa | 25 | 2087 | 1 | 1 | Fair |
| Luquinhas | 17 | 1399 | 0 | 3 | Good |
| Issam El Adoua | 13 | 1141 | 0 | 0 | Below expectations |
| Rúben Oliveira | 20 | 840 | 1 | 0 | Did not deliver |
| André Ferreira | 8 | 707 | 0 | 0 | Did not deliver |
| Bruno Gomes | 11 | 345 | 0 | 0 | Did not deliver |
| Michel Douglas | 5 | 67 | 0 | 0 | Did not deliver |
| Erik | 2 | 25 | 0 | 0 | Did not deliver |
| Caíque | 1 | 24 | 0 | 0 | Did not deliver |
Belenenses (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Andre Santos | 27 | 2277 | 1 | 1 | Fair |
| Jonatan Lucca | 30 | 2255 | 3 | 2 | Fair |
| Nuno Coelho | 24 | 1910 | 1 | 0 | Fair |
| Eduardo Henrique | 24 | 1757 | 1 | 2 | Good |
| Zakarya Bergdich | 25 | 1726 | 0 | 0 | Did not deliver |
| Reinildo Mandava | 16 | 1220 | 0 | 0 | Fair |
| Alhassane Keita | 15 | 1088 | 3 | 0 | Fair |
| Henrique Almeida | 15 | 908 | 5 | 0 | Fair |
| Matija Ljujic | 25 | 838 | 0 | 0 | Did not deliver |
| Pierre Sagna | 13 | 722 | 0 | 0 | Did not deliver |
| Kikas | 15 | 665 | 5 | 1 | Fair |
| Kiki | 4 | 236 | 0 | 0 | Did not deliver |
| Mika | 2 | 180 | 0 | 0 | Did not deliver |
| Ousmane Drame | 6 | 95 | 0 | 1 | Did not deliver |
Benfica (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Odysseas Vlachodimos | 33 | 2965 | 0 | 0 | Good |
| Gabriel Pires | 16 | 1175 | 0 | 1 | Good |
| Facundo Ferreyra | 5 | 283 | 1 | 0 | Fair |
| Germán Conti | 4 | 266 | 0 | 0 | Fair |
| Nicolás Castillo | 4 | 143 | 0 | 0 | Did not deliver |
| Alfa Semedo * | 5 | 98 | 0 | 0 | Investment |
| Sébastien Corchia | 2 | 92 | 0 | 0 | Did not deliver |
| Cristian Lema | 1 | 82 | 0 | 0 | Did not deliver |
| Tyronne Ebuehi | 0 | 0 | 0 | 0 | Did not deliver |
| João Amaral | 0 | 0 | 0 | 0 | Did not deliver |
Boavista (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Neris | 32 | 2826 | 1 | 1 | Excellent |
| Rafael Costa | 30 | 2033 | 2 | 4 | Good |
| Helton Leite | 21 | 1890 | 0 | 0 | Good |
| Rafael Lopes | 25 | 1615 | 2 | 2 | Fair |
| Matheus Indio | 17 | 1084 | 1 | 0 | Below expectations |
| Rafael Bracalli | 12 | 1080 | 0 | 0 | Fair |
| Raphael Silva | 13 | 1072 | 0 | 0 | Fair |
| Federico Falcone | 23 | 1022 | 4 | 0 | Below expectations |
| Alberto Bueno | 15 | 900 | 2 | 4 | Fair |
| Gustavo Sauer | 10 | 887 | 1 | 1 | Fair |
| Jubal | 13 | 873 | 0 | 1 | Fair |
| André Claro | 16 | 597 | 1 | 0 | Did not deliver |
| Perdigão | 12 | 441 | 1 | 1 | Did not deliver |
Chaves (15 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Bruno Gallo | 30 | 2513 | 3 | 1 | Good |
| Marcão | 17 | 1530 | 2 | 0 | Good |
| Gastón Campi | 16 | 1440 | 2 | 0 | Fair |
| Niltinho | 26 | 1218 | 3 | 3 | Fair |
| Luis Martins | 15 | 1094 | 1 | 0 | Fair |
| Gevorg Ghazaryan | 19 | 1085 | 3 | 2 | Good |
| Lionn | 12 | 980 | 0 | 2 | Fair |
| André Luis | 16 | 813 | 3 | 2 | Below expectations |
| Avto | 12 | 732 | 0 | 2 | Did not deliver |
| Costinha | 14 | 715 | 1 | 0 | Did not deliver |
| Hugo Basto | 4 | 315 | 0 | 0 | Did not deliver |
| Erdem Şen | 6 | 256 | 0 | 0 | Did not deliver |
| João Teixeira | 11 | 219 | 0 | 1 | Below expectations |
| Filipe Brigues | 2 | 172 | 0 | 0 | Did not deliver |
| Mika | 2 | 26 | 0 | 0 | Did not deliver |
FC Porto (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Éder Militão | 29 | 2600 | 3 | 1 | Excellent |
| Pepe | 13 | 1015 | 2 | 0 | Good |
| Wilson Manafá | 14 | 858 | 1 | 0 | Fair |
| Fernando | 12 | 267 | 0 | 0 | Did not deliver |
| Chancel Mbemba | 3 | 124 | 0 | 0 | Did not deliver |
| Mamadou Loum * | 2 | 22 | 0 | 0 | Investment |
Feirense (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Fábio Sturgeon | 27 | 1994 | 2 | 3 | Fair |
| Edinho | 23 | 1345 | 5 | 0 | Fair |
| Tiago Mesquita | 10 | 771 | 0 | 1 | Did not deliver |
| Ali Ghazal | 10 | 742 | 0 | 0 | Did not deliver |
| Philipe Sampaio | 10 | 729 | 1 | 0 | Fair |
| Marco Soares | 16 | 705 | 0 | 0 | Did not deliver |
| André Moreira | 5 | 450 | 0 | 0 | Did not deliver |
| Bruno Brigido | 5 | 370 | 0 | 0 | Did not deliver |
| Mateus Anderson | 7 | 355 | 1 | 0 | Did not deliver |
| Kuca | 3 | 132 | 0 | 0 | Did not deliver |
| Roderick Miller | 1 | 4 | 0 | 0 | Did not deliver |
Guimaraes (12 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Davidson | 34 | 2630 | 8 | 6 | Excellent |
| Yordan Osorio | 27 | 2430 | 2 | 0 | Good |
| Rafa Soares | 27 | 2279 | 0 | 4 | Excellent |
| Alexandre Guedes | 29 | 2112 | 6 | 3 | Excellent |
| André André | 16 | 1341 | 6 | 1 | Excellent |
| Ola John | 26 | 1025 | 1 | 3 | Below expectations |
| Pêpê | 18 | 862 | 0 | 2 | Did not deliver |
| Dodô | 9 | 756 | 1 | 1 | Fair |
| Rochinha | 13 | 678 | 2 | 0 | Below expectations |
| João Teixeira | 20 | 597 | 0 | 0 | Did not deliver |
| Florent Hanin | 9 | 581 | 1 | 1 | Fair |
| Frederico Venancio | 5 | 369 | 0 | 0 | Fair |
Maritimo (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Lucas Áfrico | 20 | 1571 | 1 | 0 | Below expectations |
| Leandro Barrera | 26 | 1307 | 2 | 2 | Fair |
| Douglas Grolli | 13 | 1047 | 0 | 0 | Below expectations |
| Getterson | 14 | 1026 | 2 | 0 | Fair |
| Danny | 13 | 1024 | 0 | 0 | Below expectations |
| Renê Santos | 12 | 1003 | 0 | 0 | Below expectations |
Moreirense (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Chiquinho | 33 | 2783 | 8 | 7 | Excellent |
| Heriberto Tavares | 32 | 2293 | 6 | 3 | Good |
| Fábio Pacheco | 26 | 1914 | 0 | 0 | Below expectations |
| Rafik Halliche | 21 | 1781 | 1 | 0 | Below expectations |
| João Aurélio | 20 | 1770 | 2 | 5 | Good |
| Ivanildo Fernandes | 23 | 1724 | 1 | 0 | Did not deliver |
| Pedro Nuno | 27 | 1576 | 5 | 3 | Excellent |
| Mamadou Loum | 17 | 1481 | 3 | 0 | Good |
| Anthony D'Alberto | 17 | 1446 | 0 | 1 | Below expectations |
| Nenê | 25 | 1304 | 3 | 1 | Fair |
| David Texeira | 17 | 749 | 4 | 1 | Below expectations |
| Bruno Silva | 11 | 536 | 0 | 0 | Did not deliver |
| Pedro Trigueira | 7 | 498 | 0 | 0 | Below expectations |
| Patito Rodríguez | 12 | 359 | 0 | 0 | Did not deliver |
Nacional (16 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Daniel | 28 | 2421 | 0 | 0 | Below expectations |
| Bryan Rochez | 30 | 1763 | 10 | 1 | Good |
| Aleksandar Paločević | 24 | 1450 | 1 | 2 | Fair |
| Felipe Lopes | 14 | 1215 | 0 | 0 | Below expectations |
| Lazar Rosić | 14 | 1107 | 0 | 0 | Did not deliver |
| Brayan Riascos | 25 | 903 | 1 | 4 | Below expectations |
| Fernando Tissone | 12 | 845 | 1 | 0 | Below expectations |
| Ibrahim Alhassan Abdullahi | 12 | 683 | 1 | 0 | Did not deliver |
| Kenji Gorre | 11 | 556 | 1 | 0 | Did not deliver |
| Lucas França | 7 | 549 | 0 | 0 | Did not deliver |
| Filipe Ferreira | 5 | 354 | 0 | 0 | Did not deliver |
| Arthur Henrique | 2 | 153 | 0 | 0 | Did not deliver |
| Avto | 3 | 147 | 0 | 0 | Did not deliver |
| Diego Barcelos | 6 | 135 | 0 | 0 | Did not deliver |
| Diego Medeiros | 0 | 0 | 0 | 0 | Did not deliver |
| Mateus Silva | 0 | 0 | 0 | 0 | Did not deliver |
Portimonense (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Lucas Fernandes | 29 | 1812 | 1 | 1 | Below expectations |
| Aylton Boa Morte | 13 | 705 | 2 | 3 | Below expectations |
| João Carlos | 14 | 417 | 1 | 0 | Below expectations |
| Guilherme Lazaroni | 3 | 165 | 0 | 0 | Did not deliver |
| Shuichi Gonda | 1 | 90 | 0 | 0 | Did not deliver |
| Rafael Barbosa * | 4 | 59 | 0 | 0 | Investment |
| Matheus Jesus | 1 | 2 | 0 | 0 | Did not deliver |
Rio Ave (18 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Léo Jardim | 33 | 2970 | 0 | 0 | Fair |
| Wenderson Galeno | 27 | 2130 | 5 | 5 | Excellent |
| Fábio Coentrão | 21 | 1789 | 0 | 4 | Good |
| Buatu | 21 | 1733 | 0 | 0 | Below expectations |
| Bruno Moreira | 30 | 1718 | 9 | 3 | Good |
| Matheus Reis | 22 | 1610 | 0 | 4 | Below expectations |
| João Schmidt | 19 | 1525 | 3 | 0 | Fair |
| Carlos Vinícius | 21 | 1401 | 9 | 0 | Fair |
| Nikola Jambor | 24 | 1354 | 0 | 1 | Did not deliver |
| Ruben Semedo | 14 | 1260 | 2 | 0 | Good |
| Junio Rocha | 10 | 873 | 0 | 0 | Did not deliver |
| Afonso Figueiredo | 10 | 677 | 0 | 0 | Did not deliver |
| Messias | 7 | 496 | 0 | 0 | Did not deliver |
| Murilo Freitas | 9 | 330 | 0 | 1 | Below expectations |
| Paulo Vítor | 1 | 90 | 0 | 0 | Did not deliver |
| Joca | 3 | 85 | 0 | 0 | Did not deliver |
| Damien Furtado | 5 | 56 | 1 | 0 | Did not deliver |
| Miguel Rodrigues | 2 | 2 | 0 | 0 | Did not deliver |
SC Braga (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Claudemir | 30 | 2456 | 2 | 4 | Excellent |
| Pablo Santos | 20 | 1681 | 2 | 0 | Good |
| João Palhinha | 23 | 1483 | 2 | 2 | Fair |
| João Novais | 24 | 1230 | 1 | 2 | Below expectations |
| Murilo | 13 | 842 | 3 | 0 | Fair |
| Eduardo | 6 | 217 | 0 | 1 | Did not deliver |
| Ailton | 2 | 111 | 0 | 0 | Did not deliver |
| Zé Pedro * | 0 | 0 | 0 | 0 | Investment |
Santa Clara (25 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Patrick | 32 | 2717 | 0 | 5 | Excellent |
| Fábio Cardoso | 30 | 2646 | 5 | 1 | Excellent |
| César Martins | 30 | 2555 | 2 | 0 | Good |
| Bruno Lamas | 33 | 2388 | 2 | 2 | Good |
| Zé Manuel | 28 | 2205 | 8 | 1 | Good |
| Marco Rocha | 25 | 2192 | 0 | 0 | Fair |
| Osama Rashid | 25 | 2014 | 7 | 2 | Excellent |
| Joao Lucas | 19 | 1688 | 0 | 1 | Fair |
| Mamadu Cande | 20 | 1625 | 1 | 0 | Fair |
| Kaio Pantaleão | 22 | 1261 | 0 | 0 | Fair |
| Anderson Carvalho | 16 | 1212 | 0 | 1 | Below expectations |
| Martin Chrien | 18 | 1159 | 1 | 1 | Below expectations |
| Ukra | 23 | 1122 | 0 | 2 | Did not deliver |
| Fernando | 13 | 1116 | 4 | 2 | Good |
| Francisco Ramos | 12 | 936 | 0 | 0 | Did not deliver |
| Alfredo Stephens | 16 | 909 | 0 | 3 | Fair |
| Accioly | 12 | 908 | 0 | 0 | Did not deliver |
| Thiago Santana | 10 | 398 | 2 | 1 | Fair |
| Pablo Diogo | 12 | 303 | 0 | 0 | Did not deliver |
| João Lopes | 3 | 270 | 0 | 0 | Below expectations |
| Lucas Marques | 5 | 267 | 0 | 0 | Did not deliver |
| Malick Evouna | 6 | 117 | 0 | 0 | Did not deliver |
| Abdiel Arroyo | 5 | 76 | 0 | 0 | Did not deliver |
| Minhoca | 6 | 66 | 0 | 0 | Did not deliver |
| Diogo | 2 | 33 | 0 | 0 | Did not deliver |
Sporting CP (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Renan Ribeiro | 27 | 2300 | 0 | 0 | Below expectations |
| Nemanja Gudelj | 27 | 2253 | 1 | 1 | Good |
| Abdoulay Diaby | 29 | 1725 | 2 | 4 | Below expectations |
| Raphinha | 24 | 1512 | 4 | 1 | Excellent |
| Nani | 18 | 1350 | 7 | 4 | Excellent |
| Bruno Gaspar | 16 | 1072 | 1 | 0 | Below expectations |
| Luiz Phellype | 14 | 842 | 8 | 1 | Fair |
| Romain Salin | 9 | 758 | 0 | 0 | Fair |
| Cristian Borja | 11 | 681 | 0 | 1 | Did not deliver |
| Idrissa Doumbia | 12 | 493 | 1 | 0 | Fair |
| Tiago Ilori | 6 | 405 | 0 | 0 | Did not deliver |
| Marcelo | 0 | 0 | 0 | 0 | Did not deliver |
| Carlos Jatoba * | 0 | 0 | 0 | 0 | Investment |
Tondela (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Xavier | 31 | 2344 | 3 | 6 | Excellent |
| Sergio Peña | 31 | 1956 | 1 | 4 | Good |
| João Pedro | 13 | 770 | 1 | 0 | Did not deliver |
| Cristian Arango | 15 | 630 | 1 | 0 | Below expectations |
| Pablo Sabbag * | 5 | 65 | 1 | 0 | Investment |
Vitoria Setubal (16 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mano | 31 | 2547 | 0 | 1 | Fair |
| Éber Bessa | 31 | 2381 | 2 | 6 | Excellent |
| Jhonder Cadiz | 31 | 2228 | 9 | 1 | Excellent |
| Frederic Mendy | 28 | 2037 | 4 | 3 | Good |
| Artur Jorge | 21 | 1734 | 0 | 0 | Fair |
| Rúben Micael | 26 | 1720 | 0 | 4 | Fair |
| Hildeberto Pereira | 26 | 1629 | 4 | 0 | Below expectations |
| Nuno Valente | 23 | 1535 | 2 | 1 | Fair |
| Dankler | 17 | 1530 | 0 | 0 | Fair |
| Giorgi Makaridze | 11 | 990 | 0 | 0 | Below expectations |
| Joel Pereira | 9 | 810 | 0 | 0 | Did not deliver |
| Silvio | 8 | 684 | 0 | 0 | Did not deliver |
| Gustavo Cascardo | 7 | 529 | 0 | 0 | Did not deliver |
| Alex | 11 | 485 | 0 | 0 | Below expectations |
| Bruno Pires | 1 | 90 | 0 | 0 | Did not deliver |
| Kermit Erasmus | 0 | 0 | 0 | 0 | Did not deliver |