Werder Bremen 1–0 FSV Mainz 05
- Bittencourt 14'
- Stark 90+3'
- Friedl 90+4'
- Werner 90+8'
31 January 2025
The match in data
Werder Bremen beat FSV Mainz 05 1–0 on 31 January 2025, on matchday 20 of the 2024-25 Bundesliga.
Player of the match: Danny da Costa (FSV Mainz 05), rated 66, thanks above all to 19 final-third passes and 10 recoveries. da Costa produced 2.0 times as much as a defender typically does, at 0.8 times the cost.
For Werder Bremen, the highest-rated player was Leonardo Bittencourt, with 74.
Marvin Ducksch missed a penalty at 12'.
Niklas Stark was sent off at 90+3'.
Marco Friedl was sent off at 90+4'.
Ole Werner was sent off at 90+8'.
Danny da Costa
FSV Mainz 05 · 90'
Produced 1.96× and cost 0.81× their position's average
- 19 final-third passes 3.7×
- 10 recoveries 2.9×
- 4 tackles 2.3×
- 15 misplaced passes 2.0×
- 1 failed dribble 2.3×
Match ratings
Everyone who played, sorted by rating. No rating: goalkeepers and anyone who played under 20 minutes.
| Player | Position | Min | Rating |
|---|---|---|---|
| Leonardo Bittencourt | Midfielder | 36 | 74 |
| Marco Friedl | Defender | 90 | 65 |
| Anthony Jung | Defender | 86 | 60 |
| Issa Kaboré | Midfielder | 70 | 51 |
| Marvin Ducksch | Forward | 70 | 51 |
| Marco Grüll | Forward | 20 | 51 |
| Romano Schmid | Midfielder | 90 | 48 |
| Niklas Stark | Defender | 90 | 47 |
| Derrick Köhn | Defender | 20 | 47 |
| Skelly Alvero | Midfielder | 54 | 45 |
| Mitchell Weiser | Defender | 90 | 44 |
| Justin Njinmah | Forward | 90 | 33 |
| Senne Lynen | Midfielder | 90 | 33 |
| Michael Zetterer | Goalkeeper | 90 | no rating |
| Amos Pieper | Defender | 12 | no rating |
| Player | Position | Min | Rating |
|---|---|---|---|
| Danny da Costa ★ | Defender | 90 | 66 |
| Dominik Kohr | Defender | 90 | 62 |
| Stefan Bell | Midfielder | 56 | 55 |
| Maxim Leitsch | Defender | 34 | 45 |
| Kaishu Sano | Midfielder | 90 | 43 |
| Jae-sung Lee | Midfielder | 90 | 39 |
| Paul Nebel | Midfielder | 90 | 37 |
| Phillipp Mwene | Midfielder | 81 | 36 |
| Anthony Caci | Defender | 81 | 34 |
| Nelson Weiper | Forward | 78 | 31 |
| Nadiem Amiri | Midfielder | 46 | 31 |
| Hyun-seok Hong | Midfielder | 44 | 22 |
| Robin Zentner | Goalkeeper | 90 | no rating |
| Armindo Sieb | Forward | 12 | no rating |
| Arnaud Nordin | Forward | 9 | no rating |
| Silvan Widmer | Defender | 9 | no rating |
How is the rating calculated?
The rating measures a single match: what the player produced against what they cost, compared with the average for their position in that league and season, and adjusted by position (a 70 for a forward is as hard to get as a 70 for a defender). A normal match is around 50, 70 is already very good and only one in a hundred goes above 80. It is not the NVP, which ranks the whole season.