betaider.com
Sign in

Borussia Dortmund v Union Berlin — Prediction, Odds & Stats

Sunday 31 August 2025 · GER-Bundesliga · 2526

Bundesliga xG Prediction generated

3–0
1.83 – 0.97 xG
Shots
11 – 12
On target
6 – 3
Shots in box
9 – 8
xG per shot
0.17 – 0.08
Set-piece xG
0.13 – 0.37
Goals − xG
+1.17 – -0.97

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
Borussia Dortmund win
63.6%
Draw
20.6%
Union Berlin win
15.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

Borussia Dortmund are finishing below their chances — 2.3 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.7 goals saved beyond what the chances suggest.

WWLLWLWWWW last 10 scored 20 from 22.3 xG conceded 10 from 12.7 xG

Union Berlin have scored 16 from 14.7 expected and conceded 23 from 23.0 — both ends in line with the chances, so the recent record is a fair reflection.

LDLLLDWWDL last 10 scored 16 from 14.7 xG conceded 23 from 23.0 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 2.29–1.08 0% 0% 0% Home ✓
dc-xg-oos 2.32–0.99 2-0 10% 64% 57% Home ✓

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.10'15'30'45'60'75'90'Serhou Guirassy 43' — goalSerhou Guirassy 57' — goalFelix Nmecha 80' — goal
Borussia Dortmund 1.83 xGUnion Berlin 0.97 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 3' — Missed Shot (0.09 xG, Open Play)Christopher Trimmel 5' — Missed Shot (0.01 xG, Open Play)Serhou Guirassy 15' — Missed Shot (0.06 xG, Open Play)Serhou Guirassy 22' — Saved Shot (0.32 xG, Open Play)Janik Haberer 32' — Blocked Shot (0.03 xG, Set Piece)Danilho Doekhi 33' — Blocked Shot (0.06 xG, From Corner)Yan Couto 35' — Blocked Shot (0.02 xG, Open Play)Serhou Guirassy 36' — Blocked Shot (0.06 xG, From Corner)Serhou Guirassy 38' — Blocked Shot (0.14 xG, Open Play)Serhou Guirassy 38' — Saved Shot (0.05 xG, Open Play)Andrej Ilic 41' — Missed Shot (0.41 xG, Open Play)Serhou Guirassy 43' — Goal (0.58 xG, Open Play)Andrej Ilic 46' — Saved Shot (0.07 xG, From Corner)Andrej Ilic 47' — Missed Shot (0.03 xG, From Corner)Tom Rothe 47' — Saved Shot (0.10 xG, From Corner)Serhou Guirassy 55' — Saved Shot (0.08 xG, Open Play)Serhou Guirassy 57' — Goal (0.37 xG, Open Play)Janik Haberer 62' — Blocked Shot (0.03 xG, From Corner)Marcel Sabitzer 78' — Missed Shot (0.09 xG, Open Play)Felix Nmecha 80' — Goal (0.07 xG, From Corner)Leopold Querfeld 83' — Saved Shot (0.02 xG, From Corner)Leopold Querfeld 91' — Missed Shot (0.04 xG, Direct Freekick)Andrej Ilic 92' — Missed Shot (0.09 xG, Open Play)
Borussia Dortmund attacking right Union Berlin attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
3' Union Berlin Andrej Ilic 0.09 Open Play Missed Shot Christopher Trimmel
5' Union Berlin Christopher Trimmel 0.01 Open Play Right Foot Missed Shot Ilyas Ansah
15' Borussia Dortmund Serhou Guirassy 0.06 Open Play Right Foot Missed Shot Yan Couto
22' Borussia Dortmund Serhou Guirassy 0.32 Open Play Right Foot Saved Shot
32' Union Berlin Janik Haberer 0.03 Set Piece Right Foot Blocked Shot Ilyas Ansah
33' Union Berlin Danilho Doekhi 0.06 From Corner Blocked Shot Christopher Trimmel
35' Borussia Dortmund Yan Couto 0.02 Open Play Right Foot Blocked Shot
36' Borussia Dortmund Serhou Guirassy 0.06 From Corner Blocked Shot Julian Brandt
38' Borussia Dortmund Serhou Guirassy 0.14 Open Play Left Foot Blocked Shot Julian Brandt
38' Borussia Dortmund Serhou Guirassy 0.05 Open Play Saved Shot
41' Union Berlin Andrej Ilic 0.41 Open Play Right Foot Missed Shot
43' Borussia Dortmund Serhou Guirassy 0.58 Open Play Right Foot Goal Yan Couto
46' Union Berlin Andrej Ilic 0.07 From Corner Saved Shot Christopher Trimmel
47' Union Berlin Andrej Ilic 0.03 From Corner Missed Shot Christopher Trimmel
47' Union Berlin Tom Rothe 0.10 From Corner Left Foot Saved Shot Andrej Ilic
55' Borussia Dortmund Serhou Guirassy 0.08 Open Play Right Foot Saved Shot Ramy Bensebaini
57' Borussia Dortmund Serhou Guirassy 0.37 Open Play Left Foot Goal Maximilian Beier
62' Union Berlin Janik Haberer 0.03 From Corner Right Foot Blocked Shot
78' Borussia Dortmund Marcel Sabitzer 0.09 Open Play Right Foot Missed Shot Julian Ryerson
80' Borussia Dortmund Felix Nmecha 0.07 From Corner Right Foot Goal
83' Union Berlin Leopold Querfeld 0.02 From Corner Saved Shot Aljoscha Kemlein
91' Union Berlin Leopold Querfeld 0.04 Direct Freekick Right Foot Missed Shot
92' Union Berlin Andrej Ilic 0.09 Open Play Missed Shot Woo-Yeong Jeong

Players

Borussia Dortmund

PlayerMinGA ShKPxGxA xGChain
Serhou Guirassy FW 90 2 0 8 0 1.65 0.00 1.59
Marcel Sabitzer MC 90 0 0 1 0 0.09 0.00 0.24
Yan Couto DMR 90 0 1 1 2 0.02 0.63 0.89
Daniel Svensson DML 90 0 0 0 0 0.00 0.00 0.57
Waldemar Anton DC 90 0 0 0 0 0.00 0.00 0.66
Gregor Kobel GK 90 0 0 0 0 0.00 0.00 0.06
Julian Brandt AMC 90 0 0 0 2 0.00 0.20 0.30
Ramy Bensebaini DC 90 0 0 0 2 0.00 0.08 1.32
Maximilian Beier AMC 81 0 1 0 1 0.00 0.37 0.51
Aaron Anselmino DC 80 0 0 0 0 0.00 0.00 1.00
Jobe Bellingham MC 75 0 0 0 0 0.00 0.00 0.57
Felix Nmecha Sub 15 1 0 1 0 0.07 0.00 0.09
Julian Ryerson Sub 10 0 0 0 1 0.00 0.09 0.09
Carney Chukwuemeka Sub 9 0 0 0 0 0.00 0.00 0.09
Karim Adeyemi Sub 1 0 0 0 0 0.00 0.00 0.00
Pascal Groß Sub 1 0 0 0 0 0.00 0.00 0.00

Union Berlin

PlayerMinGA ShKPxGxA xGChain
Andrej Ilic FW 90 0 0 5 1 0.69 0.10 0.61
Tom Rothe DC 90 0 0 1 0 0.10 0.00 0.01
Leopold Querfeld DC 90 0 0 2 0 0.06 0.00 0.00
Danilho Doekhi DC 90 0 0 1 0 0.06 0.00 0.01
Rani Khedira MC 90 0 0 0 0 0.00 0.00 0.11
Frederik Rönnow GK 90 0 0 0 0 0.00 0.00 0.01
Janik Haberer MC 86 0 0 2 0 0.06 0.00 0.01
Robert Skov DL 74 0 0 0 0 0.00 0.00 0.00
Ilyas Ansah FW 74 0 0 0 2 0.00 0.04 0.01
Christopher Trimmel DR 68 0 0 1 4 0.01 0.25 0.11
Alex Kral MC 68 0 0 0 0 0.00 0.00 0.09
Tim Skarke Sub 22 0 0 0 0 0.00 0.00 0.00
Woo-Yeong Jeong Sub 22 0 0 0 1 0.00 0.09 0.09
Oliver Burke Sub 16 0 0 0 0 0.00 0.00 0.09
Derrick Köhn Sub 16 0 0 0 0 0.00 0.00 0.00
Aljoscha Kemlein Sub 4 0 0 0 1 0.00 0.02 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