betaider.com
Sign in

Borussia Dortmund v Wolfsburg — Prediction, Odds & Stats

Saturday 3 May 2025 · GER-Bundesliga · 2425

Bundesliga xG Prediction generated

4–0
2.55 – 1.36 xG
Shots
11 – 11
On target
5 – 2
Shots in box
10 – 7
xG per shot
0.23 – 0.12
Set-piece xG
0.00 – 0.02
Goals − xG
+1.45 – -1.36

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
Borussia Dortmund win
49.0%
Draw
24.1%
Wolfsburg win
26.9%

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

Wolfsburg are finishing sharply below their chances — 6.8 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.2 goals saved beyond what the chances suggest.

LDLLLWDDLW last 10 scored 12 from 18.8 xG conceded 16 from 18.2 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.84–1.32 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.00.71.42.12.90'15'30'45'60'75'90'Serhou Guirassy 2' — goalSerhou Guirassy 58' — goalKarim Adeyemi 68' — goalKarim Adeyemi 72' — goal
Borussia Dortmund 2.55 xGWolfsburg 1.36 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

Serhou Guirassy 2' — Goal (0.43 xG, Open Play)Konstantinos Koulierakis 7' — Missed Shot (0.01 xG, Open Play)Konstantinos Koulierakis 8' — Missed Shot (0.02 xG, Open Play)Patrick Wimmer 9' — Missed Shot (0.08 xG, Open Play)Lukas Nmecha 11' — Saved Shot (0.01 xG, Open Play)Pascal Groß 29' — Blocked Shot (0.04 xG, Open Play)Tiago Tomás 39' — Blocked Shot (0.03 xG, Open Play)Andreas Skov Olsen 47' — Missed Shot (0.26 xG, Open Play)Serhou Guirassy 53' — Missed Shot (0.10 xG, Open Play)Daniel Svensson 55' — Missed Shot (0.13 xG, Open Play)Serhou Guirassy 58' — Goal (0.54 xG, Open Play)Julian Brandt 60' — Missed Shot (0.10 xG, Open Play)Joakim Maehle 62' — Missed Shot (0.51 xG, Open Play)Felix Nmecha 68' — Blocked Shot (0.04 xG, Open Play)Karim Adeyemi 68' — Goal (0.52 xG, Open Play)Konstantinos Koulierakis 71' — Missed Shot (0.02 xG, From Corner)Karim Adeyemi 72' — Goal (0.40 xG, Open Play)Mohammed Amoura 74' — Missed Shot (0.04 xG, Open Play)Jonas Wind 76' — Missed Shot (0.08 xG, Open Play)Julien Duranville 82' — Saved Shot (0.10 xG, Open Play)Julien Duranville 87' — Blocked Shot (0.15 xG, Open Play)Jonas Wind 90' — Saved Shot (0.29 xG, Open Play)
Borussia Dortmund attacking right Wolfsburg attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
2' Borussia Dortmund Serhou Guirassy 0.43 Open Play Right Foot Goal Julian Brandt
7' Wolfsburg Konstantinos Koulierakis 0.01 Open Play Left Foot Missed Shot Kilian Fischer
8' Wolfsburg Konstantinos Koulierakis 0.02 Open Play Left Foot Missed Shot
9' Wolfsburg Patrick Wimmer 0.08 Open Play Left Foot Missed Shot
11' Wolfsburg Lukas Nmecha 0.02 Open Play Right Foot Saved Shot Kilian Fischer
29' Borussia Dortmund Pascal Groß 0.04 Open Play Blocked Shot
39' Wolfsburg Tiago Tomás 0.03 Open Play Right Foot Blocked Shot Patrick Wimmer
47' Wolfsburg Andreas Skov Olsen 0.26 Open Play Right Foot Missed Shot Tiago Tomás
53' Borussia Dortmund Serhou Guirassy 0.10 Open Play Right Foot Missed Shot Julian Ryerson
55' Borussia Dortmund Daniel Svensson 0.13 Open Play Right Foot Missed Shot Julian Ryerson
58' Borussia Dortmund Serhou Guirassy 0.54 Open Play Right Foot Goal Pascal Groß
60' Borussia Dortmund Julian Brandt 0.10 Open Play Right Foot Missed Shot Pascal Groß
62' Wolfsburg Joakim Maehle 0.51 Open Play Missed Shot Bence Dárdai
68' Borussia Dortmund Felix Nmecha 0.04 Open Play Right Foot Blocked Shot Julian Ryerson
68' Borussia Dortmund Karim Adeyemi 0.52 Open Play Left Foot Goal Ramy Bensebaini
71' Wolfsburg Konstantinos Koulierakis 0.02 From Corner Missed Shot Lovro Majer
72' Borussia Dortmund Karim Adeyemi 0.40 Open Play Left Foot Goal Julian Brandt
74' Wolfsburg Mohammed Amoura 0.04 Open Play Right Foot Missed Shot Andreas Skov Olsen
76' Wolfsburg Jonas Wind 0.08 Open Play Right Foot Missed Shot Andreas Skov Olsen
82' Borussia Dortmund Julien Duranville 0.10 Open Play Right Foot Saved Shot Karim Adeyemi
87' Borussia Dortmund Julien Duranville 0.15 Open Play Left Foot Blocked Shot Emre Can
90' Wolfsburg Jonas Wind 0.29 Open Play Right Foot Saved Shot Lovro Majer

Players

Borussia Dortmund

PlayerMinGA ShKPxGxA xGChain
Daniel Svensson DML 90 0 0 1 0 0.13 0.00 0.66
Ramy Bensebaini DC 90 0 1 0 1 0.00 0.52 1.55
Niklas Süle DC 90 0 0 0 0 0.00 0.00 0.76
Waldemar Anton DC 90 0 0 0 0 0.00 0.00 0.73
Julian Ryerson DMR 90 0 0 0 3 0.00 0.28 0.92
Gregor Kobel GK 90 0 0 0 0 0.00 0.00 0.60
Serhou Guirassy FW 85 2 0 3 0 1.07 0.00 1.46
Pascal Groß MC 85 0 1 1 2 0.04 0.64 0.83
Julian Brandt AMC 79 0 2 1 2 0.10 0.82 1.69
Felix Nmecha MC 79 0 0 1 0 0.04 0.00 1.09
Jamie Bynoe-Gittens AMC 70 0 0 0 0 0.00 0.00 0.43
Karim Adeyemi Sub 20 2 0 2 1 0.91 0.10 1.01
Julien Duranville Sub 11 0 0 2 0 0.25 0.00 0.25
Emre Can Sub 11 0 0 0 1 0.00 0.15 0.25
Marcel Sabitzer Sub 5 0 0 0 0 0.00 0.00 0.10
Carney Chukwuemeka Sub 5 0 0 0 0 0.00 0.00 0.10

Wolfsburg

PlayerMinGA ShKPxGxA xGChain
Joakim Maehle DML 90 0 0 1 0 0.51 0.00 0.53
Andreas Skov Olsen DMR 90 0 0 1 2 0.26 0.12 0.70
Konstantinos Koulierakis DC 90 0 0 3 0 0.05 0.00 0.07
Aster Vranckx MC 90 0 0 0 0 0.00 0.00 0.04
Bence Dárdai MC 90 0 0 0 1 0.00 0.51 0.51
Kamil Grabara GK 90 0 0 0 0 0.00 0.00 0.00
Kilian Fischer DC 79 0 0 0 2 0.00 0.03 0.10
Denis Vavro DC 79 0 0 0 0 0.00 0.00 0.04
Patrick Wimmer MC 73 0 0 1 1 0.08 0.03 0.89
Tiago Tomás FW 73 0 0 1 1 0.03 0.26 0.30
Lukas Nmecha FW 73 0 0 1 0 0.02 0.00 0.02
Jonas Wind Sub 17 0 0 2 0 0.38 0.00 0.38
Mohammed Amoura Sub 17 0 0 1 0 0.04 0.00 0.04
Lovro Majer Sub 17 0 0 0 2 0.00 0.32 0.38
David Odogu Sub 11 0 0 0 0 0.00 0.00 0.29
Mads Roerslev Sub 11 0 0 0 0 0.00 0.00 0.29
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