1. FC Heidenheim 1-3 VfB Stuttgart
Key numbers
- Possession 34% – 66%
- Shots 9 (2 on target) – 18 (7)
- Decisive moment: 45+2' Enzo Millot, FN xPts +0.9
Player of the match
Maximilian Mittelstädt 8.5Dominant
Highest FN Score on the pitch: 8.5 (Dominant)
Game state
0-11-11-21-3
1. FC Heidenheim ahead 0 min · level 24 min · VfB Stuttgart ahead 66 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.
20'
Maximilian Mittelstädt
Goal · scorer +0.5 · assist Nick Woltemade +0.2
+0.7
41'
Paul Wanner
Goal · scorer +0.5 · assist Jan Schöppner +0.2
+0.7
45+2'
Enzo Millot
Goal
+0.9
85'
Nick Woltemade
Pen goal
+0.2
1. FC Heidenheim
Expected (last two seasons) 1.2Own moments +0.7Opponent moments −1.4Time effect −0.5→ League points won 0
VfB Stuttgart
Expected (last two seasons) 1.6Own moments +1.8Opponent moments −0.8Time effect +0.4→ 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
1. FC HeidenheimVfB Stuttgart
0.81Expected goals (xG)2.3
Compared with usual
1. FC Heidenheim
16 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 1 | 1.4 | |
| Conceded | 3 | 2 | |
| xG | 0.81 | 1.3 | |
| xG against | 2.3 | 1.5 | |
| Shots | 9 | 12.6 | |
| On target | 2 | 4.5 | |
| Shots faced | 18 | 14 | |
| xG per shot | 0.09 | 0.14 | |
| Possession | 34% | 43.2% | |
| Passes | 282 | 372.2 | |
| Pass accuracy | 68% | 76.3% | |
| Corners | 9 | 3.6 | high |
| Fouls | 25 | 11.3 | high |
VfB Stuttgart
22 matches this season, all competitions baseline
| This match | Avg | |
|---|
| Goals | 3 | 2 | |
| Conceded | 1 | 1.6 | |
| xG | 2.3 | 1.6 | |
| xG against | 0.81 | 1.2 | |
| Shots | 18 | 15.4 | |
| On target | 7 | 6 | |
| Shots faced | 9 | 11.3 | |
| xG per shot | 0.13 | 0.1 | |
| Possession | 66% | 61.1% | |
| Passes | 578 | 568.6 | |
| Pass accuracy | 86% | 86.1% | |
| Corners | 6 | 5.7 | |
| Fouls | 13 | 10.3 | |
Timeline
- 10'
Yellow
Ermedin Demirović
- 20'
Goal
Maximilian Mittelstädt league goal #1 assist Nick Woltemade
- 26'
Yellow
Benedikt Gimber
- 27'
Yellow
Nick Woltemade
- 41'
Goal
Paul Wanner league goal #3 assist Jan Schöppner
- 45+2'
Goal
Enzo Millot league goal #4
- 46'
Sub
Leo Scienza → Mikkel Kaufmann
- 65'
Sub
Marvin Pieringer → Sirlord Conteh
- 74'
Sub
Chris Führich → Ramon Hendriks
- 74'
Sub
Enzo Millot → Fabian Rieder
- 75'
Yellow
Niklas Dorsch
- 77'
Sub
Haktab Omar Traore → Marnon Busch
- 77'
Sub
Niklas Dorsch → Adrian Beck
- 82'
Sub
Ermedin Demirović → Yannik Keitel
- 84'
Yellow
Mikkel Kaufmann
- 85'
Goal
Nick Woltemade (pen) league goal #4
- 87'
Sub
Benedikt Gimber → Stefan Schimmer
- 88'
Yellow
Jan Schöppner
- 89'
Yellow
Anthony Rouault
- 89'
Sub
Josha Vagnoman → Leonidas Stergiou
- 89'
Sub
Angelo Stiller → Justin Diehl
Category leaders
- Key passesAngelo Stiller4
- Duels wonAngelo Stiller10/13
- DribblesMathias Honsak2/3
- Defensive actionsPatrick Mainka11
- ShotsMathias Honsak3 (on target 1)
- Fouls wonAtakan Karazor4
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.