Hakan Çalhanoğlu
Hakan Çalhanoğlu, 32, from Türkiye ➤ Inter Milan, since 2021 ➤ Defensive Midfield ➤ Market value: €16.00m ➤ * 08/02/1994 in Mannheim, Germany

Info
Biographical card, current club and contract facts. Empty fields mean the source did not publish that value.
Statistics
Career totals from Transfermarkt: this season, then by competition and by club. Minutes and cards appear when the source recorded them.
This season
| Season | Competition | Apps | Min | G | A | YC | RC |
|---|---|---|---|---|---|---|---|
| 26/27 | Serie A | 3 | 137 | 2 | 0 | 1 | 0 |
By competition
| Competition | Apps | G | A |
|---|---|---|---|
| Serie A | 288 | 61 | 66 |
| Bundesliga | 111 | 28 | 22 |
| UEFA Champions League | 62 | 12 | 15 |
| 3. Liga | 36 | 17 | 12 |
| Italy Cup | 26 | 7 | 2 |
| U19-Bundesliga S/SW | 26 | 4 | 0 |
| Europa League | 23 | 5 | 10 |
| U17-Bundesliga South/Southwest | 22 | 2 | 2 |
| DFB-Pokal | 15 | 3 | 3 |
| 2. Bundesliga | 14 | 0 | 3 |
| Supercoppa Italiana | 7 | 1 | 0 |
| Europa League Qualifying | 5 | 4 | 3 |
| Champions League Qu. | 4 | 2 | 2 |
| Bundesliga Playoffs | 2 | 0 | 0 |
| Relegation 2. Bundesliga | 2 | 0 | 0 |
| Club World Cup | 0 | 0 | 0 |
By club
| Club | Apps | G | A |
|---|---|---|---|
| Inter | 215 | 52 | 39 |
| AC Milan | 172 | 32 | 48 |
| Leverkusen | 115 | 28 | 29 |
| Karlsruher SC | 55 | 17 | 17 |
| Hamburg | 38 | 11 | 5 |
| Karlsruhe U19 | 26 | 4 | 0 |
| Karlsruhe U17 | 22 | 2 | 2 |
Transfers
Recorded moves between clubs, with fee and market value on the day of the deal when the source has them.
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 01/07/2021 | 21/22 | AC Milan | Inter | free transfer | €35.00m |
| 03/07/2017 | 17/18 | Leverkusen | AC Milan | €23.30m | €20.00m |
| 04/07/2014 | 14/15 | Hamburg | Leverkusen | €15.25m | €7.00m |
| 30/06/2013 | 12/13 | Karlsruher SC | Hamburg | End of loan | €3.00m |
| 15/08/2012 | 12/13 | Hamburg | Karlsruher SC | loan transfer | €1.00m |
| 14/08/2012 | 12/13 | Karlsruher SC | Hamburg | €2.50m | €1.00m |
| 01/01/2012 | 11/12 | Karlsruhe U19 | Karlsruher SC | - | - |
| 01/07/2011 | 11/12 | Karlsruhe U17 | Karlsruhe U19 | - | - |
| 01/07/2009 | 09/10 | Mannheim Yth. | Karlsruhe U17 | free transfer | - |
| 01/07/2001 | 01/02 | PSV Mannh. Yth. | Mannheim Yth. | free transfer | - |
National
Senior and youth national-team spells: caps, goals, shirt number and whether the player is still in the current pool.
| Team | Caps | Goals | Shirt | Debut | Status |
|---|---|---|---|---|---|
| TurkiyeCaptain | 108 | 22 | 10 | 2013-09-06 | Current international |
| Türkiye U21 | 2 | 0 | 6 | 2012-11-14 | Former international |
| Türkiye U17 | 13 | 2 | 6 | 2010-07-27 | Former international |
| Türkiye U19 | 15 | 5 | 10 | 2011-10-18 | Former international |
| Türkiye U20 | 9 | 1 | 10 | 2012-12-20 | Former international |
| Turkey U16 | 4 | 1 | 8 | 2010-06-16 | Former international |
Market value
Current and peak Transfermarkt valuations, plus the history of changes by club and age. Rankings are relative to the current squad, league and position group.
- Current
- €16.00m
- Highest
- €45.00m · 05/06/2024
- Last change
- 29/05/2026
| Date | Age | Club | Value |
|---|---|---|---|
| 06/02/2012 | 17 | Karlsruher SC | €150k |
| 05/03/2012 | 18 | Karlsruher SC | €300k |
| 24/06/2012 | 18 | Karlsruher SC | €1.00m |
| 26/08/2012 | 18 | Karlsruher SC | €2.00m |
| 23/10/2012 | 18 | Karlsruher SC | €2.50m |
| 28/06/2013 | 19 | Karlsruher SC | €3.00m |
| 05/11/2013 | 19 | Hamburger SV | €4.00m |
| 12/02/2014 | 20 | Hamburger SV | €7.00m |
| 10/07/2014 | 20 | Bayer 04 Leverkusen | €12.00m |
| 21/08/2014 | 20 | Bayer 04 Leverkusen | €15.00m |
| 04/02/2015 | 20 | Bayer 04 Leverkusen | €18.00m |
| 01/07/2015 | 21 | Bayer 04 Leverkusen | €18.00m |
| 15/02/2016 | 22 | Bayer 04 Leverkusen | €18.00m |
| 01/06/2016 | 22 | Bayer 04 Leverkusen | €18.00m |
| 22/07/2016 | 22 | Bayer 04 Leverkusen | €18.00m |
| 07/02/2017 | 22 | Bayer 04 Leverkusen | €20.00m |
| 19/06/2017 | 23 | Bayer 04 Leverkusen | €20.00m |
| 29/12/2017 | 23 | AC Milan | €17.50m |
| 24/03/2018 | 24 | AC Milan | €22.00m |
| 07/06/2018 | 24 | AC Milan | €27.00m |
| 20/12/2018 | 24 | AC Milan | €22.00m |
| 06/06/2019 | 25 | AC Milan | €20.00m |
| 08/10/2019 | 25 | AC Milan | €18.00m |
| 12/12/2019 | 25 | AC Milan | €18.00m |
| 08/04/2020 | 26 | AC Milan | €14.50m |
| 25/08/2020 | 26 | AC Milan | €23.00m |
| 29/10/2020 | 26 | AC Milan | €30.00m |
| 29/12/2020 | 26 | AC Milan | €35.00m |
| 25/05/2021 | 27 | AC Milan | €35.00m |
| 14/10/2021 | 27 | Inter Milan | €30.00m |
| 28/12/2021 | 27 | Inter Milan | €35.00m |
| 07/06/2022 | 28 | Inter Milan | €35.00m |
| 11/11/2022 | 28 | Inter Milan | €35.00m |
| 15/06/2023 | 29 | Inter Milan | €40.00m |
| 20/12/2023 | 29 | Inter Milan | €40.00m |
| 05/06/2024 | 30 | Inter Milan | €45.00m |
| 18/12/2024 | 30 | Inter Milan | €40.00m |
| 25/03/2025 | 31 | Inter Milan | €35.00m |
| 17/06/2025 | 31 | Inter Milan | €30.00m |
| 07/10/2025 | 31 | Inter Milan | €25.00m |
| 23/12/2025 | 31 | Inter Milan | €22.00m |
| 24/03/2026 | 32 | Inter Milan | €18.00m |
| 29/05/2026 | 32 | Inter Milan | €16.00m |
xG Statistics
Hakan Çalhanoğlu's xG Statistics block is an Understat shot model for the 2026 season. It does not replace goals and assists — it explains them. xG and xA ask whether the chances were good enough; xGChain and xGBuildup show how often the player was on the ball in moves that became shots. Use minutes as the denominator: a large xG in 80 minutes is a hot streak, the same xG over 1,200 minutes is a role. Figures are rounded to two decimals and stay empty when Understat has no match for this player.
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Serie A | Inter | 3 | 136 | 2 | 0.09 | 0.09 | 0 | 0.55 | 3 | 5 | 2.35 |
| 2025 | Serie A | Inter | 22 | 1674 | 9 | 5.15 | 1.34 | 4 | 3.48 | 50 | 40 | 10.34 |
What the columns mean
Read this table as chance quality, not as a scoreboard. A player can outscore xG (finishing well) or lag behind it (missed sitters). Compare rows only when minutes are in the same range.
Apps· Appearances- Matches in which the player was used in this league season, including substitute minutes.
Min· Minutes- Total minutes on the pitch. Useful when comparing output: 1 goal in 90 minutes is not the same as 1 goal in 800.
G· Goals- Goals credited to the player in the Understat shot model for that season.
xG· Expected goals- The quality of shots the player took, expressed as the number of goals an average finisher would score from the same chances. A 0.30 xG shot is a chance that goes in about 3 times in 10.
npxG· Non-penalty xG- Expected goals with penalties removed. This is the cleaner read of open-play and set-piece finishing, because a penalty is usually ~0.76 xG by itself.
A· Assists- Goals that followed the player's last pass. Actual assists, not the model.
xA· Expected assists- The xG value of shots that came directly from the player's key passes. High xA with few assists usually means teammates missed good chances.
Sh· Shots- Total shots recorded by Understat, including blocked and off-target attempts.
KP· Key passes- Passes that led to a shot. This is the volume behind xA.
xGChain· xG chain- Team xG from possessions the player touched. It captures involvement in build-up, not only the shot or the last pass. A midfielder who starts attacks can rank high here without scoring.
xGBuildup· xG buildup- The same possession xG, but excluding the shot-taker and the assist. This is the purest 'how much did this player help create the chance before the final ball' number.
NPG· Non-penalty goals- Goals scored from open play or set pieces, excluding penalties.
Teammates
Aleksandar StankovićMidfield - Defensive Midfield
Alessandro BastoniDefender - Centre-Back
Andy DioufMidfield - Right Midfield
Ange-Yoan BonnyAttack - Centre-Forward
Benjamin PavardDefender - Centre-Back
Carlos AugustoDefender - Left-Back
Curtis JonesMidfield - Central Midfield
Djed SpenceDefender - Right-Back