Summary · Question 14 of 14

League tier of German-eligible players in 2024/25 and 2025/26

36 moved up a tier and 27 moved down between 2024/25 and 2025/26; the top-9 leagues held 49 players, from 40.

How to read it: the left column is last season’s rung for every player in the pool, the right column this season’s; each ribbon is the players who went from one to the other, its width their number. Green ribbons climb, orange come down, teal are new to the pool, grey are no longer in a covered league. Hover a ribbon for the names.

Bundesliga

127 → 122

222 012 → 195 190 minutes

stepping-stone league

208 → 195

330 707 → 307 946 minutes

top-9 league

40 → 49

64 804 → 80 744 minutes

other covered league

32 → 42

54 067 → 71 383 minutes

Players of the pool in each tier, 2024/25 → 2025/26, with the minutes they played there: 407 players last season, 408 this season, outfield players with at least 450 minutes, one row per player (the destinations page counts one row per position group, so a player with two positions counts twice there).

Moved up a tier 36

  • Nicolo Tresoldi GER-2. Bundesliga → BEL-Pro League
  • Philipp Hofmann GER-Bundesliga → GER-2. Bundesliga
  • Philipp Ziereis AUT-Bundesliga → GER-2. Bundesliga
  • Maximilian Wittek GER-Bundesliga → GER-2. Bundesliga
  • Florian Wirtz GER-Bundesliga → ENG-Premier League
  • Anton Stach GER-Bundesliga → ENG-Premier League
  • and 30 more

Moved down a tier 27

  • Robin Fellhauer GER-2. Bundesliga → GER-Bundesliga
  • Tom Gaal GER-2. Bundesliga → SUI-Super League
  • Noah Ganaus GER-2. Bundesliga → DEN-Superliga
  • Eric Martel GER-2. Bundesliga → GER-Bundesliga
  • Yannik Engelhardt ITA-Serie A → GER-Bundesliga
  • Amara Conde NED-Eredivisie → GER-2. Bundesliga
  • and 21 more

New to the pool 114

  • Jeremy Toljan ESP-La Liga
  • Soufiane El-Faouzi GER-2. Bundesliga
  • Oliver Steurer AUT-Bundesliga
  • Lauren Ulrich GER-2. Bundesliga
  • Mika Baur GER-2. Bundesliga
  • Gabriel Isik POL-Ekstraklasa
  • and 108 more

No longer in a covered league 113

  • Phil Neumann GER-2. Bundesliga
  • Elias Baum GER-2. Bundesliga
  • Julian Weigl GER-Bundesliga
  • Mitchell Weiser GER-Bundesliga
  • Caspar Jander GER-2. Bundesliga
  • Tim Kleindienst GER-Bundesliga
  • and 107 more

“No longer in a covered league” means exactly that: retired, injured for the season, or playing in a league this report does not fetch. The data cannot tell those apart and this page does not guess. “New to the pool” likewise mixes debutants with players returning from leagues outside the set.

How we know

As an analytics question In numbers: every German-eligible player with at least 450 minutes in 2024/25 or 2025/26, placed on the pathway’s tier ladder in each season, and the move between the two.

What we did We took each player’s main league last season and this season, sorted the leagues into the four tiers the atlas uses everywhere — home league, other covered league, stepping stone (the German second tier), top nine — and counted who moved up, who moved down, who appeared and who is no longer in any league we can see.

Sources Season feature tables for both seasons; a player’s league is the one he played most minutes in; 450-minute floor in a season to count as present in it; rungs as defined in the pathways chapter.

What this means

Between the two seasons 36 players moved up a tier, 27 moved down, 114 are new to the pool and 113 are no longer in a covered league. These are counts of one season-to-season change; without earlier seasons there is no baseline for how many moves a typical year shows, so the balance of ups and downs is not a trend.

What this does not show

Why a player moved, whether a move down was a loan or an injury, and players outside the covered leagues.

Data snapshot: FBref tables fetched 14 September 2026, snapshot commit ef7dbd4 · code: src/season_changes.py · status: exploratory, not pre-registered · all limitations

Explore the data

Trajectories

Trajectories 2024/25 → 2025/26 (German-eligible, ≥ 900 minutes in both seasons)

Season-over-season change in goals + assists per 90, league-adjusted. A move counts as up or down beyond ± 0.05; for scale, the standard deviation of this one-season change across the 178 German-eligible players with both seasons is 0.07. Everything inside the band is listed as stable.

Forwards — 22 players: 5 up, 7 stable, 10 down

Moving up · G+A / 90 adj.

PlayerLeagueMin 2024/25 / 2025/26Change
Nicolo Tresoldi BEL-Pro League 2142 / 2488 +0.244
Deniz Undav GER-Bundesliga 1726 / 2241 +0.238
Fabian Schleusener GER-2. Bundesliga 2164 / 2077 +0.106
Ragnar Ache GER-Bundesliga 2038 / 1718 +0.083
Noel Futkeu GER-2. Bundesliga 2215 / 2705 +0.064

Moving down · G+A / 90 adj.

PlayerLeagueMin 2024/25 / 2025/26Change
Lucas Höler GER-Bundesliga 1867 / 2037 −0.171
Johannes Eggestein AUT-Bundesliga 1853 / 2324 −0.170
Phil Harres GER-2. Bundesliga 1544 / 2204 −0.160
Adriano Grimaldi GER-2. Bundesliga 1099 / 903 −0.152
Justin Njinmah GER-Bundesliga 952 / 1947 −0.136

Midfielders — 76 players: 14 up, 47 stable, 15 down

Moving up · G+A / 90 adj.

PlayerLeagueMin 2024/25 / 2025/26Change
Chris Führich GER-Bundesliga 1981 / 1698 +0.265
Jamie Leweling GER-Bundesliga 1663 / 2367 +0.223
Anton Stach ENG-Premier League 2585 / 2370 +0.175
Anton Kade GER-Bundesliga 2340 / 1743 +0.138
Vitaly Janelt ENG-Premier League 2254 / 1443 +0.099

Moving down · G+A / 90 adj.

PlayerLeagueMin 2024/25 / 2025/26Change
Leroy Sané TUR-Süper Lig 1637 / 2280 −0.322
Florian Wirtz ENG-Premier League 2351 / 2378 −0.205
İlkay Gündoğan TUR-Süper Lig 2223 / 1387 −0.139
Paul Nebel GER-Bundesliga 2345 / 2073 −0.135
Niklas Dorsch GER-Bundesliga 1335 / 2258 −0.126

Defenders — 80 players: 13 up, 59 stable, 8 down

Moving up · G+A / 90 adj.

PlayerLeagueMin 2024/25 / 2025/26Change
Marc-Oliver Kempf ITA-Serie A 2615 / 2326 +0.126
Marnon Busch GER-Bundesliga 1396 / 1915 +0.121
Malick Thiaw ENG-Premier League 1806 / 2965 +0.107
Stefan Bell GER-Bundesliga 1436 / 1039 +0.090
Maximilian Wittek GER-2. Bundesliga 2706 / 2452 +0.084

Moving down · G+A / 90 adj.

PlayerLeagueMin 2024/25 / 2025/26Change
Keven Schlotterbeck GER-Bundesliga 1297 / 2031 −0.106
Robin Gosens ITA-Serie A 2521 / 1881 −0.106
Julian Chabot GER-Bundesliga 2269 / 2294 −0.086
Tim Oberdorf GER-2. Bundesliga 2970 / 2797 −0.067
Lukas Ullrich GER-Bundesliga 1903 / 1305 −0.066