
Danny da CostaCB#21
Mainz·
Bundesliga·Defender - Centre-Back
Last 5rating per match
Form, 12 monthsaverage rating per month
Key statsBundesliga · DFB Pokal
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
- Ground duels
Weaknesses
No outstanding weaknesses
Player positions: DC · 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 54 defenders · Bundesliga · season 25/26 · min 270′ · player 2697′
Similar playersBundesliga · defenders · season 25/26
Matthias GinterFreiburg · Defender - Centre-BackRating3G4A32age80%
Phillipp MweneMainz · Defender - Left-BackRating1G2A32age79%
Jordy MakengoFreiburg · Defender - Left-BackRating0G1A25age79%
Philipp LienhartFreiburg · Defender - Centre-BackRating1G0A30age78%
Joe ScallyMönchengladbach · Defender - Right-BackRating2G3A23age78%
Jeffrey GouweleeuwAugsburg · Defender - Centre-BackRating0G1A35ageProfile match = 100 − mean gap of per-90 percentiles across 28 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.6Goals xG · total 2 / 2.6
Assists vs xA
+0.1Assists xA · total 3 / 2.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
Season statsSeason 26/27
| Competition | Team | Season | Apps | Min | Rating | G | A | G+A | YC | RC |
|---|---|---|---|---|---|---|---|---|---|---|
Bundesliga | 1. FSV Mainz 05 | 26/27 | 4 | 152 | 7.20 | 1 | — | 1 | — | — |
DFB Pokal | 1. FSV Mainz 05 | 26/27 | 1 | 62 | 8.10 | — | — | 0 | — | — |
Transfers12
| Date | Season | From | To | Fee | Market value |
|---|---|---|---|---|---|
| 01/07/2022 | 22/23 | Frankfurt | Mainz | free transfer | €2.30m |
| 30/06/2021 | 20/21 | Mainz | Frankfurt | End of loan | €6.00m |
| 22/01/2021 | 20/21 | Frankfurt | Mainz | loan transfer | €7.00m |
| 01/07/2017 | 17/18 | Leverkusen | Frankfurt | €1.00m | €1.00m |
| 01/07/2016 | 16/17 | FC Ingolstadt | Leverkusen | €500k | €1.00m |
| 01/07/2014 | 14/15 | Leverkusen | FC Ingolstadt | free transfer | €1.00m |
| 30/06/2014 | 13/14 | FC Ingolstadt | Leverkusen | End of loan | €1.00m |
| 03/07/2012 | 12/13 | Leverkusen | FC Ingolstadt | loan transfer | €1.00m |
| 01/07/2011 | 11/12 | Leverkusen U19 | Leverkusen | - | €200k |
| 01/07/2010 | 10/11 | Leverkusen U17 | Leverkusen U19 | - | - |
| 01/07/2008 | 08/09 | Leverkusen Yth. | Leverkusen U17 | - | - |
| 01/07/2001 | 01/02 | W. Mülheim Yth. | Leverkusen Yth. | free transfer | - |
Market value
Value history
| Date | Age | Club | Value |
|---|---|---|---|
| 12/01/2011 | 17 | Bayer 04 Leverkusen U19 | €100k |
| 02/03/2011 | 17 | Bayer 04 Leverkusen U19 | €200k |
| 15/07/2011 | 18 | Bayer 04 Leverkusen | €350k |
| 23/01/2012 | 18 | Bayer 04 Leverkusen | €350k |
| 05/03/2012 | 18 | Bayer 04 Leverkusen | €500k |
| 29/06/2012 | 18 | Bayer 04 Leverkusen | €1.00m |
| 04/01/2013 | 19 | FC Ingolstadt 04 | €1.00m |
| 29/06/2013 | 19 | FC Ingolstadt 04 | €1.30m |
| 20/01/2014 | 20 | FC Ingolstadt 04 | €1.00m |
| 30/06/2014 | 20 | Bayer 04 Leverkusen | €1.00m |
| 13/01/2015 | 21 | FC Ingolstadt 04 | €1.00m |
| 01/07/2015 | 21 | FC Ingolstadt 04 | €1.00m |
| 15/02/2016 | 22 | FC Ingolstadt 04 | €1.00m |
| 22/07/2016 | 23 | Bayer 04 Leverkusen | €1.75m |
| 07/02/2017 | 23 | Bayer 04 Leverkusen | €1.50m |
| 19/06/2017 | 23 | Bayer 04 Leverkusen | €1.00m |
| 28/12/2017 | 24 | Eintracht Frankfurt | €1.00m |
| 04/04/2018 | 24 | Eintracht Frankfurt | €3.00m |
| 05/06/2018 | 24 | Eintracht Frankfurt | €3.50m |
| 22/10/2018 | 25 | Eintracht Frankfurt | €5.00m |
| 18/12/2018 | 25 | Eintracht Frankfurt | €8.00m |
| 06/03/2019 | 25 | Eintracht Frankfurt | €12.00m |
| 05/06/2019 | 25 | Eintracht Frankfurt | €15.00m |
| 17/12/2019 | 26 | Eintracht Frankfurt | €15.00m |
| 11/03/2020 | 26 | Eintracht Frankfurt | €10.00m |
| 08/04/2020 | 26 | Eintracht Frankfurt | €8.00m |
| 16/09/2020 | 27 | Eintracht Frankfurt | €7.00m |
| 10/02/2021 | 27 | 1.FSV Mainz 05 | €5.00m |
| 09/06/2021 | 27 | 1.FSV Mainz 05 | €6.00m |
| 07/10/2021 | 28 | Eintracht Frankfurt | €4.00m |
| 22/12/2021 | 28 | Eintracht Frankfurt | €3.50m |
| 09/06/2022 | 28 | Eintracht Frankfurt | €2.30m |
| 09/11/2022 | 29 | 1.FSV Mainz 05 | €2.00m |
| 22/06/2023 | 29 | 1.FSV Mainz 05 | €1.80m |
| 14/12/2023 | 30 | 1.FSV Mainz 05 | €1.50m |
| 29/05/2024 | 30 | 1.FSV Mainz 05 | €1.20m |
| 09/10/2024 | 31 | 1.FSV Mainz 05 | €800k |
| 20/12/2024 | 31 | 1.FSV Mainz 05 | €800k |
| 27/03/2025 | 31 | 1.FSV Mainz 05 | €1.50m |
| 05/06/2025 | 31 | 1.FSV Mainz 05 | €1.50m |
| 19/12/2025 | 32 | 1.FSV Mainz 05 | €1.20m |
| 27/05/2026 | 32 | 1.FSV Mainz 05 | €1.20m |
xG Statisticsall seasons
| Season | League | Club | Apps | Min | G | xG | npxG | A | xA | Sh | KP | xGChain |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2026 | Bundesliga | Mainz 05 | 2 | 98 | 0 | 0.19 | 0.19 | 0 | 0.1 | 5 | 2 | 0.6 |
| 2025 | Bundesliga | Mainz 05 | 34 | 2689 | 2 | 2.43 | 2.43 | 3 | 2.83 | 14 | 16 | 9.9 |
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
Alexander SchwolowGoalkeeper34age€450kvalue
Anthony CaciDefender - Right-Back29age€7.00mvalue
Benedict HollerbachAttack - Centre-Forward25age€8.00mvalue
Dominik KohrDefender - Centre-Back32age€2.00mvalue
Eric MartelMidfield - Defensive Midfield24age€8.00mvalue
Fabio GruberDefender - Centre-Back24age€3.00mvalue
Jae-sung LeeMidfield - Attacking Midfield34age€2.00mvalue
Kacper PotulskiDefender - Centre-Back18age€18.00mvalue
Bundesliga
1. FSV Mainz 05
DFB Pokal
Frankfurt
Leverkusen
FC Ingolstadt