Borussia Dortmund 1-2 VfB Stuttgart
Key numbers
- Possession 68% – 32%
- Shots 16 (5 on target) – 4 (2)
- Decisive moment: 61' Julian Chabot, FN xPts +0.6
Player of the match
Julian Chabot 7.5Strong
Highest FN Score on the pitch: 7.5 (Strong)
Game state
0-10-21-2
Borussia Dortmund ahead 0 min · level 50 min · VfB Stuttgart ahead 40 min
FN xPts — what each moment was worth
How much each moment changed that team's expected points (win 3, draw 1). A goal's value is credited 70% to the scorer and 30% to the assist.
50'
Waldemar Anton
Own goal
−0.8
61'
Julian Chabot
Goal · scorer +0.4 · assist Jamie Leweling +0.2
+0.6
81'
Julian Brandt
Goal · scorer +0.2 · assist Pascal Groß +0.1
+0.3
89'
Julian Ryerson
Red card
−0.1
Borussia Dortmund
Expected (last two seasons) 1.9Own moments −0.6Opponent moments −0.5Time effect −0.8→ League points won 0
VfB Stuttgart
Expected (last two seasons) 0.9Own moments +0.6Opponent moments +0.5Time effect +1.0→ League points won 3
Expected points don't add up to a fixed total (a draw is 1 + 1), so an opponent's moment isn't simply the mirror of your loss. "Time effect" is the change as the clock runs down on a lead or a chase, and isn't credited to any player.
How FN Score and FN xPts work →
Match stats
Borussia DortmundVfB Stuttgart
1.36Expected goals (xG)0.34
Compared with usual
Borussia Dortmund
30 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 1 | 2.1 | |
| Conceded | 2 | 1.6 | |
| xG | 1.36 | 1.5 | |
| xG against | 0.34 | 1.3 | |
| Shots | 16 | 13.2 | |
| On target | 5 | 5 | |
| Shots faced | 4 | 11.5 | low |
| xG per shot | 0.09 | 0.13 | |
| Possession | 68% | 59.3% | |
| Passes | 579 | 570.5 | |
| Pass accuracy | 89% | 86.5% | |
| Corners | 9 | 5.5 | |
| Fouls | 13 | 10.4 | |
VfB Stuttgart
32 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 2 | 1.9 | |
| Conceded | 1 | 1.5 | |
| xG | 0.34 | 1.6 | |
| xG against | 1.36 | 1.2 | |
| Shots | 4 | 15.1 | |
| On target | 2 | 5.7 | |
| Shots faced | 16 | 10.5 | |
| xG per shot | 0.09 | 0.11 | |
| Possession | 32% | 60.2% | low |
| Passes | 269 | 562.8 | low |
| Pass accuracy | 73% | 85.5% | low |
| Corners | 4 | 5.8 | |
| Fouls | 14 | 10.6 | |
Timeline
- 17'
Yellow
Emre Can
- 50'
Goal
Waldemar Anton (OG)
- 56'
Yellow
Julian Ryerson
- 60'
Yellow
Karim Adeyemi
- 61'
Goal
Julian Chabot league goal #1 assist Jamie Leweling
- 70'
Sub
Deniz Undav → Ermedin Demirović
- 70'
Sub
Chris Führich → Josha Vagnoman
- 71'
Sub
Karim Adeyemi → Maximilian Beier
- 77'
Sub
Enzo Millot → Yannik Keitel
- 81'
Goal
Julian Brandt league goal #3 assist Pascal Groß
- 85'
Sub
Jamie Gittens → Julien Duranville
- 85'
Sub
Pascal Groß → Giovanni Reyna
- 85'
Sub
Ramy Bensebaini → Daniel Svensson
- 86'
Sub
Jamie Leweling → Nick Woltemade
- 89'
Second yellow
Julian Ryerson
- 89'
Yellow
Angelo Stiller
- 90+2'
Yellow
Julien Duranville
- 90+6'
Yellow
Atakan Karazor
Category leaders
- Key passesJulian Ryerson2
- Duels wonMaximilian Mittelstädt13/17
- DribblesJamie Gittens4/5
- Defensive actionsMaximilian Mittelstädt10
- ShotsJamie Gittens4 (on target 3)
- Fouls wonJulian Ryerson3
Past-season matches are summarised from match data (API-Football) without a written review. FN Score and FN xPts are calculated by Fulltime Note using a published formula.