betaider.com
Sign in

Union Berlin v VfB Stuttgart — Prediction, Odds & Stats

Saturday 23 August 2025 · GER-Bundesliga · 2526

Bundesliga xG Prediction generated

2–1
0.53 – 1.80 xG
Shots
8 – 21
On target
2 – 6
Shots in box
6 – 14
xG per shot
0.07 – 0.09
Set-piece xG
0.20 – 0.41
Goals − xG
+1.46 – -0.80

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
Union Berlin win
26.4%
Draw
25.9%
VfB Stuttgart win
47.8%

Probabilities, not certainties. How they are made: the methodology.

Was this pick made in advance?
A model whose name ends -oos is out of sample: it was fitted only on matches played before this one, so its pick is a genuine forecast rather than hindsight. Anything without that suffix was fitted on all available data.

What the chances say

Union Berlin have scored 15 from 14.2 expected and conceded 21 from 20.5 — both ends in line with the chances, so the recent record is a fair reflection.

DWWDLLLWDD last 10 scored 15 from 14.2 xG conceded 21 from 20.5 xG

VfB Stuttgart are finishing sharply below their chances — 4.3 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding sharply fewer than expected — 5.7 goals saved beyond what the chances suggest.

DWDLWLLWLL last 10 scored 18 from 22.3 xG conceded 19 from 24.7 xG

Finishing swings far more than chance creation, so a gap this size usually narrows. Over ten matches it is suggestive, not settled — a genuinely elite finisher beats expected goals for years.

What the model said

ModelHome / Draw / Away Expected goalsLikeliest score O2.5BTTSOutcome
ai-blend-oos 1.24–1.73 0% 0% 0% Away ✗
dc-xg-oos 1.34–1.71 1-1 11% 59% 60% Away ✗

A model whose name ends -oos was produced by the walk-forward backtest: it was fitted only on matches played before this one, so the pick is genuinely out of sample.

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

0.00.51.01.52.00'15'30'45'60'75'90'Ilyas Ansah 17' — goalIlyas Ansah 48' — goalTiago Tomás 85' — goal
Union Berlin 0.54 xGVfB Stuttgart 1.80 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

Andrej Ilic 8' — Missed Shot (0.02 xG, From Corner)Deniz Undav 11' — Blocked Shot (0.06 xG, From Corner)Julian Chabot 11' — Saved Shot (0.12 xG, From Corner)Ilyas Ansah 17' — Goal (0.02 xG, Open Play)Ermedin Demirovic 20' — Missed Shot (0.12 xG, From Corner)Maximilian Mittelstädt 26' — Missed Shot (0.05 xG, Set Piece)Joshua Vagnoman 30' — Missed Shot (0.35 xG, Open Play)Jamie Leweling 33' — Saved Shot (0.03 xG, Open Play)Robert Skov 39' — Missed Shot (0.03 xG, Open Play)Atakan Karazor 43' — Saved Shot (0.35 xG, Open Play)Jamie Leweling 43' — Blocked Shot (0.11 xG, Open Play)Deniz Undav 44' — Missed Shot (0.03 xG, From Corner)Julian Chabot 47' — Missed Shot (0.05 xG, Open Play)Ilyas Ansah 48' — Goal (0.07 xG, Open Play)Deniz Undav 48' — Blocked Shot (0.06 xG, Open Play)Maximilian Mittelstädt 49' — Saved Shot (0.01 xG, From Corner)Danilho Doekhi 55' — Blocked Shot (0.08 xG, Set Piece)Tom Rothe 55' — Missed Shot (0.08 xG, Open Play)Atakan Karazor 56' — Missed Shot (0.13 xG, Open Play)Tiago Tomás 64' — Blocked Shot (0.02 xG, From Corner)Andrej Ilic 68' — Missed Shot (0.13 xG, Open Play)Deniz Undav 77' — Missed Shot (0.02 xG, Open Play)Deniz Undav 78' — Missed Shot (0.02 xG, Open Play)Jamie Leweling 79' — Blocked Shot (0.03 xG, Open Play)Chris Führich 80' — Saved Shot (0.02 xG, Open Play)Tiago Tomás 85' — Goal (0.08 xG, Open Play)Lazar Jovanovic 87' — Missed Shot (0.10 xG, Open Play)Leopold Querfeld 94' — Missed Shot (0.10 xG, From Corner)Chris Führich 97' — Blocked Shot (0.04 xG, Open Play)
Union Berlin attacking right VfB Stuttgart attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
8' Union Berlin Andrej Ilic 0.02 From Corner — Missed Shot Christopher Trimmel
11' VfB Stuttgart Deniz Undav 0.06 From Corner Right Foot Blocked Shot Angelo Stiller
11' VfB Stuttgart Julian Chabot 0.12 From Corner — Saved Shot Maximilian Mittelstädt
17' Union Berlin Ilyas Ansah 0.02 Open Play Right Foot Goal —
20' VfB Stuttgart Ermedin Demirovic 0.12 From Corner — Missed Shot Jamie Leweling
26' VfB Stuttgart Maximilian Mittelstädt 0.05 Set Piece Right Foot Missed Shot —
30' VfB Stuttgart Joshua Vagnoman 0.35 Open Play Right Foot Missed Shot Maximilian Mittelstädt
33' VfB Stuttgart Jamie Leweling 0.03 Open Play Right Foot Saved Shot Luca Jaquez
39' Union Berlin Robert Skov 0.03 Open Play Left Foot Missed Shot —
43' VfB Stuttgart Atakan Karazor 0.35 Open Play Right Foot Saved Shot Nick Woltemade
43' VfB Stuttgart Jamie Leweling 0.11 Open Play Left Foot Blocked Shot Ermedin Demirovic
44' VfB Stuttgart Deniz Undav 0.03 From Corner — Missed Shot —
47' VfB Stuttgart Julian Chabot 0.05 Open Play Left Foot Missed Shot Angelo Stiller
48' Union Berlin Ilyas Ansah 0.07 Open Play Right Foot Goal Andrej Ilic
48' VfB Stuttgart Deniz Undav 0.06 Open Play — Blocked Shot Ermedin Demirovic
49' VfB Stuttgart Maximilian Mittelstädt 0.01 From Corner Left Foot Saved Shot —
55' Union Berlin Danilho Doekhi 0.08 Set Piece Left Foot Blocked Shot Tom Rothe
55' Union Berlin Tom Rothe 0.08 Open Play Left Foot Missed Shot Robert Skov
56' VfB Stuttgart Atakan Karazor 0.13 Open Play — Missed Shot Jamie Leweling
64' VfB Stuttgart Tiago Tomás 0.02 From Corner Right Foot Blocked Shot —
68' Union Berlin Andrej Ilic 0.13 Open Play Right Foot Missed Shot Danilho Doekhi
77' VfB Stuttgart Deniz Undav 0.02 Open Play Right Foot Missed Shot Chris Führich
78' VfB Stuttgart Deniz Undav 0.02 Open Play — Missed Shot Jamie Leweling
79' VfB Stuttgart Jamie Leweling 0.03 Open Play Left Foot Blocked Shot Deniz Undav
80' VfB Stuttgart Chris Führich 0.02 Open Play Right Foot Saved Shot Maximilian Mittelstädt
85' VfB Stuttgart Tiago Tomás 0.08 Open Play Right Foot Goal Chris Führich
87' VfB Stuttgart Lazar Jovanovic 0.10 Open Play — Missed Shot Maximilian Mittelstädt
94' Union Berlin Leopold Querfeld 0.10 From Corner — Missed Shot Josip Juranovic
97' VfB Stuttgart Chris Führich 0.04 Open Play — Blocked Shot Lazar Jovanovic

Players

VfB Stuttgart

PlayerMinGA ShKPxGxA xGChain
Deniz Undav AMC 90 0 0 5 1 0.19 0.03 1.08
Jamie Leweling AML 90 0 0 3 3 0.17 0.27 0.73
Maximilian Mittelstädt DL 90 0 0 2 4 0.06 0.59 0.77
Angelo Stiller DMC 90 0 0 0 2 0.00 0.11 0.74
Alexander Nübel GK 90 0 0 0 0 0.00 0.00 0.19
Luca Jaquez DC 90 0 0 0 1 0.00 0.03 0.50
Nick Woltemade AMR 90 0 0 0 1 0.00 0.35 0.59
Atakan Karazor DMC 88 0 0 2 0 0.48 0.00 0.49
Julian Chabot DC 88 0 0 2 0 0.17 0.00 0.53
Joshua Vagnoman DR 77 0 0 1 0 0.35 0.00 0.35
Ermedin Demirovic FW 71 0 0 1 2 0.12 0.18 0.66
Tiago Tomás Sub 19 1 0 2 0 0.10 0.00 0.08
Chris Führich Sub 13 0 1 2 2 0.06 0.09 0.29
Lazar Jovanovic Sub 2 0 0 1 1 0.10 0.04 0.14
Ramon Hendriks Sub 2 0 0 0 0 0.00 0.00 0.14

Union Berlin

PlayerMinGA ShKPxGxA xGChain
Andrej Ilic FW 90 0 1 2 1 0.16 0.07 0.21
Leopold Querfeld DC 90 0 0 1 0 0.10 0.00 0.00
Tom Rothe DC 90 0 0 1 1 0.08 0.08 0.08
Danilho Doekhi DC 90 0 0 1 1 0.08 0.13 0.17
Christopher Trimmel DR 90 0 0 0 1 0.00 0.02 0.21
Andras Schafer MC 90 0 0 0 0 0.00 0.00 0.00
Rani Khedira MC 90 0 0 0 0 0.00 0.00 0.08
Frederik Rönnow GK 90 0 0 0 0 0.00 0.00 0.00
Ilyas Ansah FW 82 2 0 2 0 0.09 0.00 0.12
Robert Skov DL 73 0 0 1 1 0.03 0.08 0.11
Janik Haberer MC 73 0 0 0 0 0.00 0.00 0.00
Derrick Köhn Sub 17 0 0 0 0 0.00 0.00 0.00
Alex Kral Sub 17 0 0 0 0 0.00 0.00 0.00
Oliver Burke Sub 8 0 0 0 0 0.00 0.00 0.00
Josip Juranovic Sub 1 0 0 0 1 0.00 0.10 0.00
betaider.com

Sport

Football sections

Preferences

Appearance
Aider Reading the Football model · online
Open the Radar
Bet slip
Open full page
↑↓ to move ↵ to open esc to close See all results

On this page

Match

What this page is for

One fixture in full. The model's probability for every market it prices, the prices stored against them, the teams expected to feature, and for a match already played, the shot map and the xG timeline.

How to read the shot map

Every shot is placed where it was taken and sized by its chance of being scored. A cluster of small marks from distance and a clean sheet is a side that was busy without ever threatening; two big marks and a defeat is a side that had the better of it and lost anyway. Both happen constantly, and both are invisible in the score.

How to read the xG timeline

The steps are chances as they arrived, so the shape shows who was on top and when. A flat line that jumps once near the end is a smash and grab.

Things to watch

The stored prediction is the one made before the match, kept deliberately so it can be judged afterwards. It is not re-fitted with hindsight.

Press esc to close Read the full guide