

Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesSassuolo
Key statsSerie A · Coppa Italia
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
- Passing
- Consistency
- Finishing
Weaknesses
- Penalty taking
Player positions: LW
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 450′
Similar playersSerie A · forwards · season 26/27
Federico BernardeschiBologna · Attack - Right WingerRating1G0A32age79%
Francisco ConceiçãoJuventus · Attack - Right WingerRating1G1A23age78%
Paulo DybalaRoma · Attack - Second StrikerRating0G4A32age76%
John YeboahVenezia · Attack - Second StrikerRating1G0A26age74%
Matteo PolitanoNapoli · Attack - Right WingerRating1G1A33age73%
Mattia ZaccagniLazio · Attack - Left WingerRating1G2A31ageProfile 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
+1.0Goals xG · total 7 / 6.0
Assists vs xA
-0.6Assists xA · total 9 / 9.6
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
Season statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Serie A | Sassuolo | 26/27 | 5 | 450 | 7.20 | — | 1 | 1 | 1 | — |
Coppa Italia | Sassuolo | 26/27 | 2 | 125 | 7.50 | — | — | 0 | — | — |
Transfers12
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 31/08/2022 | 22/23 | FC Lorient | Sassuolo | €10.10m | €7.00m |
| 08/09/2020 | 20/21 | Stade Rennais | FC Lorient | €3.00m | €1.00m |
| 30/06/2020 | 19/20 | FC Lorient | Stade Rennais | End of loan | €450k |
| 01/09/2019 | 19/20 | Stade Rennais | FC Lorient | loan transfer | €300k |
| 30/01/2019 | 18/19 | Rennes B | Stade Rennais | - | €300k |
| 29/01/2019 | 18/19 | US Orléans | Rennes B | End of loan | €300k |
| 23/07/2018 | 18/19 | Rennes B | US Orléans | loan transfer | - |
| 01/07/2017 | 17/18 | Rennes U19 | Rennes B | - | - |
| 01/07/2016 | 16/17 | Rennes Jugend | Rennes U19 | - | - |
| 01/07/2013 | 13/14 | Red Star Jugend | Rennes Jugend | ? | - |
| 01/07/2012 | 12/13 | Sarcelles Jgd. | Red Star Jugend | free transfer | - |
| 01/07/2011 | 11/12 | Clairef. Yth. | Sarcelles Jgd. | free transfer | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 08/01/2019 | 20 | US Orléans | €300k |
| 03/06/2019 | 20 | Stade Rennais FC | €300k |
| 06/01/2020 | 21 | FC Lorient | €500k |
| 08/04/2020 | 21 | FC Lorient | €450k |
| 03/08/2020 | 21 | Stade Rennais FC | €1.00m |
| 15/10/2020 | 21 | FC Lorient | €2.50m |
| 07/01/2021 | 22 | FC Lorient | €3.00m |
| 09/04/2021 | 22 | FC Lorient | €6.00m |
| 04/06/2021 | 22 | FC Lorient | €6.00m |
| 08/10/2021 | 22 | FC Lorient | €8.00m |
| 16/12/2021 | 23 | FC Lorient | €8.00m |
| 30/05/2022 | 23 | FC Lorient | €7.00m |
| 27/09/2022 | 23 | US Sassuolo | €10.00m |
| 11/11/2022 | 23 | US Sassuolo | €14.00m |
| 21/03/2023 | 24 | US Sassuolo | €18.00m |
| 15/06/2023 | 24 | US Sassuolo | €18.00m |
| 20/12/2023 | 25 | US Sassuolo | €16.00m |
| 12/03/2024 | 25 | US Sassuolo | €12.00m |
| 05/06/2024 | 25 | US Sassuolo | €10.00m |
| 23/12/2024 | 26 | US Sassuolo | €10.00m |
| 17/03/2025 | 26 | US Sassuolo | €13.00m |
| 02/06/2025 | 26 | US Sassuolo | €15.00m |
| 23/12/2025 | 27 | US Sassuolo | €14.00m |
| 24/03/2026 | 27 | US Sassuolo | €18.00m |
| 29/05/2026 | 27 | US Sassuolo | €19.00m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Serie A | Sassuolo | 3 | 270 | 0 | 1.62 | 1.62 | 0 | 1.07 | 16 | 3 | 2.96 |
| 2025 | Serie A | Sassuolo | 38 | 2655 | 7 | 4.39 | 4.39 | 9 | 8.51 | 71 | 54 | 14.83 |
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
Andrea GhionMidfield - Defensive Midfield26age€800kvalue
Arijanet MurićGoalkeeper27age€7.50mvalue
Benja DomínguezAttack - Left Winger22age€9.00mvalue
Cas OdenthalDefender - Centre-Back25age€1.20mvalue
Cristian VolpatoAttack - Right Winger22age€10.00mvalue
Daniel BolocaMidfield - Defensive Midfield27age€4.00mvalue
Darryl BakolaMidfield - Central Midfield18age€8.00mvalue
Domenico BerardiAttack - Right Winger32age€7.00mvalue
Serie A
Monza
Juventus
Bologna
Frosinone
Torino
Serie A
Coppa Italia
FC Lorient
Stade Rennais
Rennes B
US Orléans