Platform core above every product
President Hub The whole club on one board screen Ask about world football or your club Players Worldwide 250,000+ players, free to searchAlso from TSH AI Football DecisionScout Radar
28 of 44 appearances
18 of 32 appearances
9 of 10 appearances
1 of 2 appearances
came off the bench
| Position | Apps | G | A |
|---|---|---|---|
| Defensive Midfield | 116 | 24 | 12 |
| Central Midfield | 100 | 17 | 7 |
| Attacking Midfield | 61 | 14 | 6 |
| Centre-Back | 52 | 15 | 2 |
| Other · RW, CF, LW | 20 | 3 | 3 |
120 shots. He scores more than the chances he gets would predict.
Teammates converted fewer of his chances than expected.
| Season | Competition | Club | Apps | Starts | G | A | Yellow cards | Second yellow | Red cards | Min |
|---|---|---|---|---|---|---|---|---|---|---|
| 2026/27 | Serie A | Juventus | 3 | 0 | 1 | 1 | 0 | 0 | 0 | 60 |
| 2025/26 | Serie A | Juventus | 32 | 18 | 0 | 0 | 5 | 0 | 0 | 1,808 |
| 2025/26 | UEFA Champions League | Juventus | 10 | 9 | 2 | – | 0 | – | 0 | 745 |
| 2025/26 | Coppa Italia | Juventus | 2 | 1 | 0 | – | 0 | – | 0 | 106 |
| 2026 | FIFA World Cup | Netherlands | 4 | 0 | 0 | – | 0 | – | 0 | 118 |
| 2024/25 | Serie A | Juventus | 28 | 23 | 3 | 3 | 3 | 0 | 0 | 1,997 |
| 2024/25 | UEFA Champions League | Juventus | 9 | 7 | 0 | – | 2 | – | 0 | 652 |
| 2025 | FIFA Club World Cup | Juventus | 4 | 1 | 1 | – | 0 | – | 0 | 148 |
| 2024/25 | Coppa Italia | Juventus | 2 | 2 | 1 | – | 0 | – | 0 | 112 |
| 2024/25 | Super Cup | Juventus | 1 | 1 | 0 | – | 0 | – | 0 | 90 |
| 2024/25 | UEFA Nations League - League A | Netherlands | 4 | 1 | 1 | – | 0 | – | 0 | 137 |
| 2023/24 | Serie A | Atalanta | 34 | 29 | 12 | 2 | 5 | 0 | 0 | 2,632 |
| 2023/24 | UEFA Europa League | Atalanta | 12 | 10 | 0 | – | 2 | – | 0 | 919 |
| 2023/24 | Coppa Italia | Atalanta | 5 | 4 | 3 | – | 0 | – | 0 | 370 |
| 2022/23 | Serie A | Atalanta | 33 | 32 | 10 | 4 | 7 | 0 | 0 | 2,859 |
| 2022/23 | Coppa Italia | Atalanta | 2 | 2 | 0 | – | 0 | – | 0 | 180 |
| 2022/23 | UEFA Nations League - League A | Netherlands | 6 | 4 | 1 | – | 2 | – | 0 | 338 |
| 2022 | FIFA World Cup | Netherlands | 5 | 1 | 0 | – | 1 | – | 0 | 216 |
| 2024 | UEFA European Championship Qualifiers | Netherlands | 3 | 1 | 1 | – | 0 | – | 0 | 113 |
| 2021/22 | Serie A | Atalanta | 30 | 23 | 4 | 1 | 4 | 0 | 0 | 2,125 |
| 2021/22 | Eredivisie | AZ | 2 | 1 | 0 | 0 | 0 | 0 | 0 | 120 |
| 2021/22 | UEFA Europa League | Atalanta | 6 | 4 | 0 | – | 1 | – | 0 | 438 |
| 2021/22 | UEFA Champions League | Atalanta | 5 | 2 | 0 | – | 0 | – | 0 | 211 |
| 2021/22 | UEFA Europa League | AZ | 2 | 2 | 0 | – | 0 | – | 0 | 180 |
| 2021/22 | Coppa Italia | Atalanta | 2 | 1 | 0 | – | 1 | – | 0 | 144 |
| 2020/21 | Eredivisie | AZ | 31 | 31 | 15 | 3 | 2 | 0 | 1 | 2,705 |
| 2020/21 | UEFA Europa League | AZ | 6 | 6 | 1 | – | 1 | – | 0 | 540 |
| 2020/21 | UEFA Champions League | AZ | 2 | 2 | 1 | – | 0 | – | 0 | 210 |
| 2020/21 | KNVB Beker | AZ | 1 | 1 | 0 | – | 1 | – | 0 | 90 |
| 2022 | UEFA World Cup Qualifiers | Netherlands | 2 | 0 | 0 | – | 0 | – | 0 | 69 |
| 2019/20 | Eredivisie | AZ | 25 | 25 | 11 | 2 | 4 | 0 | 0 | 2,217 |
| 2019/20 | UEFA Europa League | AZ | 14 | 14 | 4 | – | 4 | – | 0 | 1,290 |
| 2019/20 | KNVB Beker | AZ | 3 | 3 | 1 | – | 0 | – | 0 | 270 |
| 2019/20 | Pinatar Football Festival | Netherlands U23 | 1 | 1 | 0 | – | 0 | – | 0 | 90 |
| 2018/19 | Eredivisie | AZ | 32 | 32 | 8 | 0 | 5 | 0 | 0 | 2,880 |
| 2018/19 | KNVB Beker | AZ | 4 | 4 | 0 | – | 0 | – | 0 | 390 |
| 2018/19 | UEFA Europa League | AZ | 1 | 1 | 1 | – | 0 | – | 0 | 90 |
| 2021 | UEFA U21 Championship | Netherlands U21 | 8 | 8 | 3 | – | 3 | – | 0 | 677 |
| 2017/18 | Eredivisie | AZ | 26 | 25 | 1 | 4 | 2 | 0 | 0 | 2,190 |
| 2017/18 | Eerste Divisie | AZ II | 5 | 6 | 1 | 0 | 2 | 0 | 0 | 450 |
| 2017/18 | KNVB Beker | AZ | 1 | 1 | 0 | – | 1 | – | 0 | 59 |
| 2016/17 | Tweede Divisie | AZ II | 19 | 15 | 2 | – | 1 | – | 0 | 1,355 |
| 2017 | UEFA U19 Championship | Netherlands U19 | 9 | 9 | 0 | – | 1 | – | 0 | 805 |
| 2019 | UEFA U21 Championship | Netherlands U21 | 5 | 5 | 1 | – | 0 | – | 0 | 432 |
| 2015 | UEFA U17 Championship | Netherlands U17 | 1 | 0 | 0 | – | 0 | – | 0 | 24 |
| No rows match these filters. | ||||||||||
| Career total · all competitions | 442 | 368 | 90 | 20* | 60 | 0* | 1 | 33,651 | ||
| Competition | Apps | G | A |
|---|---|---|---|
| Serie A | 160 | 30 | 11 |
| Eredivisie | 116 | 35 | 9 |
| UEFA Europa League | 41 | 6 | – |
| UEFA Champions League | 26 | 3 | – |
| Netherlands | 24 | 3 | – |
| Tweede Divisie | 19 | 2 | – |
| Coppa Italia | 13 | 4 | – |
| Netherlands U21 | 13 | 4 | – |
| KNVB Beker | 9 | 1 | – |
| Netherlands U19 | 9 | 0 | – |
* Assists and second yellows are counted where the data has them, mostly league games from 2014/15; cups and internationals show “–”. Friendlies are excluded. Data as of 26 Oct 2026.
Transfer fees come with TSH access.
No honours recorded yet
When a player has titles, they show here by club and season: league titles, cups, international tournaments.
Valuation, wages, physical data and AI reports on Teun Koopmeiners, available with a TSH subscription.
Get full accessWages
TSHSalary estimate, wage history and the fair-wage band for his level.
TSH Valuation
TSHWhat he's worth and what he'd cost: value band, expected deal price and value history.
Performance profile
TSHAbout 70 season metrics, a positional radar and league percentiles, season over season.
TSH physical data
TSHDistance, high-speed running and sprints per 90, match by match.
Match-by-match
TSHEvery match he played, with minutes and per-match stats.
Representation
TSHThe agency and agent behind the player.
Market intelligence
TSHMarket valuation trend, availability for transfer or loan and asking-price signals.
Players like him
TSHStyle twins from across the TSH database, side by side on age, level and value.
AI Scout report
TSHA full scouting report on him, written by AI Scout in minutes.
AI Full Dossier
TSHA complete, board-ready PDF dossier on the player, generated on demand.
Injury history
TSHPast injuries and time missed, season by season.
Player data from the TSH database, updated every week. Spotted something wrong? Tell us · Updated 2026-10-26