

Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesAtalanta
Key statsUEFA Nations League · Serie A
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
- Discipline
- Finishing
Weaknesses
- Long balls
Player positions: AM · MC
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 85 midfielders · Serie A · season 25/26 · min 270′ · player 1028′
Similar playersSerie A · midfielders · season 25/26
Arthur AttaFiorentina · Midfield - Central MidfieldRating5G3A23age78%
Lorenzo PellegriniRoma · Midfield - Attacking MidfieldRating4G2A30age78%
Lucas Da CunhaComo · Midfield - Central MidfieldRating6G4A25age78%
Kevin De BruyneNapoli · Midfield - Attacking MidfieldRating5G2A35age76%
Davide ZappacostaAtalanta · Midfield - Right MidfieldRating3G3A34age76%
Charles De KetelaereAtalanta · Midfield - Attacking MidfieldRating3G5A25ageProfile 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.0Goals xG · total 3 / 3.0
Assists vs xA
-1.5Assists xA · total 1 / 2.5
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
Serbia28 caps · 1 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
UEFA Nations League | Serbia | 26/27 | 2 | 96 | 6.70 | — | — | 0 | — | — |
Serie A | Atalanta | 26/27 | 5 | 257 | 6.90 | 1 | — | 1 | — | — |
Transfers8
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 01/07/2025 | 25/26 | Udinese | Atalanta | €16.60m | €17.00m |
| 30/06/2025 | 24/25 | Atalanta | Udinese | End of loan | €17.00m |
| 18/08/2024 | 24/25 | Udinese | Atalanta | Loan fee:€5.00m | €20.00m |
| 05/08/2021 | 21/22 | Leipzig | Udinese | €3.00m | €3.00m |
| 08/09/2020 | 20/21 | Hertha BSC U19 | Leipzig | €500k | €1.50m |
| 01/07/2019 | 19/20 | Hertha BSC U17 | Hertha BSC U19 | - | - |
| 01/07/2017 | 17/18 | Hertha BSC Yth. | Hertha BSC U17 | - | - |
| 01/07/2009 | 09/10 | Neukölln Jgd. | Hertha BSC Yth. | free transfer | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 02/12/2019 | 17 | Hertha BSC U19 | €300k |
| 06/04/2020 | 18 | Hertha BSC U19 | €500k |
| 08/07/2020 | 18 | Hertha BSC U19 | €1.50m |
| 26/11/2020 | 18 | RB Leipzig | €3.00m |
| 10/02/2021 | 18 | RB Leipzig | €3.00m |
| 09/06/2021 | 19 | RB Leipzig | €3.00m |
| 28/12/2021 | 19 | Udinese Calcio | €3.00m |
| 07/06/2022 | 20 | Udinese Calcio | €3.50m |
| 11/11/2022 | 20 | Udinese Calcio | €4.50m |
| 21/03/2023 | 21 | Udinese Calcio | €7.50m |
| 15/06/2023 | 21 | Udinese Calcio | €14.00m |
| 11/10/2023 | 21 | Udinese Calcio | €20.00m |
| 20/12/2023 | 21 | Udinese Calcio | €20.00m |
| 05/06/2024 | 22 | Udinese Calcio | €20.00m |
| 18/12/2024 | 22 | Atalanta BC | €20.00m |
| 17/06/2025 | 23 | Atalanta BC | €17.00m |
| 23/12/2025 | 23 | Atalanta BC | €15.00m |
| 24/03/2026 | 24 | Atalanta BC | €17.00m |
| 29/05/2026 | 24 | Atalanta BC | €16.00m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Serie A | Atalanta | 3 | 117 | 1 | 0.2 | 0.2 | 0 | 0.12 | 3 | 3 | 0.25 |
| 2025 | Serie A | Atalanta | 26 | 1005 | 2 | 2.78 | 2.78 | 1 | 2.38 | 25 | 28 | 8.55 |
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
Charles De KetelaereMidfield - Attacking Midfield25age€35.00mvalue
Davide ZappacostaMidfield - Right Midfield34age€3.50mvalue
Eljif ElmasMidfield - Attacking Midfield26age€13.00mvalue
Franck KessiéMidfield - Central Midfield29age€12.00mvalue
Giacomo RaspadoriAttack - Second Striker26age€22.00mvalue
Gianluca GaetanoMidfield - Defensive Midfield26age€6.50mvalue
Gianluca ScamaccaAttack - Centre-Forward27age€25.00mvalue
Giorgio ScalviniDefender - Centre-Back22age€38.00mvalue
Serie A
Juventus
Cagliari
AS Roma
Bologna
Hapoel Tel Aviv
UEFA Nations League
Serie A
Udinese
Leipzig
Hertha BSC U19
Hertha BSC U17