
Jonas HofmannAM#7
Leverkusen·
Bundesliga·Midfield - Attacking Midfield
Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesLeverkusen
Key statsBundesliga
xG — expected goals: the quality of the chances taken; xA — expected assists: the quality of the chances created. Values per 90 minutes are shown under the totals. What xG, npxG, xA and xGChain mean
Player profileattributes and traits
Player Position average
Strengths
- Tackling
Weaknesses
No outstanding weaknesses
Player positions: AM · RW
Positions on the pitch
Percentiles per 90per 90 minutes vs positional peers of the league
AttackingPer 90 · Percentile
PlaymakingPer 90 · Percentile
DefendingPer 90 · Percentile
What a percentile means
The percentile shows what share of players of the same position in this league the player beats on a per-90-minute metric. 90% — better than nine out of ten peers; 50% — the league median. Per 90 minutes removes the effect of playing time.
For fouls, offsides, being dribbled past and goals conceded the scale is inverted: a higher percentile means fewer of them.
vs 47 midfielders · Bundesliga · season 25/26 · min 270′ · player 1015′
Similar playersBundesliga · midfielders · season 25/26
Farès ChaïbiFrankfurt · Midfield - Attacking MidfieldRating2G9A23age80%
Bilal El KhannoussStuttgart · Midfield - Attacking MidfieldRating4G5A22age80%
Florian NeuhausMönchengladbach · Midfield - Central MidfieldRating0G1A29age79%
Ísak Jóhannesson1.FC Köln · Midfield - Central MidfieldRating1G2A23age79%
Joshua KimmichBayern Munich · Midfield - Defensive MidfieldRating2G8A31age78%
Aleix GarcíaLeverkusen · Midfield - Central MidfieldRating3G8A29ageProfile match = 100 − mean gap of per-90 percentiles across 27 metrics of this position; players of the same league, position group and season with at least 270 minutes.
Reality checkactual vs expected, by season
Goals vs xG
-0.2Goals xG · total 2 / 2.2
Assists vs xA
-0.8Assists xA · total 2 / 2.8
Bars above xG mean the player scores more than the quality of his chances suggests; a long run below xG is usually a finishing problem, a short one — variance.
Availability
Germany23 caps · 4 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Bundesliga | Bayer 04 Leverkusen | 26/27 | 1 | 25 | 6.70 | — | — | 0 | — | — |
Transfers9
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 05/07/2023 | 23/24 | Mönchengladbach | Leverkusen | €10.00m | €13.00m |
| 01/01/2016 | 15/16 | Dortmund | Mönchengladbach | €8.00m | €4.00m |
| 30/06/2015 | 14/15 | Mainz | Dortmund | End of loan | €4.00m |
| 01/09/2014 | 14/15 | Dortmund | Mainz | Loan fee:€200k | €4.00m |
| 01/07/2013 | 13/14 | B. Dortmund II | Dortmund | - | €500k |
| 01/07/2011 | 11/12 | Hoffenheim U19 | B. Dortmund II | free transfer | €50k |
| 01/07/2009 | 09/10 | Hoffenheim U17 | Hoffenheim U19 | - | - |
| 01/07/2007 | 07/08 | Hoffenheim Yth. | Hoffenheim U17 | - | - |
| 01/07/2004 | 04/05 | FC Rot Yth. | Hoffenheim Yth. | free transfer | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 01/07/2011 | 18 | Borussia Dortmund II | €50k |
| 20/01/2012 | 19 | Borussia Dortmund II | €100k |
| 06/02/2012 | 19 | Borussia Dortmund II | €125k |
| 05/07/2012 | 19 | Borussia Dortmund II | €150k |
| 23/10/2012 | 20 | Borussia Dortmund II | €200k |
| 30/06/2013 | 20 | Borussia Dortmund II | €500k |
| 27/08/2013 | 21 | Borussia Dortmund | €1.00m |
| 05/11/2013 | 21 | Borussia Dortmund | €3.00m |
| 10/07/2014 | 21 | Borussia Dortmund | €4.00m |
| 04/02/2015 | 22 | 1.FSV Mainz 05 | €4.00m |
| 01/07/2015 | 22 | Borussia Dortmund | €4.00m |
| 15/02/2016 | 23 | Borussia Mönchengladbach | €6.00m |
| 22/07/2016 | 24 | Borussia Mönchengladbach | €5.00m |
| 13/10/2016 | 24 | Borussia Mönchengladbach | €4.00m |
| 07/02/2017 | 24 | Borussia Mönchengladbach | €3.50m |
| 19/06/2017 | 24 | Borussia Mönchengladbach | €3.50m |
| 28/12/2017 | 25 | Borussia Mönchengladbach | €3.00m |
| 05/06/2018 | 25 | Borussia Mönchengladbach | €3.00m |
| 22/10/2018 | 26 | Borussia Mönchengladbach | €8.00m |
| 18/12/2018 | 26 | Borussia Mönchengladbach | €12.00m |
| 05/06/2019 | 26 | Borussia Mönchengladbach | €9.00m |
| 17/12/2019 | 27 | Borussia Mönchengladbach | €9.00m |
| 08/04/2020 | 27 | Borussia Mönchengladbach | €7.00m |
| 08/07/2020 | 27 | Borussia Mönchengladbach | €9.00m |
| 26/11/2020 | 28 | Borussia Mönchengladbach | €14.00m |
| 10/02/2021 | 28 | Borussia Mönchengladbach | €16.00m |
| 01/06/2021 | 28 | Borussia Mönchengladbach | €16.00m |
| 22/12/2021 | 29 | Borussia Mönchengladbach | €16.00m |
| 09/06/2022 | 29 | Borussia Mönchengladbach | €13.00m |
| 09/11/2022 | 30 | Borussia Mönchengladbach | €13.00m |
| 22/06/2023 | 30 | Borussia Mönchengladbach | €13.00m |
| 14/12/2023 | 31 | Bayer 04 Leverkusen | €13.00m |
| 29/05/2024 | 31 | Bayer 04 Leverkusen | €10.00m |
| 09/10/2024 | 32 | Bayer 04 Leverkusen | €7.00m |
| 20/12/2024 | 32 | Bayer 04 Leverkusen | €5.00m |
| 27/03/2025 | 32 | Bayer 04 Leverkusen | €3.00m |
| 05/06/2025 | 32 | Bayer 04 Leverkusen | €2.00m |
| 19/12/2025 | 33 | Bayer 04 Leverkusen | €2.00m |
| 27/05/2026 | 33 | Bayer 04 Leverkusen | €1.50m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Bundesliga | Bayer Leverkusen | 1 | 23 | 0 | 0.02 | 0.02 | 0 | 0.06 | 1 | 2 | 0.46 |
| 2025 | Bundesliga | Bayer Leverkusen | 23 | 997 | 2 | 2.19 | 2.19 | 2 | 2.76 | 23 | 16 | 9.79 |
What xG, npxG, xA and xGChain mean
xGExpected goals- How many goals an average finisher would score from the same shots. A 0.30 xG shot goes in about 3 times in 10. Goals above xG mean efficient finishing; below — a cold streak or poor finishing.
npxGNon-penalty xG- The same xG without penalties. A penalty alone is worth about 0.76 xG, so npxG is a cleaner view of open-play and set-piece chances.
xAExpected assists- The xG of the shots that followed the player's passes. High xA with few assists means teammates missed good chances.
xGChainxG chain- Team xG from every possession the player touched. It shows involvement in build-up, not only the shot or the final pass, so a deep midfielder can rank high without scoring.
KPKey passes- Passes that led directly to a shot — the volume behind xA.
Teammatessame club
Afonso MoreiraAttack - Left Winger21age€20.00mvalue
Aleix GarcíaMidfield - Central Midfield29age€20.00mvalue
Christian KofaneAttack - Centre-Forward20age€40.00mvalue
Edmond TapsobaDefender - Centre-Back27age€35.00mvalue
Eliesse Ben SeghirAttack - Left Winger21age€20.00mvalue
Equi FernándezMidfield - Defensive Midfield24age€20.00mvalue
Facundo MedinaDefender - Centre-Back27age€18.00mvalue
Guéla DouéDefender - Right-Back23age€20.00mvalue
RB Leipzig
Celje
FC Augsburg
Union Berlin
SV Elversberg
Bundesliga
Bayer 04 Leverkusen
Mönchengladbach
Dortmund
Mainz
B. Dortmund II
Hoffenheim U19
Borussia Dortmund II
Borussia Mönchengladbach
Bayer Leverkusen