Executive Summary
39%
Clubs' average hit rate
In total we identified 150 real signings by the clubs of Bundesliga in the 2025/26 season — academy promotions, loan returns, internal moves and transfers that never went through are excluded. Of these, 140 are included in the hit-rate calculation; 10 are youth investments (under-23 with no game time), classified separately. Signings without relevant minutes in the season count as unsuccessful.
League Analysis
Champions Bayern München posted a hit rate of 80% on signings (5 evaluated), holding 1st place in the accuracy ranking. The bottom four in the table had an average hit rate of 22% on signings — below the league average (39%), highlighting the link between recruitment quality and sporting performance.
Bayern München leads the accuracy ranking with 80% and Union Berlin closes the list with 10%. p. over the clubs' decisions).
Club Ranking
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % | SigningLab* |
| 1 | Bayern München | 1º | 5 | 5 | 4 | 0 | 1 | 80% | 100% |
| 2 | Eintracht Frankfurt | 8º | 5 | 4 | 2 | 2 | 0 | 75% | 100% |
| 3 | 1899 Hoffenheim | 5º | 8 | 7 | 4 | 1 | 2 | 64% | 71% |
| 4 | Borussia Dortmund | 2º | 4 | 4 | 2 | 1 | 1 | 62% | 100% |
| 5 | RB Leipzig | 3º | 9 | 8 | 2 | 5 | 1 | 56% | 100% |
| 6 | Bayer Leverkusen | 6º | 12 | 10 | 3 | 4 | 3 | 50% | 80% |
| 7 | Werder Bremen | 15º | 8 | 8 | 3 | 1 | 4 | 44% | 100% |
| 8 | FC Augsburg | 9º | 10 | 9 | 1 | 4 | 4 | 33% | 89% |
| 9 | Hamburger SV | 13º | 18 | 17 | 3 | 5 | 9 | 32% | 94% |
| 10 | Borussia Mönchengladbach | 12º | 9 | 8 | 1 | 3 | 4 | 31% | 88% |
| 11 | 1. FC Köln | 14º | 14 | 14 | 1 | 6 | 7 | 29% | 93% |
| 12 | FSV Mainz 05 | 10º | 7 | 7 | 1 | 2 | 4 | 29% | 100% |
| 13 | VfL Wolfsburg | 16º | 8 | 8 | 1 | 2 | 5 | 25% | 100% |
| 14 | FC St. Pauli | 18º | 11 | 10 | 1 | 2 | 7 | 20% | 90% |
| 15 | 1. FC Heidenheim | 17º | 6 | 5 | 0 | 2 | 3 | 20% | 80% |
| 16 | VfB Stuttgart | 4º | 5 | 5 | 1 | 0 | 4 | 20% | 60% |
| 17 | SC Freiburg | 7º | 6 | 6 | 0 | 2 | 4 | 17% | 83% |
| 18 | Union Berlin | 11º | 5 | 5 | 0 | 1 | 4 | 10% | 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 |
| Luis Díaz | Bayern München | F | 2450 | 15+14 | 7.28 | Excellent |
| Yan Diomande | RB Leipzig | F | 2476 | 12+8 | 7.72 | Excellent |
| Luka Vušković | Hamburger SV | D | 2441 | 6+0 | 7.01 | Excellent |
| Nicolas Jackson | Bayern München | F | 1037 | 8+1 | 5.99 | Good |
| Wouter Burger | 1899 Hoffenheim | M | 2440 | 4+5 | 7.09 | Excellent |
| Vladimír Coufal | 1899 Hoffenheim | D | 3017 | 1+8 | 7.16 | Excellent |
| Malik Tillman | Bayer Leverkusen | F | 1689 | 6+0 | 6.68 | Excellent |
| Sheraldo Becker | FSV Mainz 05 | F | 953 | 3+3 | 6.93 | Excellent |
| Cameron Puertas | Werder Bremen | M | 1878 | 1+2 | 6.06 | Excellent |
| Jonathan Tah | Bayern München | D | 2024 | 2+1 | 5.95 | Good |
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.
1. FC Heidenheim (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Diant Ramaj | 33 | 2790 | 0 | 1 | Fair |
| Arijon Ibrahimović | 32 | 2181 | 2 | 4 | Fair |
| Christian Joe Conteh | 10 | 405 | 0 | 0 | Did not deliver |
| Leonidas Stergiou | 9 | 203 | 0 | 0 | Did not deliver |
| Leart Paqarada | 2 | 7 | 0 | 0 | Did not deliver |
| Paul Tschernuth * | 1 | 0 | 0 | 0 | Investment |
1. FC Köln (14 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jakub Kamiński | 34 | 3019 | 7 | 3 | Fair |
| Sebastian Sebulonsen | 31 | 2505 | 0 | 0 | Did not deliver |
| Kristoffer Lund | 34 | 2289 | 0 | 2 | Below expectations |
| Ísak Bergmann Jóhannesson | 32 | 1812 | 1 | 2 | Fair |
| Tom Krauß | 32 | 1801 | 0 | 2 | Fair |
| Cenk Özkaçar | 34 | 1801 | 0 | 0 | Below expectations |
| Ragnar Ache | 29 | 1724 | 7 | 4 | Fair |
| Marius Bülter | 32 | 1606 | 5 | 4 | Fair |
| Rav van den Berg | 23 | 1138 | 0 | 1 | Fair |
| Joel Schmied | 19 | 1080 | 0 | 0 | Did not deliver |
| Alessio Castro-Montes | 23 | 670 | 1 | 3 | Good |
| Jusuf Gazibegović | 6 | 22 | 0 | 0 | Did not deliver |
| Matthias Köbbing | 3 | 0 | 0 | 0 | Did not deliver |
| Ron-Robert Zieler | 34 | 0 | 0 | 0 | Did not deliver |
1899 Hoffenheim (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Vladimír Coufal | 34 | 3017 | 1 | 8 | Excellent |
| Leon Avdullahu | 33 | 2838 | 0 | 1 | Good |
| Wouter Burger | 30 | 2440 | 4 | 5 | Excellent |
| Albian Hajdari | 31 | 2440 | 1 | 2 | Good |
| Bernardo | 30 | 2318 | 0 | 0 | Fair |
| Tim Lemperle | 29 | 1959 | 8 | 2 | Below expectations |
| Cole Campbell * | 11 | 83 | 0 | 0 | Investment |
| Koki Machida | 1 | 44 | 0 | 0 | Did not deliver |
Bayer Leverkusen (12 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jarell Quansah | 30 | 2308 | 4 | 0 | Fair |
| Mark Flekken | 24 | 2130 | 0 | 0 | Good |
| Malik Tillman | 29 | 1689 | 6 | 0 | Excellent |
| Loïc Badé | 27 | 1659 | 0 | 0 | Good |
| Ernest Poku | 33 | 1484 | 5 | 5 | Fair |
| Ezequiel Fernández | 25 | 1001 | 0 | 1 | Fair |
| Janis Blaswich | 32 | 930 | 0 | 0 | Did not deliver |
| Lucas Vázquez | 16 | 499 | 1 | 2 | Fair |
| Eliesse Ben Seghir | 19 | 261 | 0 | 0 | Below expectations |
| Claudio Echeverri * | 13 | 136 | 0 | 0 | Investment |
| Tim Oermann * | 12 | 16 | 0 | 0 | Investment |
| Jonas Omlin | 11 | 0 | 0 | 0 | Did not deliver |
Bayern München (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Luis Díaz | 32 | 2450 | 15 | 14 | Excellent |
| Jonathan Tah | 33 | 2024 | 2 | 1 | Good |
| Tom Bischof | 29 | 1320 | 3 | 3 | Good |
| Nicolas Jackson | 26 | 1037 | 8 | 1 | Good |
| Benno Schmitz | 0 | 0 | 0 | 0 | Did not deliver |
Borussia Dortmund (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jobe Bellingham | 32 | 1800 | 0 | 1 | Fair |
| Fábio Silva | 30 | 828 | 2 | 6 | Good |
| Aaron Anselmino | 8 | 368 | 1 | 0 | Good |
| Patrick Drewes | 2 | 0 | 0 | 0 | Did not deliver |
Borussia Mönchengladbach (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Yannik Engelhardt | 31 | 2497 | 2 | 2 | Fair |
| Kevin Diks | 30 | 2467 | 5 | 0 | Good |
| Haris Tabaković | 32 | 2394 | 13 | 2 | Fair |
| Jens Castrop | 27 | 1599 | 3 | 1 | Below expectations |
| Shuto Machino | 33 | 1084 | 3 | 1 | Fair |
| Hugo Bolin | 14 | 552 | 1 | 1 | Did not deliver |
| Giovanni Reyna | 25 | 526 | 1 | 0 | Below expectations |
| Kota Takai | 13 | 357 | 0 | 0 | Below expectations |
| Jan Urbich * | 7 | 40 | 0 | 0 | Investment |
Eintracht Frankfurt (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ritsu Doan | 32 | 2379 | 5 | 5 | Fair |
| Michael Zetterer | 34 | 1975 | 0 | 0 | Fair |
| Arnaud Kalimuendo | 19 | 1420 | 6 | 1 | Good |
| Jonathan Burkardt | 22 | 1340 | 13 | 1 | Good |
| Younes Ebnoutalib * | 8 | 139 | 1 | 0 | Investment |
FC Augsburg (10 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Robin Fellhauer | 34 | 2810 | 3 | 2 | Fair |
| Han-Noah Massengo | 33 | 2435 | 2 | 1 | Below expectations |
| Fabian Rieder | 32 | 2359 | 6 | 3 | Fair |
| Anton Kade | 29 | 1746 | 6 | 0 | Fair |
| Michael Gregoritsch | 18 | 927 | 6 | 2 | Good |
| Arthur Chaves | 14 | 829 | 2 | 0 | Fair |
| Rodrigo Ribeiro | 17 | 632 | 2 | 0 | Below expectations |
| Elias Saad | 14 | 499 | 0 | 0 | Did not deliver |
| Yannik Keitel | 10 | 247 | 0 | 0 | Did not deliver |
| Ismael Gharbi * | 21 | 92 | 0 | 0 | Investment |
FC St. Pauli (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Joel Chima Fujita | 32 | 2671 | 1 | 3 | Fair |
| Arkadiusz Pyrka | 33 | 2580 | 0 | 1 | Below expectations |
| Mathias Pereira Lage | 28 | 2030 | 2 | 2 | Below expectations |
| Louis Oppie | 34 | 1616 | 1 | 0 | Did not deliver |
| Martijn Kaars | 32 | 1368 | 3 | 1 | Did not deliver |
| Tomoya Ando | 17 | 1261 | 0 | 1 | Good |
| Andreas Hountondji | 21 | 1084 | 4 | 0 | Did not deliver |
| Mathias Rasmussen | 14 | 705 | 0 | 0 | Fair |
| Ricky Jade-Jones | 11 | 349 | 2 | 0 | Did not deliver |
| Taichi Hara | 14 | 31 | 0 | 0 | Did not deliver |
| Emil Gazdov * | 1 | 0 | 0 | 0 | Investment |
FSV Mainz 05 (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Phillip Tietz | 19 | 1618 | 5 | 2 | Fair |
| Stefan Posch | 16 | 1395 | 0 | 0 | Fair |
| Sheraldo Becker | 14 | 953 | 3 | 3 | Excellent |
| Benedict Hollerbach | 14 | 882 | 1 | 2 | Below expectations |
| Silas Wamangituka | 8 | 342 | 1 | 0 | Below expectations |
| Sota Kawasaki | 24 | 325 | 0 | 0 | Below expectations |
| William Bøving | 27 | 227 | 0 | 1 | Below expectations |
Hamburger SV (18 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Nicolai Remberg | 32 | 2880 | 0 | 2 | Fair |
| Luka Vušković | 29 | 2441 | 6 | 0 | Excellent |
| Fábio Vieira | 29 | 2215 | 7 | 5 | Good |
| Nicolás Capaldo | 27 | 2009 | 1 | 3 | Below expectations |
| Jordan Torunarigha | 29 | 1965 | 0 | 0 | Fair |
| Albert Sambi Lokonga | 27 | 1712 | 5 | 0 | Good |
| Warmed Omari | 20 | 1607 | 0 | 1 | Fair |
| Rayan Philippe | 32 | 1292 | 5 | 0 | Did not deliver |
| Daniel Elfadli | 29 | 1266 | 0 | 0 | Did not deliver |
| Giorgi Gocholeishvili | 30 | 957 | 0 | 1 | Did not deliver |
| Damion Downs | 15 | 550 | 0 | 0 | Did not deliver |
| Albert Grønbæk | 8 | 495 | 1 | 2 | Fair |
| Philip Otele | 11 | 477 | 1 | 1 | Fair |
| Yussuf Poulsen | 16 | 342 | 1 | 0 | Below expectations |
| Emir Sahiti | 5 | 122 | 0 | 0 | Did not deliver |
| Sander Tangvik * | 16 | 90 | 0 | 0 | Investment |
| Immanuel Pherai | 10 | 63 | 0 | 0 | Did not deliver |
| Daniel Peretz | 15 | 0 | 0 | 0 | Did not deliver |
RB Leipzig (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Yan Diomande | 33 | 2476 | 12 | 8 | Excellent |
| Rômulo | 30 | 2204 | 9 | 4 | Fair |
| Conrad Harder | 31 | 919 | 3 | 3 | Fair |
| Johan Bakayoko | 29 | 779 | 2 | 0 | Fair |
| Brajan Gruda | 13 | 755 | 3 | 3 | Good |
| Ezechiel Banzuzi | 28 | 597 | 0 | 1 | Fair |
| Max Finkgrafe | 26 | 502 | 1 | 1 | Fair |
| Andrija Maksimović * | 22 | 88 | 0 | 0 | Investment |
| Leopold Zingerle | 5 | 0 | 0 | 0 | Did not deliver |
SC Freiburg (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Philipp Treu | 32 | 2194 | 1 | 2 | Fair |
| Yuito Suzuki | 29 | 1636 | 4 | 2 | Below expectations |
| Igor Matanović | 32 | 1570 | 11 | 2 | Fair |
| Derry Scherhant | 34 | 1308 | 5 | 1 | Below expectations |
| Anthony Jung | 26 | 528 | 0 | 0 | Did not deliver |
| Jannik Huth | 1 | 0 | 0 | 0 | Did not deliver |
Union Berlin (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Derrick Köhn | 31 | 1910 | 1 | 2 | Below expectations |
| Oliver Burke | 33 | 1691 | 6 | 2 | Below expectations |
| Stanley N'Soki | 26 | 823 | 1 | 2 | Fair |
| Carl Klaus | 10 | 329 | 0 | 0 | Did not deliver |
| Matheo Raab | 25 | 90 | 0 | 0 | Did not deliver |
VfB Stuttgart (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Bilal El Khannouss | 27 | 1634 | 4 | 5 | Good |
| Lorenz Assignon | 30 | 1109 | 0 | 0 | Below expectations |
| Badredine Bouanani | 29 | 481 | 0 | 0 | Below expectations |
| Stefan Drljača | 3 | 0 | 0 | 0 | Did not deliver |
| Abdenego Nankishi | 0 | 0 | 0 | 0 | Did not deliver |
VfL Wolfsburg (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Christian Eriksen | 33 | 2509 | 3 | 9 | Good |
| Saël Kumbedi | 30 | 1890 | 0 | 5 | Fair |
| Vinícius Souza | 32 | 1778 | 0 | 0 | Fair |
| Adam Daghim | 29 | 1446 | 2 | 3 | Below expectations |
| Jeanuël Belocian | 15 | 1345 | 0 | 1 | Below expectations |
| Jenson Seelt | 11 | 696 | 0 | 0 | Below expectations |
| Jesper Lindstrøm | 15 | 415 | 0 | 0 | Did not deliver |
| Kento Shiogai | 17 | 329 | 1 | 0 | Below expectations |
Werder Bremen (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Yukinari Sugawara | 32 | 2432 | 0 | 6 | Good |
| Cameron Puertas | 31 | 1878 | 1 | 2 | Excellent |
| Samuel Mbangula | 29 | 1182 | 3 | 2 | Fair |
| Isaac Schmidt | 30 | 677 | 1 | 0 | Did not deliver |
| Victor Okoh Boniface | 12 | 325 | 0 | 2 | Good |
| Karl Hein | 25 | 180 | 0 | 0 | Did not deliver |
| Maximilian Wöber | 5 | 35 | 0 | 0 | Did not deliver |
| Markus Kolke | 11 | 0 | 0 | 0 | Did not deliver |