Frankfurt, Frankfurt · Germany · Bundesliga
Power-ranking history
Against expectation
Every German top-flight match this club has played in the Bundesliga, scored against the odds an Elo rating gave it before kick-off. Over 19 seasons from 2004-05 to 2024-25 it has beaten them by +3.9 match points.
Season points use that season’s own scoring, two for a win before 1995-96 and three from it; the bars use match points so the whole series is comparable.
What the squad was worth
Total market value of the squad, EUR millions, by month; the player count beside it is the size of the priced squad.
How this is measured
Drawn as a step, not a curve: Transfermarkt reprices every squad in December and June (marked with a small tick on the axis) and revalues continuously between, so the line only moves when a real valuation changed, never by interpolation.
A month renders no value at all once the priced squad falls below 15 players, so a thin squad is never shown as a cheap one. The series is floored at July 2012on purpose: earlier Transfermarkt totals reflect which players happened to be priced yet rather than the squad’s real worth, and are excluded rather than shown misleadingly low.
Upstream (dcaribou/transfermarkt-datasets) has been paused since July 2026, so the series ends where the source ends rather than where the season does.
Player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).
What the squad was worth€159m
The money ledger
Fees paid and received each season, and what the squad was worth once the trading is netted out.
How this is measured
Spent is the fees paid for players arriving, received the fees for players leaving, both in EUR millions by the July-to-June season of the move. A move with no fee on record (a free, a loan, an undisclosed sum) is counted, never priced: the small figure beside each total is the moves with a fee, plus those without (so 4+3 is four priced arrivals and three unpriced), and a quiet window is not mistaken for a cheap one. Wages are not here: they are estimates nobody licenses, and fees are documented.
Appreciationis the season’s change in squad value with the net spend taken out: buy 100m of players and finish 100m higher is zero; finish 120m higher and the club made 20m of players better, or the market repriced them. It needs a priced squad at both ends of the season (the same 15-player floor as the value chart), so it is blank rather than guessed for a season that lacks one.
The source has been paused since 6 July 2026, so the final row holds only the opening days of its window.
Transfer fees and player valuations from Transfermarkt via github.com/dcaribou/transfermarkt-datasets (CC0).
The money ledger+€88m
Grown or bought: in 2026-27, trading +€6m and appreciation —. Over the last 5 seasons (2022-23–2026-27), trading +€54m and appreciation unpriced.
The director’s ledger: 64 arrivals graded since 2022-23, 84% EV-positive. €61m deployed for a 1.9× multiplier.
Show all 15 seasons
Money against football
Every priced club-season in the six leagues: points against expectation across, squad value gained beyond the net spend up. This club’s seasons are joined.
Tap or drag on the plot: the nearest club-season, its points and its money.
Greatest games
Mainz 05's top matches by the club Game Score: closeness, stakes, quality and upset over one unified rating of league and European play.All-time board.
| # | Date | Stage | Result | Score |
|---|---|---|---|---|
| 1 | 2013-02-26 | DFB-Pokal · Quarterfinals | HL 2-3 v SC Freiburg | game score 63.2 |
| 2 | 2021-04-24 | Bundesliga | HW 2-1 v Bayern Munich | game score 58.7 |
| 3 | 2006-01-24 | DFB-Pokal · Quarterfinals | AL 2-3 v Bayern Munich | game score 58.6 |
| 4 | 2023-05-27 | Bundesliga | AD 2-2 v Borussia Dortmund | game score 57.9 |
| 5 | 2009-03-03 | DFB-Pokal · Quarterfinals | HW 1-0 v FC Schalke 04 | game score 56.4 |
| 6 | 2016-03-02 | Bundesliga | AW 2-1 v Bayern Munich | game score 55.9 |
| 7 | 2012-12-18 | DFB-Pokal · Third Round | AW 2-1 v FC Schalke 04 | game score 55.8 |
| 8 | 2018-05-05 | Bundesliga | AW 2-1 v Borussia Dortmund | game score 54.9 |
| 9 | 1999-11-30 | DFB-Pokal · Round of 16 | HW 2-1 v Hertha BSC Berlin | game score 52.7 |
| 10 | 2023-05-05 | Bundesliga | HL 2-3 v FC Schalke 04 | game score 50.4 |
Footprint
The Heartbreak Index5.2 · #415
The Tortured · Never won it, waiting since 2005
The Heartbreak Index5.2 · #415
The Tortured · Never won it, waiting since 2005
- First major trophy since 20057.7
relegated from the top flight, 2007 · survived a relegation scare, 2024 · survived a relegation scare, 2020 · survived a relegation scare, 2018
One formula, every club the site covers. See the whole board →
Season-by-season
Most recent season first. Covers Bundesliga only. Rows tagged "national playoff" are pre-modern formats where the workbook records only playoff participants, not round-robin standings.
Show all 21 seasons
European competition appearances
Most recent first. One row per entry showing the deepest round reached. A Cup Winner badge marks tournaments the club won: gold for the European Cup / Champions League, silver for every other UEFA or Intercontinental trophy.
