Executive Summary
42%
Clubs' average hit rate
In total we identified 185 real signings by the clubs of La Liga in the 2023/24 season — academy promotions, loan returns, internal moves and transfers that never went through are excluded. Of these, 176 are included in the hit-rate calculation; 9 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 | Athletic Club | 5º | 1 | 1 | 1 | 0 | 0 | 100% |
| 2 | Girona | 3º | 7 | 7 | 5 | 0 | 2 | 71% |
| 3 | Valencia | 9º | 4 | 4 | 2 | 1 | 1 | 62% |
| 4 | Alaves | 10º | 13 | 12 | 3 | 6 | 3 | 50% |
| 5 | Barcelona | 2º | 7 | 6 | 3 | 0 | 3 | 50% |
| 6 | Getafe | 12º | 6 | 6 | 2 | 2 | 2 | 50% |
| 7 | Real Madrid | 1º | 6 | 6 | 3 | 0 | 3 | 50% |
| 8 | Real Sociedad | 6º | 6 | 6 | 2 | 2 | 2 | 50% |
| 9 | Osasuna | 11º | 5 | 4 | 1 | 2 | 1 | 50% |
| 10 | Sevilla | 13º | 11 | 9 | 2 | 4 | 3 | 44% |
| 11 | Real Betis | 7º | 10 | 10 | 3 | 2 | 5 | 40% |
| 12 | Almeria | 19º | 13 | 13 | 3 | 3 | 7 | 35% |
| 13 | Las Palmas | 16º | 19 | 19 | 5 | 3 | 11 | 34% |
| 14 | Granada CF | 20º | 24 | 23 | 6 | 2 | 15 | 30% |
| 15 | Mallorca | 15º | 10 | 9 | 2 | 1 | 6 | 28% |
| 16 | Villarreal | 8º | 9 | 9 | 2 | 1 | 6 | 28% |
| 17 | Cadiz | 18º | 9 | 9 | 1 | 2 | 6 | 22% |
| 18 | Rayo Vallecano | 17º | 7 | 7 | 1 | 1 | 5 | 21% |
| 19 | Celta Vigo | 14º | 11 | 11 | 1 | 2 | 8 | 18% |
| 20 | Atletico Madrid | 4º | 7 | 5 | 0 | 1 | 4 | 10% |
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 |
| Sávio | Girona | F | 2989 | 9+10 | 7.31 | Excellent |
| Artem Dovbyk | Girona | F | 2605 | 24+8 | 7.21 | Excellent |
| İlkay Gündoğan | Barcelona | M | 2997 | 5+9 | 7.25 | Excellent |
| Isco | Real Betis | M | 2338 | 8+5 | 7.52 | Excellent |
| Alexander Sørloth | Villarreal | F | 2491 | 23+6 | 6.98 | Excellent |
| Mason Greenwood | Getafe | F | 2667 | 8+6 | 7.15 | Excellent |
| Jude Bellingham | Real Madrid | F | 2324 | 19+6 | 7.04 | Excellent |
| Pepelu | Valencia | M | 3305 | 7+1 | 7.24 | Excellent |
| João Cancelo | Barcelona | D | 2507 | 2+4 | 7.28 | Excellent |
| Lucas Boyé | Granada CF | M | 2555 | 6+3 | 6.81 | 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.
Alaves (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ander Guevara | 37 | 2936 | 1 | 0 | Good |
| Andoni Gorosabel | 37 | 2863 | 1 | 0 | Good |
| Jon Guridi | 37 | 2698 | 3 | 4 | Excellent |
| Rafa Marín | 36 | 2460 | 0 | 0 | Fair |
| Antonio Blanco | 35 | 2443 | 0 | 1 | Fair |
| Kike | 37 | 1437 | 3 | 2 | Fair |
| Alex Sola | 35 | 1274 | 0 | 3 | Fair |
| Carlos Benavídez | 33 | 1150 | 3 | 1 | Fair |
| Aleksandar Sedlar | 12 | 948 | 1 | 0 | Fair |
| Ianis Hagi | 35 | 814 | 0 | 2 | Did not deliver |
| Xeber Alkain | 38 | 319 | 0 | 0 | Did not deliver |
| Jon Karrikaburu * | 15 | 31 | 0 | 0 | Investment |
| Nikola Maraš | 20 | 0 | 0 | 0 | Did not deliver |
Almeria (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Luis Maximiano | 37 | 2970 | 0 | 0 | Fair |
| Edgar Gonzalez | 32 | 2528 | 2 | 0 | Good |
| Sergio Arribas Calvo | 38 | 2065 | 9 | 4 | Good |
| Dion Lopy | 35 | 1927 | 0 | 0 | Below expectations |
| Marc Pubill | 24 | 1889 | 1 | 3 | Good |
| César Montes | 28 | 1792 | 0 | 0 | Did not deliver |
| Iddrisu Baba Mohammed | 32 | 1442 | 0 | 0 | Did not deliver |
| Jonathan Viera | 14 | 923 | 0 | 3 | Fair |
| Bruno Langa | 15 | 819 | 1 | 0 | Below expectations |
| Anthony Lozano | 15 | 778 | 3 | 0 | Fair |
| Aleksandar Radovanović | 12 | 571 | 0 | 0 | Did not deliver |
| Luka Romero | 17 | 440 | 3 | 0 | Below expectations |
| Ibrahima Kone | 15 | 295 | 0 | 0 | Did not deliver |
Athletic Club (1 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Iñigo Ruiz De Galarreta | 29 | 2103 | 1 | 1 | Good |
Atletico Madrid (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| César Azpilicueta | 29 | 1421 | 0 | 2 | Fair |
| Gabriel Paulista | 14 | 405 | 0 | 0 | Did not deliver |
| Arthur Vermeeren * | 18 | 159 | 0 | 0 | Investment |
| Çağlar Söyüncü | 14 | 110 | 0 | 0 | Did not deliver |
| Javi Galán | 20 | 90 | 0 | 0 | Did not deliver |
| Horațiu Moldovan | 18 | 0 | 0 | 0 | Did not deliver |
| Santiago Mouriño * | 0 | 0 | 0 | 0 | Investment |
Barcelona (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| İlkay Gündoğan | 37 | 2997 | 5 | 9 | Excellent |
| João Cancelo | 32 | 2507 | 2 | 4 | Excellent |
| João Félix | 31 | 1548 | 7 | 3 | Excellent |
| Iñigo Martínez | 27 | 1302 | 0 | 0 | Did not deliver |
| Oriol Romeu | 37 | 946 | 0 | 1 | Did not deliver |
| Vitor Roque | 19 | 319 | 2 | 0 | Below expectations |
| Pau Víctor * | 3 | 0 | 0 | 0 | Investment |
Cadiz (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Javier Hernández | 32 | 2517 | 1 | 2 | Good |
| Robert Navarro | 32 | 1906 | 1 | 1 | Fair |
| Lucas Pires | 37 | 1545 | 1 | 0 | Below expectations |
| Maximiliano Gómez | 34 | 1174 | 0 | 0 | Below expectations |
| Juanmi | 16 | 872 | 3 | 1 | Fair |
| Rominigue Kouamé | 21 | 829 | 0 | 0 | Did not deliver |
| Darwin Machís | 33 | 798 | 4 | 0 | Below expectations |
| Aiham Ousou | 11 | 429 | 0 | 0 | Did not deliver |
| Diadié Samassékou | 14 | 88 | 0 | 0 | Did not deliver |
Celta Vigo (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Vicente Guaita | 33 | 2402 | 0 | 0 | Below expectations |
| Carl Starfelt | 34 | 2218 | 1 | 0 | Below expectations |
| Jonathan Bamba | 30 | 1993 | 3 | 2 | Good |
| Manuel Sánchez | 37 | 1786 | 0 | 5 | Fair |
| Anastasios Douvikas | 35 | 942 | 7 | 1 | Fair |
| Jailson | 19 | 893 | 0 | 1 | Below expectations |
| Mihailo Ristić | 19 | 808 | 0 | 0 | Did not deliver |
| Javier Manquillo | 15 | 746 | 0 | 1 | Did not deliver |
| Carlos Dotor | 24 | 717 | 0 | 0 | Did not deliver |
| Tadeo Allende | 15 | 330 | 1 | 0 | Did not deliver |
| Diego Alves | 0 | 0 | 0 | 0 | Did not deliver |
Getafe (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mason Greenwood | 33 | 2667 | 8 | 6 | Excellent |
| Diego Rico | 32 | 2537 | 0 | 7 | Excellent |
| José Ángel | 31 | 1335 | 1 | 1 | Fair |
| Ilaix Moriba | 14 | 618 | 0 | 2 | Fair |
| Anthony Lozano | 19 | 94 | 0 | 0 | Did not deliver |
| Daniel Fuzato | 38 | 21 | 0 | 0 | Did not deliver |
Girona (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Sávio | 37 | 2989 | 9 | 10 | Excellent |
| Daley Blind | 35 | 2978 | 1 | 2 | Excellent |
| Eric García | 31 | 2641 | 5 | 0 | Excellent |
| Artem Dovbyk | 36 | 2605 | 24 | 8 | Excellent |
| Portu | 35 | 1189 | 7 | 5 | Good |
| Pablo Torre | 36 | 709 | 0 | 2 | Below expectations |
| Jhon Solís | 29 | 412 | 0 | 0 | Did not deliver |
Granada CF (24 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ignasi Miquel | 35 | 2991 | 1 | 1 | Good |
| Gerard Gumbau | 35 | 2684 | 0 | 3 | Good |
| Lucas Boyé | 31 | 2555 | 6 | 3 | Excellent |
| Sergio Ruiz Alonso | 37 | 2510 | 0 | 4 | Good |
| Gonzalo Villar | 35 | 1785 | 1 | 3 | Good |
| Miguel Rubio | 30 | 1559 | 1 | 0 | Did not deliver |
| Augusto Batalla | 20 | 1530 | 0 | 0 | Below expectations |
| André Ferreira | 21 | 1339 | 0 | 0 | Did not deliver |
| Bruno Méndez | 18 | 1336 | 2 | 0 | Fair |
| Facundo Pellistri | 15 | 1220 | 2 | 1 | Good |
| Óscar Melendo | 36 | 1134 | 0 | 0 | Did not deliver |
| José Callejón | 38 | 809 | 0 | 1 | Did not deliver |
| Kamil Jóźwiak | 12 | 591 | 0 | 1 | Fair |
| Martin Hongla | 16 | 569 | 0 | 0 | Did not deliver |
| Kamil Piątkowski | 17 | 506 | 0 | 0 | Did not deliver |
| Álvaro Fernandez | 15 | 491 | 0 | 0 | Did not deliver |
| Raúl Fernández | 14 | 281 | 0 | 0 | Did not deliver |
| Faitout Maouassa | 17 | 252 | 0 | 1 | Did not deliver |
| Wilson Manafá | 18 | 241 | 0 | 0 | Did not deliver |
| Theo Corbeanu * | 16 | 196 | 1 | 0 | Investment |
| Famara Diédhiou | 16 | 111 | 0 | 1 | Did not deliver |
| Shon Weissman | 11 | 90 | 0 | 0 | Did not deliver |
| Alberto Perea | 14 | 9 | 0 | 0 | Did not deliver |
| Pol Lozano | 0 | 0 | 0 | 0 | Did not deliver |
Las Palmas (19 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Álvaro Valles | 37 | 3264 | 0 | 0 | Good |
| Mika Mármol | 37 | 3181 | 0 | 1 | Good |
| Javier Muñoz | 37 | 2661 | 2 | 3 | Excellent |
| Munir El Haddadi | 38 | 2478 | 3 | 2 | Excellent |
| Saúl Coco | 33 | 2293 | 1 | 0 | Fair |
| Sandro Ramírez | 30 | 1819 | 1 | 3 | Good |
| Enzo Loiodice | 38 | 1791 | 0 | 1 | Below expectations |
| Maximo Perrone | 33 | 1634 | 0 | 0 | Below expectations |
| Julian Araujo | 26 | 1462 | 1 | 0 | Fair |
| Marc Cardona | 37 | 749 | 4 | 1 | Below expectations |
| Sory Kaba | 36 | 748 | 1 | 1 | Did not deliver |
| Jonathan Viera | 9 | 619 | 2 | 1 | Fair |
| Benito Ramírez | 30 | 392 | 1 | 1 | Below expectations |
| Daley Sinkgraven | 28 | 377 | 0 | 0 | Did not deliver |
| Álvaro Lemos | 22 | 251 | 0 | 0 | Did not deliver |
| José Campaña | 12 | 173 | 0 | 0 | Did not deliver |
| Aarón Escandell | 36 | 152 | 0 | 0 | Did not deliver |
| Omenuke Mfulu | 23 | 92 | 0 | 0 | Did not deliver |
| Wilfrid Kaptoum | 0 | 0 | 0 | 0 | Did not deliver |
Mallorca (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Samuel Costa | 37 | 2305 | 1 | 1 | Fair |
| Sergi Darder | 36 | 2154 | 2 | 5 | Excellent |
| Cyle Larin | 37 | 1830 | 3 | 2 | Good |
| Omar Mascarell | 34 | 1578 | 0 | 0 | Below expectations |
| Antonio Lato | 35 | 1558 | 0 | 1 | Below expectations |
| Nacho Vidal | 17 | 421 | 0 | 0 | Did not deliver |
| Nemanja Radonjić | 15 | 350 | 0 | 0 | Did not deliver |
| Siebe Van Der Heyden | 32 | 292 | 0 | 0 | Did not deliver |
| Iván Cuéllar | 31 | 90 | 0 | 0 | Did not deliver |
| Daniel Luna * | 13 | 0 | 0 | 0 | Investment |
Osasuna (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Alejandro Catena Marugan | 36 | 2536 | 1 | 3 | Fair |
| Johan Mojica | 33 | 2041 | 0 | 3 | Fair |
| Raul García | 37 | 1373 | 6 | 1 | Good |
| José Manuel Arnáiz | 34 | 930 | 2 | 1 | Below expectations |
| Max Svensson * | 5 | 2 | 0 | 0 | Investment |
Rayo Vallecano (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Alfonso Espino | 37 | 2513 | 0 | 1 | Fair |
| Aridane Hernandez | 31 | 1691 | 0 | 0 | Did not deliver |
| Jorge De Frutos | 37 | 1573 | 2 | 0 | Good |
| Kike | 32 | 848 | 1 | 0 | Did not deliver |
| Andrei Rațiu | 34 | 640 | 0 | 0 | Did not deliver |
| Miguel Crespo | 17 | 521 | 0 | 0 | Did not deliver |
| Dani Cárdenas | 37 | 90 | 0 | 0 | Did not deliver |
Real Betis (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Isco | 29 | 2338 | 8 | 5 | Excellent |
| Marc Roca | 32 | 1986 | 2 | 2 | Fair |
| Johnny | 19 | 1331 | 1 | 2 | Good |
| Pablo Fornals | 15 | 1153 | 3 | 2 | Excellent |
| Sokratis | 24 | 1140 | 0 | 0 | Did not deliver |
| Abdessamad Ezzalzouli | 30 | 870 | 1 | 0 | Below expectations |
| Sergi Altimira | 35 | 572 | 1 | 0 | Did not deliver |
| Francisco Vieites | 32 | 315 | 0 | 0 | Did not deliver |
| Ezequiel Ávila | 6 | 301 | 1 | 0 | Fair |
| Cédric Bakambu | 4 | 195 | 0 | 0 | Did not deliver |
Real Madrid (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jude Bellingham | 32 | 2324 | 19 | 6 | Excellent |
| Joselu | 36 | 1679 | 10 | 2 | Good |
| Brahim Díaz | 38 | 1582 | 8 | 6 | Good |
| Fran García | 38 | 1409 | 1 | 5 | Below expectations |
| Kepa Arrizabalaga | 35 | 1197 | 0 | 0 | Did not deliver |
| Arda Güler | 21 | 390 | 6 | 0 | Below expectations |
Real Sociedad (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Hamari Traore | 32 | 2296 | 0 | 2 | Good |
| Kieran Tierney | 24 | 1250 | 0 | 2 | Fair |
| Javi Galán | 14 | 1083 | 0 | 1 | Good |
| Sheraldo Becker | 16 | 772 | 2 | 2 | Fair |
| André Silva | 28 | 744 | 3 | 0 | Below expectations |
| Álvaro Odriozola | 23 | 397 | 0 | 0 | Did not deliver |
Sevilla (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Sergio Ramos | 31 | 2518 | 3 | 0 | Good |
| Boubakary Soumaré | 31 | 2294 | 0 | 1 | Fair |
| Ørjan Nyland | 28 | 2160 | 0 | 0 | Fair |
| Adrià Pedrosa | 35 | 1770 | 1 | 4 | Fair |
| Djibril Sow | 27 | 1472 | 1 | 1 | Fair |
| Dodi Lukebakio | 24 | 1134 | 5 | 1 | Good |
| Lucien Agoumé | 13 | 777 | 0 | 0 | Below expectations |
| Mariano Díaz | 14 | 259 | 0 | 0 | Did not deliver |
| Hannibal Mejbri * | 17 | 107 | 0 | 0 | Investment |
| Alejo Veliz * | 12 | 47 | 0 | 0 | Investment |
| Federico Gattoni | 17 | 16 | 0 | 0 | Did not deliver |
Valencia (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Pepelu | 37 | 3305 | 7 | 1 | Excellent |
| Sergi Canós | 28 | 1243 | 1 | 2 | Good |
| Roman Yaremchuk | 29 | 941 | 3 | 0 | Fair |
| Selim Amallah | 27 | 633 | 0 | 1 | Did not deliver |
Villarreal (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Alexander Sørloth | 35 | 2491 | 23 | 6 | Excellent |
| Santi Comesaña | 33 | 1662 | 2 | 0 | Below expectations |
| Yerson Mosquera | 17 | 1237 | 2 | 1 | Good |
| Gonçalo Guedes | 18 | 951 | 3 | 2 | Fair |
| Eric Bailly | 13 | 838 | 0 | 0 | Did not deliver |
| Bertrand Traoré | 13 | 574 | 1 | 0 | Below expectations |
| Matteo Gabbia | 15 | 478 | 0 | 0 | Did not deliver |
| Ben Brereton Díaz | 19 | 305 | 0 | 0 | Did not deliver |
| Denis Suárez | 5 | 138 | 0 | 0 | Did not deliver |