We identified 148 real signings across the 19 clubs of Bundesliga; 141 are included in the hit-rate calculation (7 youth investments set aside). Signings without relevant game time are classified as unsuccessful. League average hit rate: 41%.
Comparison with 2018/19
The league's average hit rate was 41%, against 42% the previous season (▼ 2 p.p.). There were 148 real signings, against 127 in 2018/19.
Hit rate by club
1º Borussia Mönchengladbach (4th in the league · 4 eval.)
2º RB Leipzig (3rd in the league · 4 eval.)
3º Borussia Dortmund (2nd in the league · 5 eval.)
4º Eintracht Frankfurt (9th in the league · 6 eval.)
5º Bayer Leverkusen (5th in the league · 4 eval.)
6º VfL Wolfsburg (7th in the league · 4 eval.)
7º 1. FC Köln (14th in the league · 13 eval.)
8º 1899 Hoffenheim (6th in the league · 7 eval.)
9º Hertha BSC (10th in the league · 7 eval.)
10º Union Berlin (11th in the league · 10 eval.)
11º FC Schalke 04 (12th in the league · 5 eval.)
12º Bayern München (1st in the league · 8 eval.)
13º SC Paderborn 07 (18th in the league · 20 eval.)
14º SC Freiburg (8th in the league · 4 eval.)
15º FC Augsburg (15th in the league · 10 eval.)
16º FSV Mainz 05 (13th in the league · 7 eval.)
17º Werder Bremen (16th in the league · 7 eval.)
18º Fortuna Düsseldorf (17th in the league · 9 eval.)
19º 1. FC Heidenheim (19th in the league · 7 eval.)
Detailed ranking
| Club | League position | Signings | Evaluated | Successful | Fair | Unsuccessful | Hit rate % |
|---|
| 1º | Borussia Mönchengladbach | 4º | 4 | 4 | 3 | 1 | 0 | 88% |
| 2º | RB Leipzig | 3º | 5 | 4 | 3 | 1 | 0 | 88% |
| 3º | Borussia Dortmund | 2º | 6 | 5 | 3 | 1 | 1 | 70% |
| 4º | Eintracht Frankfurt | 9º | 6 | 6 | 3 | 1 | 2 | 58% |
| 5º | Bayer Leverkusen | 5º | 5 | 4 | 1 | 2 | 1 | 50% |
| 6º | VfL Wolfsburg | 7º | 5 | 4 | 1 | 2 | 1 | 50% |
| 7º | 1. FC Köln | 14º | 13 | 13 | 4 | 4 | 5 | 46% |
| 8º | 1899 Hoffenheim | 6º | 8 | 7 | 2 | 2 | 3 | 43% |
| 9º | Hertha BSC | 10º | 7 | 7 | 2 | 2 | 3 | 43% |
| 10º | Union Berlin | 11º | 11 | 10 | 2 | 4 | 4 | 40% |
| 11º | FC Schalke 04 | 12º | 5 | 5 | 1 | 2 | 2 | 40% |
| 12º | Bayern München | 1º | 8 | 8 | 3 | 0 | 5 | 38% |
| 13º | SC Paderborn 07 | 18º | 20 | 20 | 2 | 10 | 8 | 35% |
| 14º | SC Freiburg | 8º | 4 | 4 | 1 | 0 | 3 | 25% |
| 15º | FC Augsburg | 15º | 11 | 10 | 1 | 2 | 7 | 20% |
| 16º | FSV Mainz 05 | 13º | 7 | 7 | 1 | 0 | 6 | 14% |
| 17º | Werder Bremen | 16º | 7 | 7 | 0 | 2 | 5 | 14% |
| 18º | Fortuna Düsseldorf | 17º | 9 | 9 | 1 | 0 | 8 | 11% |
| 19º | 1. FC Heidenheim | 19º | 7 | 7 | 0 | 0 | 7 | 0% |
Season Highlights
| Player | Club | Min | G+A | Nota | Rating |
|---|
| Thorgan Hazard | Borussia Dortmund | 2394 | 7+13 | 7.12 | Excellent |
| Christopher Nkunku | RB Leipzig | 1931 | 5+13 | 7.19 | Excellent |
| Marcus Thuram | Borussia Mönchengladbach | 2221 | 10+8 | 7.16 | Excellent |
| Florian Niederlechner | FC Augsburg | 2742 | 13+6 | 7.02 | Excellent |
| Benjamin Pavard | Bayern München | 2791 | 5+4 | 7.19 | Excellent |
Methodology
Only genuine signings for the first-team squad are considered — academy promotions, loan returns and internal moves are excluded. Each evaluated signing is classified into five tiers from a score that combines match ratings, attacking output adjusted for game time and consistency over the season, in comparison with the other players in the competition. Successful signings count as a full point; Fair ones, half a point.
Appendix — Signings by club
* Youth investment (under-23, no game time) — outside the calculation.
1. FC Heidenheim (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Kevin Müller | 2 | 184 | 0 | 0 | Did not deliver |
| Patrick Mainka | 2 | 184 | 0 | 0 | Did not deliver |
| Marnon Busch | 2 | 172 | 0 | 0 | Did not deliver |
| Jonas Föhrenbach | 2 | 101 | 0 | 0 | Did not deliver |
| David Otto | 2 | 70 | 0 | 0 | Did not deliver |
| Stefan Schimmer | 1 | 45 | 0 | 0 | Did not deliver |
| Tobias Mohr | 1 | 22 | 0 | 0 | Did not deliver |
1. FC Köln (13 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Ellyes Skhiri | 32 | 2689 | 1 | 3 | Good |
| Sebastiaan Bornauw | 28 | 2459 | 6 | 0 | Good |
| Kingsley Ehizibue | 31 | 2341 | 1 | 1 | Fair |
| Rafael Czichos | 26 | 2217 | 1 | 1 | Fair |
| Dominick Drexler | 27 | 1599 | 3 | 4 | Below expectations |
| Florian Kainz | 28 | 1572 | 5 | 6 | Good |
| Mark Uth | 15 | 1175 | 5 | 5 | Excellent |
| Benno Schmitz | 18 | 1160 | 0 | 0 | Did not deliver |
| Toni Leistner | 13 | 1024 | 0 | 0 | Fair |
| Kingsley Schindler | 13 | 864 | 0 | 2 | Below expectations |
| Birger Verstraete | 9 | 664 | 0 | 1 | Below expectations |
| Elvis Rexhbecaj | 13 | 628 | 0 | 3 | Fair |
| Johannes Geis | 0 | 0 | 0 | 0 | Did not deliver |
1899 Hoffenheim (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Robert Skov | 31 | 2628 | 4 | 7 | Excellent |
| Ihlas Bebou | 32 | 2104 | 6 | 1 | Good |
| Diadié Samassékou | 21 | 1331 | 0 | 1 | Did not deliver |
| Munas Dabbur | 14 | 774 | 4 | 0 | Fair |
| Jürgen Locadia | 11 | 527 | 4 | 0 | Fair |
| Jacob Bruun Larsen | 11 | 397 | 0 | 1 | Below expectations |
| Konstantinos Stafylidis | 7 | 396 | 1 | 0 | Did not deliver |
| Lucas Ribeiro * | 2 | 70 | 1 | 0 | Investment |
Bayer Leverkusen (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Nadiem Amiri | 30 | 1865 | 1 | 2 | Below expectations |
| Moussa Diaby | 28 | 1769 | 5 | 5 | Excellent |
| Kerem Demirbay | 25 | 1579 | 1 | 5 | Fair |
| Daley Sinkgraven | 13 | 914 | 0 | 1 | Fair |
| Exequiel Palacios * | 3 | 177 | 0 | 0 | Investment |
Bayern München (8 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Benjamin Pavard | 32 | 2791 | 5 | 4 | Excellent |
| Philippe Coutinho | 23 | 1412 | 8 | 6 | Excellent |
| Ivan Perišić | 22 | 1207 | 4 | 3 | Good |
| Lucas Hernández | 19 | 930 | 0 | 1 | Below expectations |
| Michaël Cuisance | 9 | 306 | 1 | 0 | Did not deliver |
| Álvaro Odriozola | 3 | 154 | 0 | 0 | Did not deliver |
| Leon Dajaku | 2 | 11 | 0 | 0 | Did not deliver |
| Jann-Fiete Arp | 0 | 0 | 0 | 0 | Did not deliver |
Borussia Dortmund (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Mats Hummels | 31 | 2583 | 1 | 3 | Excellent |
| Thorgan Hazard | 33 | 2394 | 7 | 13 | Excellent |
| Julian Brandt | 33 | 2212 | 3 | 7 | Excellent |
| Emre Can | 12 | 963 | 2 | 0 | Fair |
| Nico Schulz | 11 | 596 | 1 | 0 | Did not deliver |
| Leonardo Balerdi * | 7 | 133 | 0 | 0 | Investment |
Borussia Mönchengladbach (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Stefan Lainer | 31 | 2722 | 1 | 3 | Fair |
| Marcus Thuram | 31 | 2221 | 10 | 8 | Excellent |
| Breel Embolo | 28 | 1563 | 8 | 5 | Good |
| Ramy Bensebaini | 19 | 1459 | 5 | 3 | Excellent |
Eintracht Frankfurt (6 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Djibril Sow | 29 | 1750 | 1 | 3 | Good |
| André Silva | 25 | 1609 | 12 | 3 | Excellent |
| Bas Dost | 24 | 1489 | 8 | 2 | Excellent |
| Dominik Kohr | 26 | 1473 | 0 | 3 | Below expectations |
| Stefan Ilsanker | 12 | 848 | 2 | 1 | Fair |
| Erik Durm | 9 | 516 | 0 | 0 | Did not deliver |
FC Augsburg (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Florian Niederlechner | 33 | 2742 | 13 | 6 | Excellent |
| Tin Jedvaj | 31 | 2642 | 2 | 0 | Fair |
| Tomáš Koubek | 24 | 2160 | 0 | 0 | Did not deliver |
| Felix Uduokhai | 26 | 1976 | 0 | 0 | Fair |
| Stephan Lichtsteiner | 20 | 1351 | 0 | 1 | Did not deliver |
| Carlos Gruezo | 11 | 903 | 0 | 1 | Did not deliver |
| Eduard Löwen | 16 | 678 | 2 | 1 | Below expectations |
| Iago | 10 | 671 | 1 | 1 | Below expectations |
| Marek Suchý | 7 | 406 | 0 | 0 | Did not deliver |
| Noah Joel Sarenren Bazee | 10 | 397 | 1 | 0 | Did not deliver |
| Mads Valentin Pedersen * | 2 | 99 | 0 | 1 | Investment |
FC Schalke 04 (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jonjoe Kenny | 31 | 2738 | 2 | 3 | Fair |
| Ozan Kabak | 26 | 1796 | 3 | 1 | Below expectations |
| Benito Raman | 25 | 1621 | 4 | 3 | Good |
| Michael Gregoritsch | 14 | 841 | 1 | 1 | Fair |
| Jean-Clair Todibo | 8 | 369 | 0 | 0 | Did not deliver |
FSV Mainz 05 (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jeremiah St. Juste | 25 | 2120 | 2 | 2 | Good |
| Edimilson Fernandes | 24 | 1497 | 1 | 0 | Did not deliver |
| Ádám Szalai | 27 | 1161 | 1 | 1 | Did not deliver |
| Jeffrey Bruma | 8 | 680 | 0 | 0 | Below expectations |
| Ronaël Pierre-Gabriel | 8 | 578 | 0 | 1 | Did not deliver |
| Taiwo Awoniyi | 12 | 487 | 1 | 0 | Did not deliver |
| Dong-Won Ji | 4 | 105 | 0 | 0 | Did not deliver |
Fortuna Düsseldorf (9 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Erik Thommy | 34 | 2281 | 6 | 4 | Excellent |
| Zack Steffen | 17 | 1530 | 0 | 0 | Below expectations |
| Kasim Adams | 13 | 1006 | 1 | 0 | Below expectations |
| Valon Berisha | 13 | 950 | 0 | 1 | Below expectations |
| Lewis Baker | 8 | 548 | 0 | 0 | Below expectations |
| Steven Skrzybski | 11 | 545 | 1 | 2 | Below expectations |
| Zanka | 9 | 510 | 0 | 1 | Did not deliver |
| Bernard Tekpetey | 9 | 449 | 0 | 1 | Did not deliver |
| Thomas Pledl | 5 | 87 | 0 | 0 | Did not deliver |
Hertha BSC (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Dedryk Boyata | 28 | 2454 | 4 | 1 | Excellent |
| Dodi Lukebakio | 30 | 2047 | 7 | 6 | Excellent |
| Marius Wolf | 21 | 1411 | 1 | 3 | Below expectations |
| Krzysztof Piątek | 15 | 924 | 4 | 1 | Fair |
| Matheus Cunha | 11 | 755 | 5 | 0 | Fair |
| Santiago Ascacibar | 8 | 639 | 0 | 1 | Below expectations |
| Eduard Löwen | 7 | 310 | 0 | 0 | Did not deliver |
RB Leipzig (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Christopher Nkunku | 32 | 1931 | 5 | 13 | Excellent |
| Patrik Schick | 22 | 1307 | 10 | 2 | Excellent |
| Angeliño | 13 | 1110 | 1 | 2 | Good |
| Dani Olmo | 12 | 752 | 3 | 1 | Fair |
| Hannes Wolf * | 5 | 61 | 0 | 0 | Investment |
SC Freiburg (4 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Jonathan Schmid | 33 | 2859 | 5 | 1 | Excellent |
| Chang-Hoon Kwon | 23 | 699 | 2 | 0 | Did not deliver |
| Brandon Borrello | 7 | 299 | 0 | 0 | Did not deliver |
| Gian-Luca Itter | 3 | 36 | 0 | 0 | Did not deliver |
SC Paderborn 07 (20 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Sebastian Vasiliadis | 32 | 2820 | 1 | 1 | Fair |
| Jamilu Collins | 30 | 2682 | 1 | 2 | Fair |
| Leopold Zingerle | 28 | 2533 | 0 | 0 | Fair |
| Christopher Antwi-Adjei | 34 | 2491 | 1 | 2 | Fair |
| Klaus Gjasula | 29 | 2300 | 2 | 1 | Fair |
| Kai Pröger | 31 | 2092 | 2 | 6 | Good |
| Sebastian Schonlau | 23 | 2075 | 2 | 0 | Good |
| Streli Mamba | 24 | 1527 | 5 | 2 | Fair |
| Mohamed Dräger | 18 | 1463 | 1 | 3 | Below expectations |
| Sven Michel | 29 | 1387 | 5 | 1 | Fair |
| Christian Strohdiek | 16 | 1367 | 1 | 2 | Fair |
| Ben Zolinski | 28 | 1230 | 3 | 2 | Did not deliver |
| Uwe Hünemeier | 16 | 1224 | 1 | 0 | Fair |
| Gerit Holtmann | 24 | 1074 | 1 | 0 | Did not deliver |
| Abdelhamid Sabiri | 24 | 1055 | 4 | 1 | Fair |
| Cauly | 13 | 717 | 2 | 0 | Did not deliver |
| Jannik Huth | 6 | 540 | 0 | 0 | Did not deliver |
| Dennis Jastrzembski | 6 | 177 | 0 | 0 | Did not deliver |
| Babacar Guèye | 3 | 109 | 0 | 0 | Did not deliver |
| Khiry Shelton | 2 | 35 | 0 | 0 | Did not deliver |
Union Berlin (11 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Robert Andrich | 30 | 2579 | 1 | 2 | Fair |
| Christian Gentner | 31 | 2452 | 3 | 2 | Good |
| Marius Bülter | 32 | 2331 | 7 | 1 | Fair |
| Neven Subotić | 23 | 1971 | 1 | 0 | Below expectations |
| Keven Schlotterbeck | 23 | 1947 | 0 | 0 | Fair |
| Marcus Ingvartsen | 28 | 1729 | 5 | 2 | Good |
| Anthony Ujah | 24 | 968 | 3 | 2 | Below expectations |
| Yunus Malli | 13 | 680 | 0 | 1 | Did not deliver |
| Sheraldo Becker | 13 | 539 | 0 | 2 | Below expectations |
| Sebastian Polter | 13 | 338 | 2 | 2 | Fair |
| Moritz Nicolas * | 1 | 90 | 0 | 0 | Investment |
VfL Wolfsburg (5 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Xaver Schlager | 23 | 1742 | 1 | 2 | Fair |
| Kevin Mbabu | 20 | 1708 | 3 | 1 | Good |
| Victor Sá | 32 | 1646 | 2 | 2 | Below expectations |
| Marin Pongračić | 11 | 944 | 2 | 0 | Fair |
| Lukas Nmecha * | 6 | 134 | 0 | 0 | Investment |
Werder Bremen (7 signings)
| Player | Matches | Minutes | Goals | Assists | Rating |
|---|
| Leonardo Bittencourt | 29 | 1929 | 4 | 2 | Below expectations |
| Kevin Vogt | 15 | 1213 | 0 | 0 | Fair |
| Ömer Toprak | 10 | 718 | 0 | 0 | Did not deliver |
| Michael Lang | 9 | 554 | 0 | 0 | Did not deliver |
| Davie Selke | 11 | 484 | 0 | 0 | Did not deliver |
| Niclas Füllkrug | 10 | 484 | 4 | 1 | Fair |
| Benjamin Goller | 10 | 295 | 0 | 0 | Did not deliver |