betaider.com
Sign in

Mainz 05 v Union Berlin — Prediction, Odds & Stats

Sunday 10 May 2026 · GER-Bundesliga · 2526

Bundesliga xG Prediction generated

1–3
2.10 – 2.94 xG
Shots
14 – 16
On target
3 – 9
Shots in box
10 – 12
xG per shot
0.15 – 0.18
Set-piece xG
0.76 – 1.24
Goals − xG
-1.11 – +0.06

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
Mainz 05 win
57.7%
Draw
23.3%
Union Berlin win
19.0%

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

Mainz 05 are finishing below their chances — 3.9 goals fewer than expected across 10 matches, despite creating the openings.

WLWDWLWLWL last 10 scored 21 from 24.9 xG conceded 17 from 18.9 xG

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

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.76–0.90 0% 0% 0% Home ✗
dc-xg-oos 2.18–1.05 2-1 10% 63% 58% 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.81.62.53.30'15'30'45'60'75'90'Andrej Ilic 37' — goalSheraldo Becker 47' — goalOliver Burke 87' — goalJosip Juranovic 90' — goal
Mainz 05 2.11 xGUnion Berlin 2.94 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

Aljoscha Kemlein 1' — Missed Shot (0.06 xG, Open Play)Andrej Ilic 8' — Saved Shot (0.49 xG, From Corner)Tom Rothe 9' — Missed Shot (0.02 xG, Open Play)Danilho Doekhi 16' — Missed Shot (0.06 xG, From Corner)Danilho Doekhi 27' — Saved Shot (0.08 xG, Open Play)Kaishu Sano 31' — Blocked Shot (0.05 xG, From Corner)Stefan Posch 35' — Missed Shot (0.03 xG, From Corner)Andrej Ilic 36' — Blocked Shot (0.02 xG, Open Play)Andrej Ilic 37' — Goal (0.47 xG, From Corner)Ilyas Ansah 38' — Saved Shot (0.04 xG, Open Play)Sheraldo Becker 47' — Goal (0.45 xG, Open Play)Andrej Ilic 48' — Saved Shot (0.11 xG, Set Piece)Sheraldo Becker 49' — Missed Shot (0.02 xG, Open Play)Kacper Potulski 51' — Missed Shot (0.10 xG, Open Play)Kacper Potulski 51' — Saved Shot (0.38 xG, Set Piece)Dominik Kohr 52' — Blocked Shot (0.04 xG, Open Play)Danilho Doekhi 53' — Missed Shot (0.11 xG, From Corner)Anthony Caci 54' — Missed Shot (0.03 xG, Open Play)Kaishu Sano 54' — Saved Shot (0.31 xG, Open Play)Livan Burcu 55' — Saved Shot (0.31 xG, Open Play)Andras Schafer 61' — Saved Shot (0.06 xG, Open Play)Kaishu Sano 64' — Missed Shot (0.11 xG, From Corner)Paul Nebel 69' — Missed Shot (0.40 xG, Open Play)Stefan Posch 80' — Missed Shot (0.02 xG, Set Piece)Andrej Ilic 83' — Shot On Post (0.08 xG, Open Play)Oliver Burke 87' — Goal (0.36 xG, Open Play)Armindo Sieb 89' — Blocked Shot (0.08 xG, From Corner)Nelson Weiper 89' — Blocked Shot (0.08 xG, From Corner)Josip Juranovic 90' — Goal (0.65 xG, Open Play)Tim Skarke 94' — Missed Shot (0.02 xG, Open Play)
Mainz 05 attacking right Union Berlin attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
1' Union Berlin Aljoscha Kemlein 0.06 Open Play Left Foot Missed Shot Oliver Burke
8' Union Berlin Andrej Ilic 0.49 From Corner — Saved Shot Christopher Trimmel
9' Union Berlin Tom Rothe 0.02 Open Play Left Foot Missed Shot Oliver Burke
16' Union Berlin Danilho Doekhi 0.06 From Corner — Missed Shot Christopher Trimmel
27' Union Berlin Danilho Doekhi 0.08 Open Play — Saved Shot Tom Rothe
31' Mainz 05 Kaishu Sano 0.05 From Corner Right Foot Blocked Shot Nadiem Amiri
35' Mainz 05 Stefan Posch 0.03 From Corner — Missed Shot Nadiem Amiri
36' Union Berlin Andrej Ilic 0.02 Open Play — Blocked Shot Christopher Trimmel
37' Union Berlin Andrej Ilic 0.47 From Corner — Goal Aljoscha Kemlein
38' Union Berlin Ilyas Ansah 0.04 Open Play Right Foot Saved Shot —
47' Mainz 05 Sheraldo Becker 0.45 Open Play Left Foot Goal Paul Nebel
48' Union Berlin Andrej Ilic 0.11 Set Piece Left Foot Saved Shot Christopher Trimmel
49' Mainz 05 Sheraldo Becker 0.02 Open Play Right Foot Missed Shot Nadiem Amiri
51' Mainz 05 Kacper Potulski 0.10 Open Play Right Foot Missed Shot Kaishu Sano
51' Mainz 05 Kacper Potulski 0.38 Set Piece — Saved Shot Nadiem Amiri
52' Mainz 05 Dominik Kohr 0.04 Open Play Right Foot Blocked Shot Paul Nebel
53' Union Berlin Danilho Doekhi 0.11 From Corner — Missed Shot Christopher Trimmel
54' Mainz 05 Anthony Caci 0.03 Open Play Left Foot Missed Shot Phillip Tietz
54' Mainz 05 Kaishu Sano 0.31 Open Play Left Foot Saved Shot —
55' Union Berlin Livan Burcu 0.31 Open Play Right Foot Saved Shot —
61' Union Berlin Andras Schafer 0.06 Open Play Left Foot Saved Shot Diogo Leite
64' Mainz 05 Kaishu Sano 0.11 From Corner — Missed Shot Nadiem Amiri
69' Mainz 05 Paul Nebel 0.40 Open Play — Missed Shot Anthony Caci
80' Mainz 05 Stefan Posch 0.02 Set Piece — Missed Shot Nadiem Amiri
83' Union Berlin Andrej Ilic 0.08 Open Play Right Foot Shot On Post Aljoscha Kemlein
87' Union Berlin Oliver Burke 0.36 Open Play Left Foot Goal Andrej Ilic
89' Mainz 05 Armindo Sieb 0.08 From Corner Right Foot Blocked Shot —
89' Mainz 05 Nelson Weiper 0.08 From Corner Left Foot Blocked Shot —
90' Union Berlin Josip Juranovic 0.65 Open Play Right Foot Goal Tim Skarke
94' Union Berlin Tim Skarke 0.02 Open Play Right Foot Missed Shot Derrick Köhn

Players

Mainz 05

PlayerMinGA ShKPxGxA xGChain
Kaishu Sano MC 90 0 0 3 1 0.47 0.10 0.85
Sheraldo Becker FW 90 1 0 2 0 0.47 0.00 0.87
Stefan Posch DC 90 0 0 2 0 0.06 0.00 0.98
Dominik Kohr DC 90 0 0 1 0 0.04 0.00 0.53
Phillip Tietz FW 90 0 0 0 1 0.00 0.03 0.43
Robin Zentner GK 90 0 0 0 0 0.00 0.00 0.15
Nadiem Amiri MC 90 0 0 0 6 0.00 0.62 0.42
Philipp Mwene DML 90 0 0 0 0 0.00 0.00 0.52
Paul Nebel MC 82 0 1 1 2 0.40 0.49 1.00
Anthony Caci DMR 82 0 0 1 1 0.03 0.40 0.98
Kacper Potulski Sub 75 0 0 2 0 0.47 0.00 0.13
Danny da Costa DC 15 0 0 0 0 0.00 0.00 0.00
Nikolas Veratschnig Sub 8 0 0 0 0 0.00 0.00 0.00
Jae-Sung Lee Sub 8 0 0 0 0 0.00 0.00 0.00
Armindo Sieb Sub 1 0 0 1 0 0.08 0.00 0.00
Nelson Weiper Sub 1 0 0 1 0 0.08 0.00 0.00

Union Berlin

PlayerMinGA ShKPxGxA xGChain
Andrej Ilic FW 90 1 1 5 1 1.17 0.36 0.45
Oliver Burke AMR 90 1 0 1 2 0.36 0.09 0.47
Danilho Doekhi DC 90 0 0 3 0 0.24 0.00 0.50
Aljoscha Kemlein DMC 90 0 1 1 2 0.06 0.55 1.23
Carl Klaus GK 90 0 0 0 0 0.00 0.00 0.42
Christopher Trimmel DR 90 0 0 0 5 0.00 0.79 0.22
Rani Khedira DMC 90 0 0 0 0 0.00 0.00 0.14
Diogo Leite DC 90 0 0 0 1 0.00 0.06 0.50
Ilyas Ansah AMC 72 0 0 1 0 0.04 0.00 0.04
Tom Rothe DL 72 0 0 1 1 0.02 0.08 0.10
Livan Burcu AML 71 0 0 1 0 0.31 0.00 0.39
Woo-Yeong Jeong Sub 19 0 0 0 0 0.00 0.00 0.08
Andras Schafer Sub 18 0 0 1 0 0.06 0.00 0.42
Derrick Köhn Sub 18 0 0 0 1 0.00 0.02 0.45
Josip Juranovic Sub 1 1 0 1 0 0.65 0.00 0.72
Tim Skarke Sub 1 0 1 1 1 0.02 0.65 0.67
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