

Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesBologna
Key statsSerie 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. Rank: place among forwards — Serie A, season 26/27. What xG, npxG, xA and xGChain mean
Player profileattributes and traits
Player Position average
Strengths
- Finishing
- Discipline
Weaknesses
No outstanding weaknesses
Player positions: RW · MR
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 28 forwards · Serie A · season 26/27 · min 270′ · player 364′
Similar playersSerie A · forwards · season 26/27
Francisco ConceiçãoJuventus · Attack - Right WingerRating1G1A23age80%
Matteo PolitanoNapoli · Attack - Right WingerRating1G1A33age80%
Armand LaurientéSassuolo · Attack - Left WingerRating0G1A27age78%
Mattia ZaccagniLazio · Attack - Left WingerRating1G2A31age78%
Paulo DybalaRoma · Attack - Second StrikerRating0G4A32age78%
John YeboahVenezia · Attack - Second StrikerRating1G0A26ageProfile 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 4 / 3.8
Assists vs xA
-3.1Assists xA · total 2 / 5.1
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
Italy39 caps · 6 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Serie A | Bologna | 26/27 | 5 | 364 | 7.16 | 1 | — | 1 | — | — |
Transfers8
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 19/07/2025 | 25/26 | Toronto | Bologna | free transfer | €3.50m |
| 15/07/2022 | 22/23 | Juventus | Toronto | free transfer | €10.00m |
| 24/07/2017 | 17/18 | Fiorentina | Juventus | €40.00m | €30.00m |
| 30/06/2014 | 13/14 | Crotone | Fiorentina | End of loan | €1.20m |
| 02/09/2013 | 13/14 | Fiorentina | Crotone | loan transfer | €200k |
| 01/07/2013 | 13/14 | Fiorentina U19 | Fiorentina | - | €200k |
| 01/07/2011 | 11/12 | Fiorentina U17 | Fiorentina U19 | - | - |
| 01/07/2009 | 09/10 | Fiorentina Yth. | Fiorentina U17 | - | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 04/11/2011 | 17 | Fiorentina Primavera | €75k |
| 29/02/2012 | 18 | Fiorentina Primavera | €100k |
| 06/06/2013 | 19 | Fiorentina Primavera | €200k |
| 29/01/2014 | 19 | FC Crotone | €1.20m |
| 15/07/2014 | 20 | ACF Fiorentina | €3.00m |
| 08/11/2014 | 20 | ACF Fiorentina | €4.50m |
| 07/01/2015 | 20 | ACF Fiorentina | €4.50m |
| 01/07/2015 | 21 | ACF Fiorentina | €4.50m |
| 05/11/2015 | 21 | ACF Fiorentina | €6.00m |
| 04/01/2016 | 21 | ACF Fiorentina | €15.00m |
| 01/06/2016 | 22 | ACF Fiorentina | €16.00m |
| 15/07/2016 | 22 | ACF Fiorentina | €16.00m |
| 02/01/2017 | 22 | ACF Fiorentina | €24.00m |
| 08/06/2017 | 23 | ACF Fiorentina | €30.00m |
| 29/12/2017 | 23 | Juventus FC | €30.00m |
| 24/03/2018 | 24 | Juventus FC | €40.00m |
| 07/06/2018 | 24 | Juventus FC | €40.00m |
| 12/10/2018 | 24 | Juventus FC | €45.00m |
| 20/12/2018 | 24 | Juventus FC | €45.00m |
| 06/06/2019 | 25 | Juventus FC | €45.00m |
| 12/12/2019 | 25 | Juventus FC | €40.00m |
| 03/03/2020 | 26 | Juventus FC | €35.00m |
| 08/04/2020 | 26 | Juventus FC | €28.00m |
| 25/08/2020 | 26 | Juventus FC | €25.00m |
| 29/12/2020 | 26 | Juventus FC | €20.00m |
| 25/05/2021 | 27 | Juventus FC | €15.00m |
| 28/12/2021 | 27 | Juventus FC | €15.00m |
| 07/06/2022 | 28 | Juventus FC | €10.00m |
| 18/08/2022 | 28 | Toronto FC | €8.00m |
| 08/11/2022 | 28 | Toronto FC | €8.00m |
| 22/08/2023 | 29 | Toronto FC | €6.00m |
| 18/12/2023 | 29 | Toronto FC | €5.00m |
| 13/06/2024 | 30 | Toronto FC | €4.50m |
| 12/12/2024 | 30 | Toronto FC | €4.00m |
| 05/06/2025 | 31 | Toronto FC | €3.50m |
| 23/12/2025 | 31 | Bologna FC 1909 | €3.50m |
| 29/05/2026 | 32 | Bologna FC 1909 | €3.50m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Serie A | Bologna | 3 | 205 | 0 | 0.62 | 0.62 | 0 | 1.53 | 7 | 6 | 2.13 |
| 2025 | Serie A | Bologna | 29 | 1198 | 4 | 3.18 | 2.42 | 2 | 3.57 | 39 | 29 | 8.07 |
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
Artem DovbykAttack - Centre-Forward29age€15.00mvalue
Arthur TheateDefender - Centre-Back26age€17.00mvalue
Eivind HellandDefender - Centre-Back21age€8.00mvalue
Emil HolmDefender - Right-Back26age€10.00mvalue
Jay EnemAttack - Centre-Forward23age€4.50mvalue
Jens OdgaardMidfield - Attacking Midfield27age€12.00mvalue
Jesper KarlssonAttack - Left Winger28age€3.00mvalue
Juan MirandaDefender - Left-Back26age€15.00mvalue
Serie A
Torino
Napoli
Sassuolo
Atalanta
Lazio
Serie A
Toronto
Juventus
Fiorentina
Crotone
Fiorentina U19