Vladimír Coufal
Vladimír Coufal, 34, from Czech Republic ➤ TSG 1899 Hoffenheim, since 2025 ➤ Right-Back ➤ Market value: €2.50m ➤ * 22/08/1992 in Ostrava, CSSR

Info
Biographical card, current club and contract facts. Empty fields mean the source did not publish that value.
- Club
- Hoffenheim
- League
- Bundesliga
- Position
- Defender - Right-Back
- Shirt
- #34
- Age
- 34
- Date of birth
- 22/08/1992
- Height
- 1,75m
- Foot
- right
- Citizenship
- Czech Republic
- Joined
- 05/08/2025
- Contract until
- 30/06/2028
- Market value
- €2.50m
- Career fees
- €6.70m
- Youth clubs
- TJ Ludgeřovice (1998-2002), FC Baník Ostrava (2002-2009), FC Hlučín (2009), ŠSK Bílovec (2009-2010), FC Hlučín (2010)
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 | Bundesliga | 2 | 180 | 0 | 2 | 0 | 0 |
| 26/27 | DFB-Pokal | 1 | 77 | 0 | 0 | 0 | 0 |
By competition
| Competition | Apps | G | A |
|---|---|---|---|
| Chance Liga | 173 | 9 | 14 |
| Premier League | 147 | 0 | 19 |
| Bundesliga | 36 | 1 | 11 |
| Europa League | 36 | 2 | 3 |
| ChNL | 27 | 1 | 0 |
| MOL Cup | 13 | 0 | 0 |
| Europa League Qualifying | 11 | 2 | 2 |
| Chance Liga Champion Gr. | 10 | 0 | 1 |
| Conference League | 9 | 0 | 0 |
| EFL Cup | 7 | 0 | 0 |
| UEFA Champions League | 6 | 0 | 0 |
| Champions League Qu. | 6 | 0 | 0 |
| FA Cup | 5 | 0 | 0 |
| DFB-Pokal | 2 | 0 | 0 |
| Juniorska liga | 2 | 0 | 0 |
| UECL Qualifying | 1 | 0 | 0 |
| Superpohar | 1 | 0 | 0 |
| Cesko-slovensky Superpohar | 1 | 0 | 0 |
By club
| Club | Apps | G | A |
|---|---|---|---|
| West Ham | 180 | 0 | 20 |
| Slovan Liberec | 158 | 6 | 10 |
| Slavia Prague | 88 | 7 | 9 |
| Hoffenheim | 38 | 1 | 11 |
| Hlucin | 14 | 0 | 0 |
| SFC Opava | 13 | 1 | 0 |
| Liberec B | 2 | 0 | 0 |
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 |
|---|---|---|---|---|---|
| 05/08/2025 | 25/26 | West Ham | Hoffenheim | free transfer | €5.00m |
| 02/10/2020 | 20/21 | Slavia Prague | West Ham | €6.00m | €2.00m |
| 01/07/2018 | 18/19 | Slovan Liberec | Slavia Prague | €700k | €900k |
| 20/09/2012 | 12/13 | SFC Opava | Slovan Liberec | ? | - |
| 13/02/2012 | 11/12 | Hlucin | SFC Opava | ? | - |
| 01/07/2010 | 10/11 | Hlucin U19 | Hlucin | - | - |
| 13/03/2010 | 09/10 | Bilovec U19 | Hlucin U19 | ? | - |
| 14/08/2009 | 09/10 | Hlucin U17 | Bilovec U19 | ? | - |
| 03/04/2009 | 08/09 | Ostrava U17 | Hlucin U17 | ? | - |
| 01/07/2008 | 08/09 | Ostrava Yth. | Ostrava U17 | - | - |
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 |
|---|---|---|---|---|---|
| Czechia | 65 | 2 | 5 | 2017-11-11 | Current international |
| Czechia U21 | 1 | 0 | 0 | 2014-06-03 | 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
- €2.50m
- Highest
- €12.00m · 28/05/2021
- Last change
- 27/05/2026
| Date | Age | Club | Value |
|---|---|---|---|
| 04/12/2012 | 20 | FC Slovan Liberec | €100k |
| 24/09/2013 | 21 | FC Slovan Liberec | €200k |
| 17/04/2014 | 21 | FC Slovan Liberec | €250k |
| 01/09/2014 | 22 | FC Slovan Liberec | €250k |
| 17/01/2015 | 22 | FC Slovan Liberec | €250k |
| 14/10/2015 | 23 | FC Slovan Liberec | €400k |
| 03/08/2016 | 23 | FC Slovan Liberec | €600k |
| 16/10/2016 | 24 | FC Slovan Liberec | €500k |
| 19/12/2016 | 24 | FC Slovan Liberec | €500k |
| 10/06/2017 | 24 | FC Slovan Liberec | €500k |
| 21/12/2017 | 25 | FC Slovan Liberec | €900k |
| 14/07/2018 | 25 | SK Slavia Prague | €1.00m |
| 29/10/2018 | 26 | SK Slavia Prague | €1.25m |
| 30/12/2018 | 26 | SK Slavia Prague | €1.50m |
| 25/06/2019 | 26 | SK Slavia Prague | €1.75m |
| 07/12/2019 | 27 | SK Slavia Prague | €2.00m |
| 08/04/2020 | 27 | SK Slavia Prague | €1.60m |
| 10/07/2020 | 27 | SK Slavia Prague | €2.00m |
| 13/10/2020 | 28 | West Ham United | €6.00m |
| 17/12/2020 | 28 | West Ham United | €8.00m |
| 18/03/2021 | 28 | West Ham United | €10.00m |
| 28/05/2021 | 28 | West Ham United | €12.00m |
| 23/12/2021 | 29 | West Ham United | €12.00m |
| 15/06/2022 | 29 | West Ham United | €12.00m |
| 03/11/2022 | 30 | West Ham United | €9.00m |
| 20/06/2023 | 30 | West Ham United | €9.00m |
| 19/12/2023 | 31 | West Ham United | €9.00m |
| 27/05/2024 | 31 | West Ham United | €8.00m |
| 16/12/2024 | 32 | West Ham United | €7.00m |
| 30/05/2025 | 32 | West Ham United | €5.00m |
| 14/10/2025 | 33 | TSG 1899 Hoffenheim | €3.00m |
| 19/12/2025 | 33 | TSG 1899 Hoffenheim | €2.70m |
| 27/05/2026 | 33 | TSG 1899 Hoffenheim | €2.50m |
xG Statistics
Vladimír Coufal'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 | Bundesliga | Hoffenheim | 2 | 180 | 0 | 0.05 | 0.05 | 2 | 0.56 | 1 | 5 | 1 |
| 2025 | Bundesliga | Hoffenheim | 34 | 3032 | 1 | 0.99 | 0.99 | 8 | 7.48 | 26 | 58 | 15.42 |
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.







