Back to Football
TSG Hoffenheim crest

TSG Hoffenheim

Heartbreak#5713.5

Sinsheim, Rhine-Neckar · Germany · Bundesliga

Top-4 finishes
2
WikipediaQ22707

Power-ranking history

Hover a season for its rank and score
Rank (1 = best)1349Score (per-season normalised)0.00.51.009/1014/1519/2024/25

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 17 seasons from 2008-09 to 2024-25 it has fallen short of them by 0.9 match points.

1899 Hoffenheim: surplus against expectation, 2008-09 to 2024-252008-09: +8.7 league points vs expected (55 on 46.3, 3 for a win) · bar height +3.1 match points2009-10: −5.1 league points vs expected (42 on 47.1, 3 for a win) · bar height −1.7 match points2010-11: −3.4 league points vs expected (43 on 46.4, 3 for a win) · bar height −1.0 match points2011-12: −3.5 league points vs expected (41 on 44.5, 3 for a win) · bar height −0.8 match points2012-13: −7.1 league points vs expected (31 on 38.1, 3 for a win) · bar height −2.6 match points2013-14: +4.7 league points vs expected (44 on 39.3, 3 for a win) · bar height +2.0 match points2014-15: +0.2 league points vs expected (44 on 43.8, 3 for a win) · bar height +0.0 match points2015-16: −3.1 league points vs expected (37 on 40.1, 3 for a win) · bar height −0.7 match points2016-17: +15.7 league points vs expected (62 on 46.4, 3 for a win) · bar height +6.2 match points2017-18: +1.9 league points vs expected (55 on 53.1, 3 for a win) · bar height +0.9 match points2018-19: −4.2 league points vs expected (51 on 55.2, 3 for a win) · bar height −0.8 match points2019-20: +1.9 league points vs expected (52 on 50.1, 3 for a win) · bar height +0.4 match points2020-21: −5.4 league points vs expected (43 on 48.4, 3 for a win) · bar height −1.5 match points2021-22: −2.0 league points vs expected (46 on 48.0, 3 for a win) · bar height −0.9 match points2022-23: −6.5 league points vs expected (36 on 42.5, 3 for a win) · bar height −2.6 match points2023-24: +4.2 league points vs expected (46 on 41.8, 3 for a win) · bar height +1.2 match points2024-25: −7.9 league points vs expected (32 on 39.9, 3 for a win) · bar height −2.2 match points
2008-09one bar per season · height in match points · hover for that season2024-25
Best season against expectation
2016-17 +15.7 league pts
62 points on 46.4 expected as 1899 Hoffenheim
Worst season against expectation
2024-25 7.9 league pts
32 points on 39.9 expected as 1899 Hoffenheim

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.

Rhine-Neckar against expectation →How this is measured →

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€279m
TSG 1899 Hoffenheim: squad value by month, 2012-07 to 2026-06017434812-1314-1516-1718-1920-2122-2324-25
Peak
€322m in Oct 2019 · 29 players valued
Most recent
€279m in Jun 2026 · 32 players valued

Rhine-Neckaron the rankings →

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+€32m
Spent
€330m
60 arrivals with a fee
Received
€362m
45 departures with a fee
Net
+€32m
266 moves with no fee
Appreciation
+€226m
14 seasons with a priced squad

Grown or bought: in 2026-27, trading −€24m and appreciation . Over the last 5 seasons (2022-232026-27), trading −€30m and appreciation unpriced.

The director’s ledger: 92 arrivals graded since 2022-23, 87% EV-positive. €196m deployed for a 1.4× multiplier.

2026-27 spent €25m received €0mto 6 July 2026
in: Mats Rots €12m
unpriced
2025-26 spent €28m received €25m
in: Leon Avdullahu €8m
+€102m
squad gain
2024-25 spent €80m received €32m
in: Adam Hlozek €18m
−€19m
squad gain
2023-24 spent €43m received €36m
in: Mergim Berisha €14m
−€4m
squad gain
2022-23 spent €20m received €73m
in: Stanley Nsoki €12m
−€8m
squad gain
2021-22 spent received
22 moves, no fee on record
−€17m
squad gain
2020-21 spent €4m received €17m
in: Mijat Gacinovic €3m
+€20m
squad gain
2019-20 spent €42m received €95m
in: Diadié Samassékou €13m
−€51m
squad gain
Show all 15 seasons
2018-19 spent €23m received €2m
in: Kasim Adams €8m
+€70m
squad gain
2017-18 spent €3m received €30m
in: Justin Hoogma €3m
+€91m
squad gain
2016-17 spent €24m received €29m
in: Andrej Kramaric €11m
+€44m
squad gain
2015-16 spent €19m received €2m
in: Eduardo Vargas €6m
−€20m
squad gain
2014-15 spent €11m received €11m
in: Oliver Baumann €6m
−€4m
squad gain
2013-14 spent €1m received
in: Kevin Akpoguma €1m
+€12m
squad gain
2012-13 spent €7m received €10m
in: Joselu €6m
+€12m
squad gain

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.

the frontier: no other club-season beat it on both axes · this club, season by season, the largest dot the latest

Every club’s return on the transfer window →

Greatest games

TSG Hoffenheim'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.

#DateStageResultScore
12017-08-15Champions League · Playoff Round · 1st legHL 1-2 v Liverpoolgame score 62.4
22018-11-27Champions League · Group StageHL 2-3 v FC Shakhtar Donetskgame score 60.8
32015-04-07DFB-Pokal · QuarterfinalsAL 2-3 v Borussia Dortmundgame score 60.7
42014-02-12DFB-Pokal · QuarterfinalsHL 2-3 v VfL Wolfsburggame score 58.9
52013-05-18BundesligaAW 2-1 v Borussia Dortmundgame score 58.6
62010-02-09DFB-Pokal · QuarterfinalsAL 1-2 v Werder Bremengame score 58.3
72017-04-04BundesligaHW 1-0 v Bayern Munichgame score 57.6
82018-12-12Champions League · Group StageAL 1-2 v Manchester Citygame score 57.6
92018-10-02Champions League · Group StageHL 1-2 v Manchester Citygame score 56.9
102012-02-08DFB-Pokal · QuarterfinalsHL 0-1 v SpVgg Greuther Fürthgame score 56.8

Footprint

Tiers played
L1
Top-flight (L1) seasons
18
First season
2009
Most recent season
2026

The Heartbreak Index3.5 · #571

The Blessed · Never won it, waiting since 2009

3.5
Heartbreak
#571
of 1,139 clubs
#358
in Football
3.5
agony
The clocks
  • First major trophy since 20095.6
Heaviest wounds

survived a relegation scare, 2025 · survived a relegation scare, 2016

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.

2027
Bundesliga (1) · P13● live
3 P · 1-0-2 · 6:7 · -1
3
pts
2026
Bundesliga (1) · P5
34 P · 18-7-9 · 65:52 · +13
61
pts
EL
2025
Bundesliga (1) · P15
34 P · 7-11-16 · 46:68 · -22
32
pts
EL
2024
Bundesliga (1) · P7
34 P · 13-7-14 · 66:66 · 0
46
pts
EL
2023
Bundesliga (1) · P12
34 P · 10-6-18 · 48:57 · -9
36
pts
2022
Bundesliga (1) · P9
34 P · 13-7-14 · 58:60 · -2
46
pts
2021
Bundesliga (1) · P11
34 P · 11-10-13 · 52:54 · -2
43
pts
EL
2020
Bundesliga (1) · P6
34 P · 15-7-12 · 53:53 · 0
52
pts
EL
2019
Bundesliga (1) · P9
34 P · 13-12-9 · 70:52 · +18
51
pts
CL
2018
Bundesliga (1) · P3
34 P · 15-10-9 · 66:48 · +18
55
pts
CLELCL
2017
Bundesliga (1) · P4
34 P · 16-14-4 · 64:37 · +27
62
pts
CL
2016
Bundesliga (1) · P15
34 P · 9-10-15 · 39:54 · -15
37
pts
Show all 19 seasons
2015
Bundesliga (1) · P8
34 P · 12-8-14 · 49:55 · -6
44
pts
2014
Bundesliga (1) · P9
34 P · 11-11-12 · 72:70 · +2
44
pts
2013
Bundesliga (1) · P16PO
34 P · 8-7-19 · 42:67 · -25
31
pts
2012
Bundesliga (1) · P11
34 P · 10-11-13 · 41:47 · -6
41
pts
2011
Bundesliga (1) · P11
34 P · 11-10-13 · 50:50 · 0
43
pts
2010
Bundesliga (1) · P11
34 P · 11-9-14 · 44:42 · +2
42
pts
2009
Bundesliga (1) · P7
34 P · 15-10-9 · 63:49 · +14
55
pts
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.

2024-25
Europa League(EL)
Round of 32 / qualifying
2020-21
Europa League(EL)
Group stage
2018-19
Champions League(CL)
Group stage
2017-18
Champions League(CL)
Round of 32 / qualifying
2017-18
Europa League(EL)
Round of 32 / qualifying