Borussia Dortmund v Werder Bremen — Prediction, Odds & Stats
Saturday 25 January 2025 · GER-Bundesliga · 2425
Bundesliga
xG
Shots
8 – 14
On target
4 – 4
Shots in box
5 – 8
xG per shot
0.19 – 0.08
Set-piece xG
0.20 – 0.14
Goals − xG
+0.50 – +0.87
Reading the xG timeline
Each step up is a shot; the height of the step is how good the chance was. Dots mark goals.
A side whose line climbs steadily created chances all match. A side that scored while its
line stayed flat took a rare chance — that is finishing luck, and it rarely repeats.
Expected goals by minute
Borussia Dortmund 1.50 xGWerder Bremen 1.13 xG
Reading the shot map
Each circle is a shot, placed where it was taken. Bigger means a better chance;
filled circles are goals. Clusters near the goal mean a side worked good openings;
lots of small circles far out means shooting from poor positions and hoping.
Hover any circle for the player, minute and chance quality.
Shot map
Borussia Dortmund attacking right
Werder Bremen attacking left
Marker size is xG; filled markers are goals.
Every shot
| Min | Team | Player | xG | Situation | Body part | Result | Assisted by |
|---|---|---|---|---|---|---|---|
| 3' |
|
Nico Schlotterbeck | 0.04 | From Corner | Left Foot | Blocked Shot | Jamie Bynoe-Gittens |
| 22' |
|
Marvin Ducksch | 0.04 | Direct Freekick | Right Foot | Missed Shot | — |
| 27' |
|
Serhou Guirassy | 0.93 | Open Play | — | Goal | Julian Brandt |
| 38' |
|
Julian Brandt | 0.11 | Open Play | Right Foot | Blocked Shot | — |
| 47' |
|
Senne Lynen | 0.01 | Open Play | Right Foot | Missed Shot | Romano Schmid |
| 50' |
|
Marco Friedl | 0.00 | Set Piece | Left Foot | Own Goal | — |
| 58' |
|
Julian Brandt | 0.11 | Open Play | Left Foot | Saved Shot | Karim Adeyemi |
| 64' |
|
Leonardo Bittencourt | 0.03 | Open Play | Right Foot | Goal | Milos Veljkovic |
| 67' |
|
Leonardo Bittencourt | 0.02 | Set Piece | Left Foot | Missed Shot | — |
| 69' |
|
Leonardo Bittencourt | 0.07 | Open Play | Right Foot | Saved Shot | Mitchell Weiser |
| 71' |
|
Marvin Ducksch | 0.47 | Open Play | Right Foot | Goal | Jens Stage |
| 78' |
|
Justin Njinmah | 0.05 | Open Play | Right Foot | Blocked Shot | Romano Schmid |
| 82' |
|
Jens Stage | 0.02 | Open Play | Left Foot | Blocked Shot | Issa Kabore |
| 83' |
|
Leonardo Bittencourt | 0.05 | Open Play | Right Foot | Missed Shot | Romano Schmid |
| 85' |
|
Maximilian Beier | 0.14 | Open Play | — | Blocked Shot | — |
| 89' |
|
Maximilian Beier | 0.05 | Set Piece | Left Foot | Saved Shot | — |
| 89' |
|
Pascal Groß | 0.05 | Direct Freekick | Right Foot | Saved Shot | — |
| 89' |
|
Waldemar Anton | 0.06 | Set Piece | Right Foot | Blocked Shot | — |
| 91' |
|
Jens Stage | 0.11 | Open Play | Left Foot | Blocked Shot | — |
| 91' |
|
Leonardo Bittencourt | 0.16 | Open Play | Right Foot | Saved Shot | Issa Kabore |
| 93' |
|
Jens Stage | 0.08 | From Corner | Right Foot | Missed Shot | — |
| 94' |
|
Issa Kabore | 0.02 | Open Play | Right Foot | Missed Shot | Mitchell Weiser |
Players
Werder Bremen
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Marvin Ducksch FW | 90 | 1 | 0 | 2 | 0 | 0.51 | 0.00 | 0.49 |
| Jens Stage MC | 90 | 0 | 1 | 3 | 1 | 0.20 | 0.47 | 0.88 |
| Anthony Jung DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.21 |
| Romano Schmid MC | 90 | 0 | 0 | 0 | 3 | 0.00 | 0.12 | 0.32 |
| Mitchell Weiser DMR | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.09 | 0.25 |
| Milos Veljkovic DC | 90 | 0 | 1 | 0 | 1 | 0.00 | 0.03 | 0.24 |
| Michael Zetterer GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marco Friedl DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.37 |
| Senne Lynen MC | 64 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.01 |
| Derrick Köhn DML | 64 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marco Grüll FW | 64 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Leonardo Bittencourt Sub | 26 | 1 | 0 | 5 | 0 | 0.34 | 0.00 | 0.37 |
| Justin Njinmah Sub | 26 | 0 | 0 | 1 | 0 | 0.05 | 0.00 | 0.12 |
| Issa Kabore Sub | 26 | 0 | 0 | 1 | 2 | 0.02 | 0.18 | 0.32 |
| Oliver Burke Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Borussia Dortmund
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Serhou Guirassy FW | 90 | 1 | 0 | 1 | 0 | 0.93 | 0.00 | 0.93 |
| Pascal Groß MC | 90 | 0 | 0 | 1 | 0 | 0.05 | 0.00 | 1.04 |
| Gregor Kobel GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Julian Ryerson DR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.93 |
| Emre Can DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.93 |
| Ramy Bensebaini DL | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.93 |
| Julian Brandt MC | 81 | 0 | 1 | 2 | 1 | 0.23 | 0.93 | 1.16 |
| Marcel Sabitzer Sub | 79 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Karim Adeyemi FWR | 65 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.11 |
| Jamie Bynoe-Gittens FWL | 65 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.93 |
| Maximilian Beier Sub | 25 | 0 | 0 | 2 | 0 | 0.20 | 0.00 | 0.14 |
| Julien Duranville Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Nico Schlotterbeck DC | 20 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.00 |
| Felix Nmecha MC | 11 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Waldemar Anton Sub | 9 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.00 |