Executive Summary
42%
Clubs' average hit rate
In total we identified 193 real signings by the clubs of Jupiler Pro League in the 2024/25 season — academy promotions, loan returns, internal moves and transfers that never went through are excluded. Of these, 181 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 % | SigningLab* |
| 1 | Genk | 3º | 6 | 4 | 3 | 0 | 1 | 75% | 100% |
| 2 | Club Brugge KV | 2º | 8 | 6 | 4 | 0 | 2 | 67% | 67% |
| 3 | Union St. Gilloise | 1º | 7 | 6 | 3 | 2 | 1 | 67% | 67% |
| 4 | St. Truiden | 14º | 11 | 10 | 5 | 3 | 2 | 65% | 80% |
| 5 | Anderlecht | 4º | 8 | 8 | 3 | 4 | 1 | 62% | 100% |
| 6 | KVC Westerlo | 7º | 6 | 6 | 2 | 3 | 1 | 58% | 67% |
| 7 | Antwerp | 6º | 8 | 8 | 2 | 4 | 2 | 50% | 88% |
| 8 | Charleroi | 5º | 9 | 8 | 2 | 4 | 2 | 50% | 75% |
| 9 | KV Mechelen | 8º | 10 | 10 | 3 | 3 | 4 | 45% | 80% |
| 10 | Gent | 9º | 10 | 9 | 3 | 2 | 4 | 44% | 89% |
| 11 | Dender | 13º | 27 | 27 | 6 | 6 | 15 | 33% | 78% |
| 12 | Standard Liege | 10º | 16 | 16 | 2 | 4 | 10 | 25% | 75% |
| 13 | Kortrijk | 15º | 10 | 10 | 1 | 3 | 6 | 25% | 60% |
| 14 | Beerschot VA | 16º | 26 | 25 | 1 | 9 | 15 | 22% | 92% |
| 15 | Cercle Brugge | 11º | 9 | 8 | 1 | 1 | 6 | 19% | 100% |
| 16 | OH Leuven | 12º | 14 | 12 | 0 | 3 | 9 | 12% | 83% |
| 17 | Patro Eisden | 17º | 8 | 8 | 0 | 0 | 8 | 0% | 100% |
* SigningLab: hit rate of SigningLab’s verdicts (recommend or not recommend) on each club’s evaluated signings, projected at the time of signing.
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 | SigningLab |
| Christos Tzolis | Club Brugge KV | F | 2903 | 16+9 | 7.45 | Excellent |
| Luka Vušković | KVC Westerlo | D | 2974 | 7+2 | 6.94 | Excellent |
| Jarne Steuckers | Genk | M | 3113 | 8+8 | 7.25 | Excellent |
| Ardon Jashari | Club Brugge KV | M | 2777 | 3+4 | 6.42 | Excellent |
| Promise David | Union St. Gilloise | F | 1947 | 19+4 | 6.70 | Excellent |
| Yassine Titraoui | Charleroi | M | 2209 | 2+1 | 5.66 | Excellent |
| Anouar Ait El Hadj | Union St. Gilloise | M | 1647 | 5+7 | 5.38 | Excellent |
| Gustaf Nilsson | Club Brugge KV | F | 1855 | 9+5 | 6.63 | Excellent |
| Tjaronn Chery | Antwerp | M | 3134 | 14+6 | 7.29 | Excellent |
| Ortwin De Wolf | KV Mechelen | G | 3510 | 0+0 | 6.99 | 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.
Anderlecht (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jan-Carlo Simic | 38 | 2722 | 3 | 0 | Good |
| Leander Dendoncker | 31 | 2615 | 2 | 1 | Good |
| Zanka | 17 | 1425 | 0 | 2 | Fair |
| Samuel Edozie | 25 | 1270 | 3 | 2 | Fair |
| César Huerta | 18 | 1107 | 3 | 2 | Good |
| Adryelson | 12 | 713 | 1 | 0 | Fair |
| Thomas Foket | 28 | 577 | 0 | 2 | Fair |
| Mads Juhl Kikkenborg | 40 | 180 | 0 | 0 | Did not deliver |
Antwerp (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Tjaronn Chery | 40 | 3134 | 14 | 6 | Excellent |
| Denis Odoi | 29 | 2312 | 1 | 2 | Fair |
| Olivier Deman | 20 | 1800 | 0 | 0 | Good |
| Dennis Praet | 28 | 1570 | 0 | 1 | Fair |
| Jaïro Riedewald | 26 | 1375 | 0 | 0 | Below expectations |
| Ayrton Costa | 18 | 1207 | 0 | 0 | Fair |
| Mohamed Bayo | 17 | 640 | 1 | 2 | Fair |
| Yannick Thoelen | 10 | 0 | 0 | 0 | Did not deliver |
Beerschot VA (26 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Loïc Mbe Soh | 30 | 2516 | 2 | 0 | Fair |
| Brian Plat | 34 | 2495 | 0 | 0 | Fair |
| Ewan Henderson | 31 | 2246 | 3 | 3 | Fair |
| Faisal Al-Ghamdi | 26 | 2190 | 1 | 1 | Fair |
| Nick Shinton | 30 | 1852 | 0 | 0 | Fair |
| Marwan Alsahafi | 25 | 1837 | 6 | 1 | Below expectations |
| Thibaud Verlinden | 21 | 1755 | 2 | 4 | Good |
| Antoine Colassin | 27 | 1638 | 4 | 5 | Fair |
| Colin Dagba | 22 | 1464 | 0 | 1 | Below expectations |
| Hakim Sahabo | 16 | 1220 | 0 | 0 | Below expectations |
| Katuku Derrick Tshimanga | 33 | 1157 | 1 | 0 | Did not deliver |
| Davor Matijaš | 36 | 1111 | 0 | 0 | Fair |
| Marco Weymans | 30 | 1111 | 1 | 1 | Fair |
| Charly Keita | 21 | 1020 | 1 | 1 | Below expectations |
| Welat Cagro | 25 | 971 | 2 | 0 | Did not deliver |
| Rajiv Van La Parra | 12 | 934 | 0 | 1 | Did not deliver |
| Herve Matthys | 14 | 898 | 1 | 1 | Below expectations |
| ArJany Martha | 27 | 645 | 0 | 1 | Did not deliver |
| Ayouba Kosiah | 29 | 541 | 1 | 0 | Did not deliver |
| Daishawn Redan | 8 | 492 | 4 | 0 | Below expectations |
| Dean Huiberts | 28 | 387 | 0 | 0 | Did not deliver |
| Djevencio van der Kust | 12 | 339 | 0 | 0 | Fair |
| D'Margio Wright-Phillips * | 19 | 170 | 0 | 0 | Investment |
| Florian Krüger | 11 | 118 | 0 | 0 | Did not deliver |
| Cheikh Thiam | 6 | 0 | 0 | 0 | Did not deliver |
| Emir Ortakaya | 8 | 0 | 0 | 0 | Did not deliver |
Cercle Brugge (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Gary Magnee | 34 | 2220 | 0 | 5 | Fair |
| Ibrahim Diakité | 33 | 2183 | 3 | 0 | Below expectations |
| Maxime Delanghe | 38 | 2163 | 0 | 0 | Did not deliver |
| Lucas Perrin | 15 | 1225 | 2 | 0 | Good |
| Paris Brunner | 25 | 695 | 5 | 0 | Below expectations |
| Bruno Gonçalves | 19 | 569 | 1 | 2 | Below expectations |
| Steve Ngoura | 10 | 432 | 0 | 0 | Did not deliver |
| Heriberto Jurado * | 6 | 1 | 0 | 0 | Investment |
| Eloy Room | 13 | 0 | 0 | 0 | Did not deliver |
Charleroi (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Yassine Titraoui | 38 | 2209 | 2 | 1 | Excellent |
| Aiham Ousou | 27 | 2025 | 0 | 0 | Fair |
| Mohamed Koné | 37 | 1890 | 0 | 0 | Excellent |
| Cheick Keita | 40 | 1661 | 3 | 0 | Fair |
| Mardochee Nzita | 39 | 1133 | 0 | 0 | Fair |
| Grejohn Kyei | 20 | 394 | 1 | 0 | Did not deliver |
| Alexis Flips | 31 | 331 | 0 | 0 | Fair |
| Theo Defourny | 12 | 90 | 0 | 0 | Did not deliver |
| Robin Denuit * | 5 | 25 | 0 | 0 | Investment |
Club Brugge KV (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Christos Tzolis | 39 | 2903 | 16 | 9 | Excellent |
| Ardon Jashari | 39 | 2777 | 3 | 4 | Excellent |
| Gustaf Nilsson | 31 | 1855 | 9 | 5 | Excellent |
| Hugo Siquet | 31 | 740 | 2 | 1 | Excellent |
| Zaid Romero | 37 | 636 | 0 | 0 | Below expectations |
| Lynnt Audoor * | 5 | 0 | 0 | 0 | Investment |
| Dani van den Heuvel * | 0 | 0 | 0 | 0 | Investment |
| Siebe Wylin | 0 | 0 | 0 | 0 | Did not deliver |
Dender (27 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Nathan Rodes | 40 | 3444 | 5 | 2 | Good |
| Gilles Ruyssen | 39 | 3386 | 0 | 0 | Fair |
| Kobe Cools | 40 | 3212 | 0 | 1 | Good |
| Michael Verrips | 34 | 2973 | 0 | 0 | Below expectations |
| Fabio Ferraro | 39 | 2930 | 1 | 5 | Fair |
| Roman Kvet | 38 | 2750 | 7 | 1 | Good |
| Bruny Nsimba | 38 | 2618 | 9 | 4 | Good |
| Joedrick Pupe | 29 | 2315 | 0 | 5 | Good |
| David Hrnčár | 37 | 2233 | 4 | 6 | Fair |
| Aurelien Scheidler | 31 | 2128 | 9 | 2 | Good |
| Malcolm Viltard | 33 | 1827 | 0 | 0 | Below expectations |
| Mohamed Berte | 40 | 1788 | 9 | 1 | Fair |
| Bryan Goncalves | 39 | 1753 | 1 | 3 | Fair |
| Lennard Hens | 34 | 1123 | 1 | 2 | Fair |
| Dembo Sylla | 32 | 1027 | 0 | 0 | Did not deliver |
| Ragnar Oratmangoen | 22 | 1012 | 1 | 0 | Below expectations |
| Noah Mbamba | 9 | 474 | 0 | 0 | Below expectations |
| Jordy Soladio | 15 | 412 | 1 | 0 | Did not deliver |
| Karol Fila | 7 | 369 | 1 | 0 | Did not deliver |
| Guillaume Dietsch | 22 | 318 | 0 | 0 | Did not deliver |
| Julien Devriendt | 24 | 315 | 0 | 0 | Below expectations |
| Desmond Acquah | 34 | 305 | 0 | 0 | Did not deliver |
| Kéres Masangu | 21 | 254 | 0 | 0 | Did not deliver |
| Ridwane M'Barki | 34 | 208 | 0 | 0 | Did not deliver |
| Thomas Holmes | 7 | 94 | 0 | 0 | Did not deliver |
| Jordan Attah Kadiri | 14 | 47 | 0 | 0 | Did not deliver |
| Ali Akman | 21 | 46 | 1 | 0 | Did not deliver |
Genk (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Matte Smets | 39 | 3243 | 0 | 0 | Excellent |
| Jarne Steuckers | 38 | 3113 | 8 | 8 | Excellent |
| Hendrik Van Crombrugge | 40 | 1710 | 0 | 0 | Did not deliver |
| Hyun-gyu Oh | 39 | 690 | 9 | 2 | Good |
| Adrian Palacios * | 16 | 1 | 0 | 0 | Investment |
| Kayden Pierre * | 2 | 0 | 0 | 0 | Investment |
Gent (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mathias Delorge-Knieper | 38 | 3149 | 1 | 3 | Excellent |
| Atsuki Ito | 35 | 2653 | 2 | 1 | Excellent |
| Andri Guðjohnsen | 40 | 1542 | 5 | 1 | Below expectations |
| Tiago Araújo | 30 | 1340 | 0 | 1 | Did not deliver |
| Leo da Silva Lopes | 19 | 1332 | 0 | 1 | Fair |
| Dante Vanzeir | 18 | 1330 | 5 | 4 | Good |
| Tom Vandenberghe | 16 | 1170 | 0 | 0 | Fair |
| Aimé Omgba | 13 | 466 | 1 | 0 | Did not deliver |
| Helio Varela * | 20 | 145 | 0 | 1 | Investment |
| Anderson Niangbo | 0 | 0 | 0 | 0 | Did not deliver |
KV Mechelen (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ortwin De Wolf | 40 | 3510 | 0 | 0 | Excellent |
| José Marsà | 38 | 2901 | 1 | 3 | Fair |
| Ahmed Touba | 26 | 2132 | 2 | 0 | Fair |
| Frederik Hammar | 20 | 1649 | 0 | 0 | Good |
| Aziz Ouattara Mohammed | 28 | 1558 | 0 | 0 | Below expectations |
| Benito Raman | 34 | 1425 | 13 | 3 | Fair |
| Stephen Welsh | 20 | 1303 | 1 | 0 | Good |
| Petter Nosakhare Dahl | 35 | 530 | 1 | 1 | Below expectations |
| Jules Van Cleemput | 11 | 315 | 0 | 0 | Below expectations |
| Zinho Vanheusden | 4 | 159 | 0 | 0 | Did not deliver |
KVC Westerlo (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Luka Vušković | 38 | 2974 | 7 | 2 | Excellent |
| Alfie Devine | 30 | 2116 | 6 | 1 | Good |
| Andreas Jungdal | 17 | 1533 | 0 | 1 | Fair |
| Isa Sakamoto | 19 | 1368 | 6 | 2 | Fair |
| Islam Slimani | 19 | 403 | 2 | 1 | Fair |
| Emir Ortakaya | 17 | 152 | 0 | 0 | Did not deliver |
Kortrijk (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Nacho Ferri | 33 | 2303 | 8 | 1 | Excellent |
| Bram Lagae | 32 | 1747 | 1 | 0 | Below expectations |
| Brecht Dejaegere | 26 | 1522 | 1 | 1 | Fair |
| Jean-Kevin Duverne | 13 | 1170 | 4 | 2 | Fair |
| Marco Ilaimaharitra | 13 | 1078 | 1 | 0 | Fair |
| Tomoki Takamine | 19 | 988 | 0 | 0 | Below expectations |
| Patrik Sigurdur Gunnarsson | 15 | 923 | 0 | 0 | Did not deliver |
| Takuro Kaneko | 19 | 904 | 1 | 0 | Below expectations |
| Koen Kostons | 13 | 401 | 0 | 1 | Below expectations |
| Roko Šimić | 7 | 143 | 0 | 0 | Did not deliver |
OH Leuven (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Birger Verstraete | 35 | 2857 | 0 | 3 | Fair |
| Chukwubuikem Ikwuemesi | 37 | 2337 | 6 | 2 | Did not deliver |
| Takuma Ominami | 31 | 1660 | 0 | 0 | Below expectations |
| Stefan Mitrović | 31 | 1536 | 2 | 1 | Below expectations |
| William Balikwisha | 38 | 1495 | 2 | 1 | Below expectations |
| Óscar Gil | 30 | 1462 | 1 | 1 | Below expectations |
| Manuel Osifo | 35 | 1266 | 0 | 1 | Did not deliver |
| Thibaud Verlinden | 14 | 830 | 1 | 2 | Fair |
| Lequincio Zeefuik | 16 | 735 | 0 | 0 | Did not deliver |
| Wouter George | 27 | 727 | 0 | 0 | Did not deliver |
| Ayumu Ohata | 11 | 213 | 0 | 1 | Fair |
| Jovan Mijatović * | 7 | 191 | 1 | 0 | Investment |
| Mickaël Biron | 14 | 145 | 0 | 0 | Did not deliver |
| Antef Tsoungui * | 4 | 44 | 0 | 0 | Investment |
Patro Eisden (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jordi Belin | 2 | 180 | 0 | 0 | Did not deliver |
| Jordan Renson | 2 | 180 | 0 | 0 | Did not deliver |
| Stef Peeters | 2 | 180 | 0 | 0 | Did not deliver |
| Lukas Van Eenoo | 2 | 148 | 0 | 0 | Did not deliver |
| Reno Wilmots | 2 | 115 | 0 | 0 | Did not deliver |
| Kjetil Borry | 1 | 90 | 0 | 0 | Did not deliver |
| Gian Geladé | 2 | 0 | 0 | 0 | Did not deliver |
| Justin Heekeren | 0 | 0 | 0 | 0 | Did not deliver |
St. Truiden (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Leo Kokubo | 34 | 2970 | 0 | 0 | Good |
| Louis Patris | 29 | 2182 | 1 | 7 | Good |
| Billal Brahimi | 27 | 1795 | 2 | 4 | Good |
| Andrés Ferrari | 30 | 1098 | 5 | 2 | Fair |
| Loic Lapoussin | 12 | 1015 | 3 | 2 | Excellent |
| Shogo Taniguchi | 14 | 951 | 1 | 0 | Fair |
| Zineddine Belaid | 22 | 913 | 0 | 0 | Did not deliver |
| Didier Lamkel Zé | 12 | 790 | 4 | 0 | Good |
| Visar Musliu | 11 | 728 | 0 | 0 | Fair |
| Isaías Delpupo * | 9 | 151 | 0 | 0 | Investment |
| Simen Juklerød | 15 | 134 | 0 | 0 | Did not deliver |
Standard Liege (16 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Dennis Eckert | 33 | 2697 | 7 | 0 | Good |
| Ilay Camara | 34 | 2472 | 0 | 2 | Below expectations |
| Boško Šutalo | 30 | 1948 | 1 | 0 | Below expectations |
| Andi Zeqiri | 25 | 1754 | 9 | 3 | Fair |
| Marko Bulat | 36 | 1653 | 1 | 0 | Fair |
| Ibrahim Karamoko | 20 | 1226 | 0 | 0 | Fair |
| Sotiris Alexandropoulos | 38 | 1141 | 0 | 0 | Did not deliver |
| Jean Thierry Lazare Amani | 18 | 1132 | 2 | 0 | Good |
| Andreas Hountondji | 18 | 874 | 4 | 1 | Below expectations |
| Boli Bolingoli-Mbombo | 19 | 796 | 0 | 0 | Did not deliver |
| David Bates | 9 | 777 | 0 | 0 | Fair |
| Gavin Bazunu | 8 | 720 | 0 | 0 | Did not deliver |
| Attila Szalai | 13 | 339 | 0 | 0 | Did not deliver |
| Grejohn Kyei | 6 | 211 | 0 | 0 | Did not deliver |
| Muhammed Badammosi | 11 | 127 | 0 | 0 | Did not deliver |
| Viktor Đukanović | 18 | 58 | 0 | 0 | Did not deliver |
Union St. Gilloise (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Anan Khalaili | 38 | 2314 | 2 | 4 | Excellent |
| Promise David | 35 | 1947 | 19 | 4 | Excellent |
| Ousseynou Niang | 31 | 1740 | 2 | 1 | Fair |
| Mohammed Fuseini | 36 | 1690 | 9 | 1 | Below expectations |
| Anouar Ait El Hadj | 37 | 1647 | 5 | 7 | Excellent |
| Sofiane Boufal | 22 | 690 | 0 | 3 | Fair |
| Vic Chambaere * | 34 | 0 | 0 | 0 | Investment |