

João MárioRB#17
Fiorentina·
Serie A·Defender - Right-Back
Last 5rating per match
Form, 12 monthsaverage rating per month
Club matchesFiorentina
Key statsCoppa Italia · 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
No outstanding strengths
Weaknesses
No outstanding weaknesses
Player positions: DR · 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 87 defenders · Serie A · season 25/26 · min 270′ · player 1008′
Similar playersSerie A · defenders · season 25/26
Luca PellegriniLazio · Defender - Left-BackRating1G0A27age80%
Fabiano ParisiFiorentina · Defender - Left-BackRating1G1A25age79%
Nuno TavaresLazio · Defender - Left-BackRating0G0A26age78%
Juan MirandaBologna · Defender - Left-BackRating1G3A26age77%
Niccolò FortiniTorino · Defender - Left-BackRating0G0A20age77%
Devyne RenschRoma · Defender - Right-BackRating1G4A23ageProfile 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.7Goals xG · total 1 / 0.3
Assists vs xA
-0.9Assists xA · total 0 / 0.9
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
Portugal3 caps · 0 goalsSeason statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Coppa Italia | Fiorentina | 26/27 | 2 | 135 | 7.05 | — | 1 | 1 | — | — |
Serie A | Fiorentina | 26/27 | 3 | 182 | 6.73 | — | — | 0 | — | — |
Transfers12
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 30/06/2027 | 26/27 | Fiorentina | Juventus | End of loan | €8.00m |
| 03/08/2026 | 26/27 | Juventus | Fiorentina | Loan fee:€1.80m | €8.00m |
| 30/06/2026 | 25/26 | Bologna | Juventus | End of loan | €8.00m |
| 02/02/2026 | 25/26 | Juventus | Bologna | loan transfer | €8.50m |
| 24/07/2025 | 25/26 | Porto | Juventus | €12.00m | €10.00m |
| 01/09/2020 | 20/21 | FC Porto B | Porto | - | €525k |
| 01/07/2018 | 18/19 | FC Porto U19 | FC Porto B | - | - |
| 01/07/2017 | 17/18 | FC Porto U17 | FC Porto U19 | - | - |
| 01/07/2016 | 16/17 | Padroense U17 | FC Porto U17 | - | - |
| 01/07/2015 | 15/16 | FC Porto U15 | Padroense U17 | - | - |
| 01/07/2013 | 13/14 | FC Porto Youth | FC Porto U15 | - | - |
| 01/07/2008 | 08/09 | Sanjoanense CJ | FC Porto Youth | ? | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 12/02/2019 | 19 | FC Porto B | €300k |
| 29/06/2019 | 19 | FC Porto B | €700k |
| 31/12/2019 | 19 | FC Porto B | €600k |
| 08/04/2020 | 20 | FC Porto B | €525k |
| 22/10/2020 | 20 | FC Porto | €800k |
| 28/01/2021 | 21 | FC Porto | €3.00m |
| 21/05/2021 | 21 | FC Porto | €4.00m |
| 21/09/2021 | 21 | FC Porto | €7.00m |
| 27/12/2021 | 21 | FC Porto | €10.00m |
| 10/03/2022 | 22 | FC Porto | €12.00m |
| 31/05/2022 | 22 | FC Porto | €15.00m |
| 01/11/2022 | 22 | FC Porto | €12.00m |
| 02/03/2023 | 23 | FC Porto | €16.00m |
| 16/06/2023 | 23 | FC Porto | €16.00m |
| 27/12/2023 | 23 | FC Porto | €16.00m |
| 06/06/2024 | 24 | FC Porto | €15.00m |
| 19/12/2024 | 24 | FC Porto | €14.00m |
| 31/03/2025 | 25 | FC Porto | €10.00m |
| 30/05/2025 | 25 | FC Porto | €10.00m |
| 23/12/2025 | 25 | Juventus FC | €8.50m |
| 29/05/2026 | 26 | Bologna FC 1909 | €8.00m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Serie A | Fiorentina | 3 | 175 | 0 | 0 | 0 | 0 | 0.15 | 0 | 2 | 0.4 |
| 2025 | Serie A | Bologna,Juventus | 20 | 1003 | 1 | 0.28 | 0.28 | 0 | 0.73 | 7 | 8 | 3.57 |
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
Alieu NjieAttack - Left Winger21age€3.00mvalue
Arthur AttaMidfield - Central Midfield23age€25.00mvalue
BetoAttack - Centre-Forward28age€18.00mvalue
Cher NdourMidfield - Central Midfield22age€20.00mvalue
Christ Inao OulaïMidfield - Central Midfield20age€28.00mvalue
David de GeaGoalkeeper35age€3.50mvalue
DodôDefender - Right-Back27age€16.00mvalue
Fabiano ParisiDefender - Left-Back25age€6.00mvalue
Napoli
Pisa
Venezia
Torino
Frosinone
Coppa Italia
Serie A
Juventus
Bologna
Porto
FC Porto B
FC Porto U19
FC Porto U17
Sanjoanense CJ