Mainz 05 v Union Berlin — Prediction, Odds & Stats
Sunday 10 May 2026 · GER-Bundesliga · 2526
Bundesliga
xG Prediction generated
AI prediction
ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.Probabilities, not certainties. How they are made: the methodology.
Was this pick made in advance?
-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.
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.
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
| Model | Home / Draw / Away | Expected goals | Likeliest score | O2.5 | BTTS | Outcome |
|---|---|---|---|---|---|---|
| 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
Expected goals by minute
Reading the shot map
Shot map
Every shot
| Min | Team | Player | xG | Situation | Body part | Result | Assisted by |
|---|---|---|---|---|---|---|---|
| 1' |
|
Aljoscha Kemlein | 0.06 | Open Play | Left Foot | Missed Shot | Oliver Burke |
| 8' |
|
Andrej Ilic | 0.49 | From Corner | — | Saved Shot | Christopher Trimmel |
| 9' |
|
Tom Rothe | 0.02 | Open Play | Left Foot | Missed Shot | Oliver Burke |
| 16' |
|
Danilho Doekhi | 0.06 | From Corner | — | Missed Shot | Christopher Trimmel |
| 27' |
|
Danilho Doekhi | 0.08 | Open Play | — | Saved Shot | Tom Rothe |
| 31' |
|
Kaishu Sano | 0.05 | From Corner | Right Foot | Blocked Shot | Nadiem Amiri |
| 35' |
|
Stefan Posch | 0.03 | From Corner | — | Missed Shot | Nadiem Amiri |
| 36' |
|
Andrej Ilic | 0.02 | Open Play | — | Blocked Shot | Christopher Trimmel |
| 37' |
|
Andrej Ilic | 0.47 | From Corner | — | Goal | Aljoscha Kemlein |
| 38' |
|
Ilyas Ansah | 0.04 | Open Play | Right Foot | Saved Shot | — |
| 47' |
|
Sheraldo Becker | 0.45 | Open Play | Left Foot | Goal | Paul Nebel |
| 48' |
|
Andrej Ilic | 0.11 | Set Piece | Left Foot | Saved Shot | Christopher Trimmel |
| 49' |
|
Sheraldo Becker | 0.02 | Open Play | Right Foot | Missed Shot | Nadiem Amiri |
| 51' |
|
Kacper Potulski | 0.10 | Open Play | Right Foot | Missed Shot | Kaishu Sano |
| 51' |
|
Kacper Potulski | 0.38 | Set Piece | — | Saved Shot | Nadiem Amiri |
| 52' |
|
Dominik Kohr | 0.04 | Open Play | Right Foot | Blocked Shot | Paul Nebel |
| 53' |
|
Danilho Doekhi | 0.11 | From Corner | — | Missed Shot | Christopher Trimmel |
| 54' |
|
Anthony Caci | 0.03 | Open Play | Left Foot | Missed Shot | Phillip Tietz |
| 54' |
|
Kaishu Sano | 0.31 | Open Play | Left Foot | Saved Shot | — |
| 55' |
|
Livan Burcu | 0.31 | Open Play | Right Foot | Saved Shot | — |
| 61' |
|
Andras Schafer | 0.06 | Open Play | Left Foot | Saved Shot | Diogo Leite |
| 64' |
|
Kaishu Sano | 0.11 | From Corner | — | Missed Shot | Nadiem Amiri |
| 69' |
|
Paul Nebel | 0.40 | Open Play | — | Missed Shot | Anthony Caci |
| 80' |
|
Stefan Posch | 0.02 | Set Piece | — | Missed Shot | Nadiem Amiri |
| 83' |
|
Andrej Ilic | 0.08 | Open Play | Right Foot | Shot On Post | Aljoscha Kemlein |
| 87' |
|
Oliver Burke | 0.36 | Open Play | Left Foot | Goal | Andrej Ilic |
| 89' |
|
Armindo Sieb | 0.08 | From Corner | Right Foot | Blocked Shot | — |
| 89' |
|
Nelson Weiper | 0.08 | From Corner | Left Foot | Blocked Shot | — |
| 90' |
|
Josip Juranovic | 0.65 | Open Play | Right Foot | Goal | Tim Skarke |
| 94' |
|
Tim Skarke | 0.02 | Open Play | Right Foot | Missed Shot | Derrick Köhn |
Players
Mainz 05
| Player | Min | G | A | Sh | KP | xG | xA | 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
| Player | Min | G | A | Sh | KP | xG | xA | 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 |