betaider.com
Sign in

Borussia Dortmund v Union Berlin — Prediction, Odds & Stats

Saturday 22 February 2025 · GER-Bundesliga · 2425

Bundesliga xG Prediction generated

6–0
5.44 – 0.37 xG
Shots
24 – 7
On target
8 – 1
Shots in box
20 – 6
xG per shot
0.23 – 0.05
Set-piece xG
0.14 – 0.24
Goals − xG
+0.52 – -0.37

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
Borussia Dortmund win
42.8%
Draw
31.0%
Union Berlin win
26.2%

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 1.46–1.11 0% 0% 0% 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.01.53.14.66.10'15'30'45'60'75'90'Serhou Guirassy 39' — goalSerhou Guirassy 74' — goalSerhou Guirassy 79' — goalSerhou Guirassy 82' — goalMaximilian Beier 88' — goal
Borussia Dortmund 5.48 xGUnion Berlin 0.37 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

Danilho Doekhi 2' — Missed Shot (0.07 xG, From Corner)Karim Adeyemi 6' — Blocked Shot (0.02 xG, Open Play)Pascal Groß 6' — Saved Shot (0.09 xG, Open Play)Julian Ryerson 24' — Missed Shot (0.02 xG, Open Play)Karim Adeyemi 24' — Blocked Shot (0.03 xG, From Corner)Diogo Leite 24' — Own Goal (0.00 xG, Open Play)Benedict Hollerbach 26' — Blocked Shot (0.08 xG, Set Piece)Andrej Ilic 27' — Blocked Shot (0.03 xG, From Corner)Maximilian Beier 28' — Missed Shot (0.03 xG, Open Play)Pascal Groß 28' — Shot On Post (0.62 xG, Open Play)Karim Adeyemi 30' — Blocked Shot (0.02 xG, Open Play)Maximilian Beier 31' — Missed Shot (0.07 xG, Open Play)Benedict Hollerbach 34' — Saved Shot (0.06 xG, Open Play)Karim Adeyemi 35' — Missed Shot (0.30 xG, Open Play)Serhou Guirassy 39' — Goal (0.83 xG, Open Play)Maximilian Beier 41' — Missed Shot (0.15 xG, Open Play)Serhou Guirassy 41' — Blocked Shot (0.12 xG, Open Play)Serhou Guirassy 51' — Missed Shot (0.09 xG, Open Play)Danilho Doekhi 53' — Missed Shot (0.06 xG, From Corner)Serhou Guirassy 56' — Missed Shot (0.06 xG, From Corner)Benedict Hollerbach 60' — Missed Shot (0.07 xG, Open Play)Maximilian Beier 61' — Saved Shot (0.07 xG, Open Play)Pascal Groß 70' — Saved Shot (0.08 xG, Open Play)Maximilian Beier 71' — Missed Shot (0.40 xG, Open Play)Karim Adeyemi 73' — Shot On Post (0.08 xG, Open Play)Serhou Guirassy 74' — Blocked Shot (0.08 xG, Open Play)Serhou Guirassy 74' — Goal (0.30 xG, Open Play)Serhou Guirassy 79' — Goal (0.97 xG, Open Play)Serhou Guirassy 82' — Goal (0.66 xG, Open Play)Salih Özcan 87' — Missed Shot (0.04 xG, From Corner)Maximilian Beier 88' — Goal (0.32 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
2' Union Berlin Danilho Doekhi 0.07 From Corner Missed Shot Josip Juranovic
6' Borussia Dortmund Karim Adeyemi 0.02 Open Play Left Foot Blocked Shot Julian Ryerson
6' Borussia Dortmund Pascal Groß 0.09 Open Play Right Foot Saved Shot Julian Ryerson
24' Borussia Dortmund Julian Ryerson 0.02 Open Play Right Foot Missed Shot Karim Adeyemi
24' Borussia Dortmund Karim Adeyemi 0.03 From Corner Left Foot Blocked Shot
24' Union Berlin Diogo Leite 0.00 Open Play Left Foot Own Goal
26' Union Berlin Benedict Hollerbach 0.08 Set Piece Left Foot Blocked Shot
27' Union Berlin Andrej Ilic 0.03 From Corner Right Foot Blocked Shot
28' Borussia Dortmund Maximilian Beier 0.03 Open Play Missed Shot
28' Borussia Dortmund Pascal Groß 0.63 Open Play Right Foot Shot On Post Karim Adeyemi
30' Borussia Dortmund Karim Adeyemi 0.02 Open Play Left Foot Blocked Shot
31' Borussia Dortmund Maximilian Beier 0.07 Open Play Right Foot Missed Shot Pascal Groß
34' Union Berlin Benedict Hollerbach 0.06 Open Play Left Foot Saved Shot Andras Schafer
35' Borussia Dortmund Karim Adeyemi 0.30 Open Play Left Foot Missed Shot Nico Schlotterbeck
39' Borussia Dortmund Serhou Guirassy 0.83 Open Play Goal Pascal Groß
41' Borussia Dortmund Maximilian Beier 0.15 Open Play Left Foot Missed Shot
41' Borussia Dortmund Serhou Guirassy 0.12 Open Play Right Foot Blocked Shot Karim Adeyemi
51' Borussia Dortmund Serhou Guirassy 0.09 Open Play Right Foot Missed Shot Karim Adeyemi
53' Union Berlin Danilho Doekhi 0.06 From Corner Missed Shot Josip Juranovic
56' Borussia Dortmund Serhou Guirassy 0.06 From Corner Missed Shot Julian Ryerson
60' Union Berlin Benedict Hollerbach 0.07 Open Play Missed Shot Tom Rothe
61' Borussia Dortmund Maximilian Beier 0.07 Open Play Right Foot Saved Shot Pascal Groß
70' Borussia Dortmund Pascal Groß 0.08 Open Play Right Foot Saved Shot
71' Borussia Dortmund Maximilian Beier 0.40 Open Play Right Foot Missed Shot Marcel Sabitzer
73' Borussia Dortmund Karim Adeyemi 0.08 Open Play Right Foot Shot On Post Carney Chukwuemeka
74' Borussia Dortmund Serhou Guirassy 0.08 Open Play Right Foot Blocked Shot
74' Borussia Dortmund Serhou Guirassy 0.30 Open Play Left Foot Goal Pascal Groß
79' Borussia Dortmund Serhou Guirassy 0.97 Open Play Left Foot Goal Maximilian Beier
82' Borussia Dortmund Serhou Guirassy 0.66 Open Play Goal Pascal Groß
87' Borussia Dortmund Salih Özcan 0.04 From Corner Missed Shot Pascal Groß
88' Borussia Dortmund Maximilian Beier 0.32 Open Play Goal Pascal Groß

Players

Borussia Dortmund

PlayerMinGA ShKPxGxA xGChain
Maximilian Beier AML 90 1 1 6 1 1.05 0.97 2.02
Pascal Groß DMC 90 0 4 3 7 0.80 2.30 3.87
Karim Adeyemi AMR 90 0 0 5 4 0.45 0.85 2.09
Nico Schlotterbeck DC 90 0 0 0 1 0.00 0.30 0.94
Gregor Kobel GK 90 0 0 0 0 0.00 0.00 0.30
Emre Can DC 90 0 0 0 0 0.00 0.00 0.54
Serhou Guirassy FW 86 4 0 8 0 3.12 0.00 3.07
Julian Ryerson DR 86 0 0 1 3 0.02 0.17 0.58
Marcel Sabitzer DMC 86 0 0 0 1 0.00 0.40 1.78
Giovanni Reyna AMC 71 0 0 0 0 0.00 0.00 0.16
Ramy Bensebaini DL 71 0 0 0 0 0.00 0.00 0.94
Carney Chukwuemeka Sub 19 0 0 0 1 0.00 0.08 1.45
Daniel Svensson Sub 19 0 0 0 0 0.00 0.00 0.40
Salih Özcan Sub 4 0 0 1 0 0.04 0.00 0.00
Jamie Bynoe-Gittens Sub 4 0 0 0 0 0.00 0.00 0.00
Yan Couto Sub 4 0 0 0 0 0.00 0.00 0.32

Union Berlin

PlayerMinGA ShKPxGxA xGChain
Danilho Doekhi DC 90 0 0 2 0 0.13 0.00 0.00
Andrej Ilic FW 90 0 0 1 0 0.03 0.00 0.00
Josip Juranovic DR 90 0 0 0 2 0.00 0.13 0.00
Tom Rothe DL 90 0 0 0 1 0.00 0.07 0.07
Diogo Leite DC 90 0 0 0 0 0.00 0.00 0.00
Frederik Rönnow GK 90 0 0 0 0 0.00 0.00 0.00
Andras Schafer AMC 83 0 0 0 1 0.00 0.06 0.06
Benedict Hollerbach AML 73 0 0 3 0 0.21 0.00 0.13
Woo-Yeong Jeong AMR 73 0 0 0 0 0.00 0.00 0.00
Lucas Tousart DMC 59 0 0 0 0 0.00 0.00 0.00
Rani Khedira DMC 58 0 0 0 0 0.00 0.00 0.00
László Bénes Sub 32 0 0 0 0 0.00 0.00 0.07
Janik Haberer Sub 31 0 0 0 0 0.00 0.00 0.00
Tim Skarke Sub 17 0 0 0 0 0.00 0.00 0.00
Marin Ljubicic Sub 17 0 0 0 0 0.00 0.00 0.00
Leopold Querfeld Sub 7 0 0 0 0 0.00 0.00 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