Werder Bremen v Mainz 05 — Prediction, Odds & Stats
Sunday 15 March 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
Werder Bremen are finishing above their chances — 2.7 goals more than expected across 10 matches, which usually cools off. They are also conceding fewer than expected — 3.4 goals saved beyond what the chances suggest.
Mainz 05 are finishing sharply below their chances — 5.4 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 3.3 goals saved beyond what the chances suggest.
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.28–1.21 | 0% | 0% | 0% | Home ✗ | |
| dc-xg-oos | 1.76–1.42 | 1-1 10% | 61% | 63% | 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' |
|
Stefan Posch | 0.05 | Open Play | — | Missed Shot | Silvan Widmer |
| 3' |
|
Keke Maximilian Topp | 0.08 | Set Piece | Left Foot | Saved Shot | Cameron Puertas |
| 4' |
|
Paul Nebel | 0.37 | Open Play | — | Goal | Philipp Mwene |
| 6' |
|
Marco Grüll | 0.05 | Open Play | Right Foot | Blocked Shot | Keke Maximilian Topp |
| 7' |
|
Leonardo Bittencourt | 0.03 | From Corner | — | Shot On Post | Cameron Puertas |
| 15' |
|
Phillip Tietz | 0.38 | Open Play | Left Foot | Missed Shot | Kaishu Sano |
| 21' |
|
Romano Schmid | 0.09 | Open Play | Right Foot | Saved Shot | — |
| 23' |
|
Kaishu Sano | 0.04 | From Corner | Left Foot | Missed Shot | — |
| 24' |
|
Stefan Posch | 0.08 | Open Play | Right Foot | Blocked Shot | Paul Nebel |
| 30' |
|
Jens Stage | 0.04 | From Corner | — | Blocked Shot | — |
| 30' |
|
Keke Maximilian Topp | 0.07 | From Corner | — | Missed Shot | Cameron Puertas |
| 47' |
|
Marco Grüll | 0.07 | Open Play | Right Foot | Missed Shot | Jens Stage |
| 50' |
|
Phillip Tietz | 0.24 | Open Play | — | Missed Shot | Sheraldo Becker |
| 51' |
|
Jae-Sung Lee | 0.61 | Open Play | Left Foot | Goal | Sheraldo Becker |
| 60' |
|
Olivier Deman | 0.07 | Open Play | — | Missed Shot | Yukinari Sugawara |
| 61' |
|
Cameron Puertas | 0.02 | Set Piece | Right Foot | Blocked Shot | — |
| 63' |
|
Justin Njinmah | 0.04 | Open Play | Left Foot | Missed Shot | Romano Schmid |
| 66' |
|
Jae-Sung Lee | 0.14 | Open Play | Left Foot | Blocked Shot | Paul Nebel |
| 66' |
|
Jae-Sung Lee | 0.12 | Open Play | Left Foot | Blocked Shot | — |
| 67' |
|
Sheraldo Becker | 0.01 | From Corner | Right Foot | Blocked Shot | — |
| 70' |
|
Jens Stage | 0.08 | Open Play | Right Foot | Saved Shot | Marco Grüll |
| 73' |
|
Sheraldo Becker | 0.03 | Open Play | Left Foot | Blocked Shot | Paul Nebel |
| 77' |
|
Justin Njinmah | 0.03 | Open Play | Right Foot | Missed Shot | Isaac Schmidt |
| 83' |
|
Olivier Deman | 0.07 | Open Play | Right Foot | Blocked Shot | Marco Grüll |
| 85' |
|
Salim Musah | 0.02 | Open Play | Right Foot | Blocked Shot | — |
| 89' |
|
Patrice Covic | 0.11 | Open Play | Right Foot | Blocked Shot | Olivier Deman |
| 90' |
|
Romano Schmid | 0.02 | From Corner | Right Foot | Missed Shot | Cameron Puertas |
Players
Werder Bremen
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Olivier Deman DL | 90 | 0 | 0 | 2 | 1 | 0.13 | 0.11 | 0.31 |
| Jens Stage MC | 90 | 0 | 0 | 2 | 1 | 0.12 | 0.07 | 0.22 |
| Romano Schmid ML | 90 | 0 | 0 | 2 | 1 | 0.12 | 0.04 | 0.39 |
| Cameron Puertas MC | 90 | 0 | 0 | 1 | 4 | 0.02 | 0.21 | 0.24 |
| Mio Backhaus GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.11 |
| Marco Friedl DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.32 |
| Marco Grüll MR | 87 | 0 | 0 | 2 | 2 | 0.12 | 0.14 | 0.27 |
| Yukinari Sugawara DR | 71 | 0 | 0 | 0 | 1 | 0.00 | 0.07 | 0.07 |
| Leonardo Bittencourt MC | 70 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.11 |
| Julián Malatini DC | 57 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Keke Maximilian Topp FW | 48 | 0 | 0 | 2 | 1 | 0.16 | 0.05 | 0.05 |
| Justin Njinmah Sub | 42 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.28 |
| Mick Schmetgens Sub | 33 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.24 |
| Patrice Covic Sub | 20 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.28 |
| Isaac Schmidt Sub | 19 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.09 |
| Salim Musah Sub | 3 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.02 |
Mainz 05
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Paul Nebel MC | 90 | 1 | 0 | 1 | 3 | 0.37 | 0.25 | 1.29 |
| Stefan Posch DC | 90 | 0 | 0 | 2 | 0 | 0.13 | 0.00 | 0.13 |
| Kaishu Sano MC | 90 | 0 | 0 | 1 | 1 | 0.04 | 0.38 | 1.31 |
| Dominik Kohr DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.24 |
| Danny da Costa DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.24 |
| Daniel Batz GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jae-Sung Lee MC | 89 | 1 | 0 | 3 | 0 | 0.87 | 0.00 | 1.11 |
| Sheraldo Becker FW | 89 | 0 | 1 | 2 | 2 | 0.05 | 0.85 | 1.31 |
| Silvan Widmer DMR | 83 | 0 | 0 | 0 | 1 | 0.00 | 0.05 | 0.67 |
| Phillip Tietz FW | 74 | 0 | 0 | 2 | 0 | 0.62 | 0.00 | 1.23 |
| Philipp Mwene DML | 74 | 0 | 1 | 0 | 1 | 0.00 | 0.37 | 0.42 |
| Nelson Weiper Sub | 16 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.03 |
| Nikolas Veratschnig Sub | 16 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Kacper Potulski Sub | 7 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Sota Kawasaki Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Lennard Maloney Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |