Executive Summary
37%
Clubs' average hit rate
In total we identified 206 real signings by the clubs of Primeira Liga in the 2023/24 season — academy promotions, loan returns, internal moves and transfers that never went through are excluded. Of these, 194 are included in the hit-rate calculation; 12 are youth investments (under-23 with no game time), classified separately. Signings without relevant minutes in the season count as unsuccessful.
Club Ranking
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % |
| 1 | Sporting CP | 1º | 4 | 3 | 2 | 0 | 1 | 67% |
| 2 | Guimaraes | 5º | 8 | 7 | 3 | 2 | 2 | 57% |
| 3 | Casa Pia | 9º | 9 | 9 | 3 | 4 | 2 | 56% |
| 4 | Benfica | 2º | 11 | 8 | 3 | 2 | 3 | 50% |
| 5 | Moreirense | 6º | 19 | 19 | 7 | 3 | 9 | 45% |
| 6 | Arouca | 7º | 10 | 9 | 3 | 2 | 4 | 44% |
| 7 | GIL Vicente | 12º | 10 | 9 | 3 | 2 | 4 | 44% |
| 8 | FC Porto | 3º | 9 | 8 | 2 | 3 | 3 | 44% |
| 9 | Farense | 10º | 22 | 22 | 6 | 5 | 11 | 39% |
| 10 | Estoril | 13º | 15 | 15 | 3 | 4 | 8 | 33% |
| 11 | SC Braga | 4º | 6 | 6 | 2 | 0 | 4 | 33% |
| 12 | Estrela | 14º | 14 | 14 | 2 | 5 | 7 | 32% |
| 13 | Chaves | 18º | 13 | 13 | 2 | 4 | 7 | 31% |
| 14 | Famalicao | 8º | 10 | 10 | 2 | 1 | 7 | 25% |
| 15 | Rio Ave | 11º | 8 | 6 | 0 | 3 | 3 | 25% |
| 16 | Vizela | 17º | 12 | 12 | 1 | 3 | 8 | 21% |
| 17 | Portimonense | 16º | 14 | 14 | 1 | 2 | 11 | 14% |
| 18 | AVS | 19º | 12 | 10 | 0 | 0 | 10 | 0% |
The difference between Signings and Evaluated are youth investments (under-23 with no game time in the season), classified separately. Signings without relevant minutes are unsuccessful (Did not deliver).
Season Highlights
The ten signings with the greatest technical impact of the season, according to the Player Impact Score (PIS).
| Player | Club | Pos | Min | G+A | Avg rating | Rating |
| Viktor Gyökeres | Sporting CP | F | 2915 | 29+11 | 7.72 | Excellent |
| Cristo González | Arouca | F | 2790 | 15+9 | 7.21 | Excellent |
| Ángel Di María | Benfica | F | 2230 | 9+10 | 7.29 | Excellent |
| Jason | Arouca | M | 2590 | 6+5 | 7.07 | Excellent |
| Rodrigo Gomes | Estoril | M | 2446 | 7+7 | 7.04 | Excellent |
| Bruno Duarte Da Silva | Farense | F | 2264 | 13+3 | 7.03 | Excellent |
| Maxime Dominguez | GIL Vicente | M | 2349 | 6+4 | 7.03 | Excellent |
| Léo Jabá | Estrela | M | 2234 | 5+4 | 7.09 | Excellent |
| Alan | Moreirense | M | 2478 | 3+4 | 7.05 | Excellent |
| Samuel Essende | Vizela | F | 2671 | 15+0 | 6.82 | Excellent |
Methodology
Club assessment — the universe of signings
The report considers exclusively genuine signings for the first-team squad, identified by the player's effective incorporation into the group between seasons. Excluded from the universe are: academy promotions, loan returns, internal administrative moves and transfers recorded but never completed. The aim is to measure the quality of market decisions — and those alone.
Player Impact Score (PIS)
Each evaluated signing receives a score from 0 to 100 that combines four observable technical dimensions: individual performance (average match ratings over the season), output (goals, assists and decisive actions adjusted for game time), collective performance (starting status and correlation with the club's results) and availability (volume of matches, adjusted for interruptions). High-impact players with reduced game time are promoted through an alternative efficiency criterion.
Outcome classification
The rating tiers are: Excellent and Good (successful signings — a full point in the index), Fair (intermediate performance — half a point) and Below expectations / Did not deliver (unsuccessful signings). Two categories sit outside the calculation, for distinct reasons: Injury (a serious injury prevented a fair assessment) and Investment (an under-23 player with low game time — the return depends on development and cannot be counted for or against the club in this cycle). Signings that did not reach relevant game time in the season are classified as unsuccessful, reflecting the sporting cost of the decision.
A note on scope
This is SigningLab's public, simplified model, developed for transparent retrospective market assessment. SigningLab's commercial solutions for partner clubs use a substantially larger set of variables and dedicated predictive mechanisms, and are not fully reflected in this document.
Appendix — Signings by club
* Youth investment (under-23, no game time in the season) — outside the hit-rate calculation.
AVS (12 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jorge Teixeira | 2 | 180 | 0 | 0 | Did not deliver |
| Simao Bertelli | 2 | 180 | 0 | 0 | Did not deliver |
| Clayton Sampaio | 2 | 180 | 0 | 0 | Did not deliver |
| Léo Alaba | 2 | 180 | 0 | 1 | Did not deliver |
| Bernardo | 2 | 179 | 2 | 0 | Did not deliver |
| John Mercado * | 2 | 166 | 1 | 0 | Investment |
| Nenê | 2 | 151 | 0 | 0 | Did not deliver |
| Fábio Pacheco | 1 | 90 | 0 | 0 | Did not deliver |
| Stênio * | 2 | 39 | 0 | 0 | Investment |
| Fernando Fonseca | 2 | 16 | 0 | 0 | Did not deliver |
| Yair Mena | 2 | 11 | 0 | 0 | Did not deliver |
| Pedro Trigueira | 2 | 0 | 0 | 0 | Did not deliver |
Arouca (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Cristo González | 34 | 2790 | 15 | 9 | Excellent |
| Jason | 34 | 2590 | 6 | 5 | Excellent |
| Francisco Montero | 29 | 2589 | 1 | 1 | Good |
| Pedro Santos | 33 | 1472 | 1 | 0 | Fair |
| Robson Bambu | 10 | 883 | 0 | 0 | Fair |
| Alfonso Trezza | 32 | 866 | 0 | 0 | Did not deliver |
| Matías Rocha | 25 | 571 | 1 | 0 | Did not deliver |
| Miguel Puche | 32 | 346 | 0 | 0 | Did not deliver |
| Vladislav Morozov * | 9 | 145 | 0 | 0 | Investment |
| Yanis Hamache | 4 | 41 | 0 | 0 | Did not deliver |
Benfica (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Anatoliy Trubin | 33 | 2520 | 0 | 0 | Fair |
| Ángel Di María | 30 | 2230 | 9 | 10 | Excellent |
| Orkun Kökçü | 28 | 1795 | 7 | 8 | Excellent |
| Arthur | 31 | 1359 | 6 | 0 | Good |
| Álvaro Fernandez | 17 | 576 | 1 | 1 | Below expectations |
| Marcos Leonardo | 16 | 330 | 7 | 0 | Fair |
| David Jurásek | 11 | 265 | 0 | 0 | Did not deliver |
| Benjamín Rollheiser * | 14 | 163 | 1 | 0 | Investment |
| Juan Bernat | 5 | 87 | 0 | 0 | Did not deliver |
| Gianluca Prestianni * | 3 | 10 | 0 | 0 | Investment |
| Gustavo Marques * | 1 | 2 | 0 | 0 | Investment |
Casa Pia (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Gaizka Larrazabal | 34 | 2528 | 2 | 1 | Good |
| Pablo | 31 | 1669 | 3 | 6 | Good |
| Nuno Moreira | 15 | 1030 | 2 | 1 | Good |
| Andre Geraldes | 29 | 616 | 0 | 0 | Did not deliver |
| Ruben Lameiras | 16 | 548 | 0 | 1 | Fair |
| Fernando | 24 | 538 | 2 | 0 | Fair |
| Jaja | 14 | 436 | 0 | 0 | Did not deliver |
| Rafael Brito | 11 | 347 | 0 | 2 | Fair |
| André Lacximicant | 14 | 216 | 1 | 1 | Fair |
Chaves (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Hugo Souza | 32 | 2340 | 0 | 0 | Fair |
| Kelechi Nwakali | 33 | 2080 | 1 | 4 | Good |
| Rúben Ribeiro | 27 | 1689 | 1 | 1 | Fair |
| Ygor Nogueira | 24 | 1660 | 0 | 0 | Below expectations |
| Leandro Sanca | 32 | 1465 | 0 | 3 | Good |
| Bruno Rodrigues | 25 | 1354 | 0 | 0 | Did not deliver |
| Dário Essugo | 14 | 1166 | 0 | 0 | Fair |
| Junior Pius | 15 | 1164 | 0 | 0 | Fair |
| Carraça | 23 | 997 | 0 | 0 | Did not deliver |
| Paulo Victor | 33 | 825 | 1 | 1 | Below expectations |
| Thibang Phete | 15 | 444 | 0 | 0 | Did not deliver |
| Pedro Pinho | 15 | 250 | 1 | 0 | Did not deliver |
| Ruben Lameiras | 8 | 206 | 0 | 0 | Did not deliver |
Estoril (15 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Rodrigo Gomes | 30 | 2446 | 7 | 7 | Excellent |
| Mateus Fernandes | 28 | 2240 | 1 | 2 | Excellent |
| Marcelo Carné | 34 | 1980 | 0 | 0 | Did not deliver |
| Heriberto Tavares | 33 | 1258 | 2 | 0 | Fair |
| João Basso | 14 | 1209 | 1 | 0 | Fair |
| Jordan Holsgrove | 15 | 1177 | 2 | 2 | Good |
| Vinicius Zanocelo | 16 | 1121 | 1 | 0 | Fair |
| Eliaquim Mangala | 26 | 1042 | 1 | 0 | Did not deliver |
| Raúl Parra | 33 | 579 | 1 | 0 | Did not deliver |
| Koba Koindredi | 18 | 570 | 0 | 0 | Did not deliver |
| Erick Cabaco | 6 | 345 | 0 | 0 | Below expectations |
| Fabrício Andrade | 12 | 341 | 2 | 0 | Fair |
| Alex Soares | 11 | 247 | 0 | 0 | Did not deliver |
| Ivan Pavlic | 6 | 204 | 0 | 0 | Did not deliver |
| Frederik Franck Winther | 5 | 116 | 0 | 0 | Did not deliver |
Estrela (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Léo Cordeiro | 32 | 2614 | 3 | 0 | Good |
| Léo Jabá | 31 | 2234 | 5 | 4 | Excellent |
| Hevertton Santos | 31 | 1983 | 0 | 1 | Fair |
| Johnstone Omurwa | 16 | 1152 | 0 | 0 | Fair |
| Ruben Lima | 15 | 931 | 0 | 1 | Fair |
| Leonel Bucca | 16 | 813 | 1 | 0 | Fair |
| Pedro Mendes | 18 | 812 | 0 | 0 | Did not deliver |
| Pedro Sá | 27 | 648 | 0 | 0 | Did not deliver |
| Nanu | 15 | 579 | 0 | 1 | Below expectations |
| Nilton | 14 | 552 | 0 | 0 | Did not deliver |
| Erivaldo Almeida | 15 | 484 | 0 | 1 | Did not deliver |
| Rodrigo Pinho | 10 | 319 | 1 | 1 | Fair |
| Alioune Ndour | 14 | 176 | 0 | 1 | Did not deliver |
| Manuel Keliano | 14 | 120 | 0 | 0 | Did not deliver |
FC Porto (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Alan Varela | 31 | 2236 | 2 | 3 | Excellent |
| Nico González | 27 | 1724 | 2 | 1 | Good |
| Otavio | 14 | 1080 | 0 | 1 | Fair |
| Zé Pedro | 17 | 929 | 2 | 0 | Below expectations |
| Iván Jaime | 23 | 601 | 1 | 0 | Fair |
| Jorge Sánchez | 17 | 573 | 0 | 2 | Fair |
| Fran Navarro | 8 | 178 | 0 | 0 | Did not deliver |
| Wendel Silva * | 2 | 0 | 0 | 0 | Investment |
| Samuel | 2 | 0 | 0 | 0 | Did not deliver |
Famalicao (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mirko Topić | 33 | 2351 | 0 | 2 | Good |
| Nathan | 32 | 1841 | 0 | 0 | Below expectations |
| Chiquinho | 27 | 1755 | 5 | 2 | Excellent |
| Justin De Haas | 31 | 1597 | 1 | 0 | Did not deliver |
| Marcos Vinicios | 15 | 853 | 1 | 2 | Fair |
| Óscar Aranda | 27 | 750 | 1 | 0 | Below expectations |
| Henrique Araújo | 27 | 695 | 0 | 0 | Did not deliver |
| Otso Liimatta | 24 | 475 | 0 | 0 | Did not deliver |
| Tom Lacoux | 29 | 387 | 0 | 0 | Did not deliver |
| Filipe Miguel Barros Soares | 11 | 165 | 0 | 1 | Did not deliver |
Farense (22 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ricardo Velho | 32 | 2880 | 0 | 0 | Excellent |
| Gonçalo Silva | 33 | 2878 | 1 | 0 | Good |
| Pastor | 30 | 2481 | 0 | 2 | Good |
| Marco Matias | 33 | 2316 | 2 | 5 | Excellent |
| Bruno Duarte Da Silva | 32 | 2264 | 13 | 3 | Excellent |
| Mattheus | 32 | 2243 | 5 | 1 | Excellent |
| Talocha | 33 | 2067 | 0 | 1 | Fair |
| Zach Muscat | 29 | 1695 | 2 | 0 | Below expectations |
| Facundo Cáseres | 27 | 1118 | 0 | 0 | Did not deliver |
| Igor Rossi | 23 | 1019 | 0 | 0 | Did not deliver |
| Elves Baldé | 33 | 992 | 1 | 3 | Fair |
| Talys | 22 | 986 | 0 | 0 | Did not deliver |
| Rafael Barbosa | 32 | 876 | 1 | 1 | Fair |
| Rui Costa | 24 | 712 | 3 | 2 | Fair |
| Vitor Goncalves | 32 | 694 | 1 | 0 | Did not deliver |
| Ze Luis | 15 | 592 | 2 | 1 | Fair |
| Fran Delgado | 18 | 506 | 0 | 0 | Did not deliver |
| Artur Jorge | 23 | 496 | 0 | 0 | Did not deliver |
| Cristian Ponde | 24 | 246 | 1 | 1 | Did not deliver |
| John Jairo Velásquez | 7 | 29 | 0 | 0 | Did not deliver |
| Luis Felipe | 21 | 0 | 0 | 0 | Did not deliver |
| Adewale Sapara | 0 | 0 | 0 | 0 | Did not deliver |
GIL Vicente (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Maxime Dominguez | 33 | 2349 | 6 | 4 | Excellent |
| Leonardo Buta | 31 | 2194 | 0 | 2 | Good |
| Felix Correia | 30 | 2182 | 5 | 3 | Excellent |
| Mory Gbane | 33 | 1914 | 1 | 0 | Fair |
| Alex Pinto | 15 | 1069 | 0 | 0 | Below expectations |
| Roko Baturina | 16 | 728 | 2 | 0 | Fair |
| Buatu | 12 | 450 | 1 | 0 | Did not deliver |
| Felipe Silva | 20 | 270 | 0 | 1 | Did not deliver |
| Jesús Castillo | 21 | 264 | 0 | 0 | Did not deliver |
| Thomas Luciano * | 15 | 38 | 1 | 0 | Investment |
Guimaraes (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Tomás Ribeiro | 31 | 2432 | 1 | 1 | Good |
| Ricardo Mangas | 23 | 1907 | 1 | 3 | Excellent |
| João Mendes | 27 | 1453 | 7 | 3 | Excellent |
| Nuno Santos | 30 | 976 | 2 | 4 | Fair |
| Charles | 34 | 675 | 0 | 0 | Did not deliver |
| Nelson Oliveira | 15 | 618 | 2 | 2 | Fair |
| Adrián Butzke | 29 | 383 | 0 | 0 | Did not deliver |
| Arcanjo * | 0 | 0 | 0 | 0 | Investment |
Moreirense (19 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Maracás | 31 | 2563 | 3 | 0 | Good |
| Alan | 33 | 2478 | 3 | 4 | Excellent |
| Lawrence Ofori | 31 | 2466 | 1 | 1 | Good |
| Marcelo | 34 | 2340 | 2 | 1 | Fair |
| Fabiano Souza | 25 | 2139 | 1 | 2 | Good |
| Joao Camacho | 29 | 2104 | 4 | 4 | Excellent |
| Kobamelo Kodisang | 32 | 1630 | 1 | 3 | Good |
| Madson de Souza Silva | 25 | 1338 | 5 | 1 | Excellent |
| Carlos Ponck | 25 | 1037 | 0 | 0 | Did not deliver |
| Dinis Pinto | 22 | 931 | 0 | 2 | Did not deliver |
| André Castro | 15 | 538 | 1 | 1 | Fair |
| Jeremy Antonisse | 24 | 531 | 0 | 1 | Fair |
| Vinicius Alessandro Mingotti | 17 | 492 | 1 | 0 | Below expectations |
| Pedro Aparício | 26 | 360 | 1 | 0 | Did not deliver |
| Caio | 32 | 360 | 0 | 1 | Did not deliver |
| Wallisson Luiz | 11 | 225 | 0 | 0 | Below expectations |
| Hernani Infande | 5 | 95 | 1 | 0 | Did not deliver |
| Macedo | 10 | 70 | 0 | 0 | Did not deliver |
| Mika | 6 | 13 | 0 | 0 | Did not deliver |
Portimonense (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Sylvester Jasper | 25 | 1716 | 2 | 2 | Good |
| Igor Formiga | 32 | 1631 | 1 | 1 | Fair |
| Guga | 34 | 1592 | 1 | 1 | Below expectations |
| Ronie Carrillo | 30 | 1395 | 5 | 0 | Fair |
| Vinicius Silvestre | 36 | 1350 | 0 | 0 | Did not deliver |
| Luan Campos | 21 | 516 | 1 | 0 | Below expectations |
| Rildo | 14 | 508 | 0 | 1 | Below expectations |
| Rodrigo Martins | 11 | 239 | 0 | 0 | Did not deliver |
| Rafael Alexandre Vicente Alcobia | 22 | 202 | 0 | 0 | Did not deliver |
| Paulinho | 13 | 172 | 0 | 0 | Did not deliver |
| Steve Mvoué | 10 | 75 | 0 | 0 | Did not deliver |
| Ricardo Sousa | 12 | 14 | 0 | 0 | Did not deliver |
| Thiago Dombroski | 4 | 0 | 0 | 0 | Did not deliver |
| Matheus Nogueira | 0 | 0 | 0 | 0 | Did not deliver |
Rio Ave (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Úmaro Embaló | 15 | 798 | 1 | 1 | Fair |
| João Teixeira | 13 | 732 | 1 | 2 | Fair |
| Marios Vrushai | 15 | 667 | 1 | 0 | Fair |
| Mateo Tanlongo | 16 | 619 | 0 | 1 | Did not deliver |
| Adrien Silva | 12 | 334 | 0 | 0 | Did not deliver |
| Cezary Miszta * | 8 | 90 | 0 | 0 | Investment |
| Cristian Castro * | 4 | 74 | 0 | 0 | Investment |
| Helder Sá | 12 | 38 | 0 | 1 | Did not deliver |
SC Braga (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| João Moutinho | 31 | 2081 | 1 | 1 | Good |
| Rodrigo Zalazar | 34 | 1827 | 6 | 6 | Excellent |
| José Fonte | 33 | 1514 | 0 | 0 | Did not deliver |
| Vitor Carvalho | 33 | 1317 | 1 | 1 | Below expectations |
| Rony Lopes | 32 | 403 | 2 | 0 | Below expectations |
| Adrián Marín | 21 | 324 | 0 | 0 | Did not deliver |
Sporting CP (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Viktor Gyökeres | 34 | 2915 | 29 | 11 | Excellent |
| Morten Hjulmand | 31 | 2200 | 3 | 2 | Good |
| Iván Fresneda * | 16 | 52 | 0 | 0 | Investment |
| Koba Koindredi | 14 | 35 | 0 | 0 | Did not deliver |
Vizela (12 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Samuel Essende | 32 | 2671 | 15 | 0 | Excellent |
| Jota | 19 | 1456 | 0 | 0 | Below expectations |
| Orest Lebedenko | 29 | 1454 | 2 | 1 | Below expectations |
| Rodrigo Escoval | 33 | 1390 | 0 | 1 | Did not deliver |
| Alberto Soro | 25 | 910 | 4 | 1 | Fair |
| Domingos Quina | 14 | 740 | 0 | 3 | Fair |
| Rafael Bustamante | 15 | 715 | 0 | 0 | Did not deliver |
| Jason Lokilo | 10 | 707 | 1 | 1 | Fair |
| Bruno Costa | 10 | 597 | 0 | 0 | Did not deliver |
| Dylan Saint-Louis | 21 | 252 | 1 | 0 | Below expectations |
| Jardel | 14 | 217 | 0 | 1 | Below expectations |
| Joaquín Novillo | 5 | 0 | 0 | 0 | Did not deliver |