Wolfsburg v Werder Bremen — Prediction, Odds & Stats
Saturday 21 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
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.
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.
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.41–1.49 | 0% | 0% | 0% | Away ✓ | |
| dc-xg-oos | 1.57–1.44 | 1-1 11% | 58% | 60% | 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 |
|---|---|---|---|---|---|---|---|
| 11' |
|
Cameron Puertas | 0.14 | Direct Freekick | Right Foot | Saved Shot | — |
| 11' |
|
Yukinari Sugawara | 0.02 | Set Piece | Right Foot | Saved Shot | — |
| 15' |
|
Jonas Wind | 0.30 | From Corner | — | Saved Shot | Christian Eriksen |
| 20' |
|
Mohammed Amoura | 0.02 | Open Play | Right Foot | Blocked Shot | Vinicius Souza |
| 21' |
|
Justin Njinmah | 0.04 | Open Play | Left Foot | Missed Shot | Cameron Puertas |
| 32' |
|
Leonardo Bittencourt | 0.07 | Open Play | Right Foot | Missed Shot | Marco Grüll |
| 43' |
|
Christian Eriksen | 0.04 | Direct Freekick | Right Foot | Saved Shot | — |
| 44' |
|
Marco Grüll | 0.04 | Open Play | Right Foot | Blocked Shot | — |
| 46' |
|
Jesper Lindstrom | 0.05 | Open Play | Left Foot | Saved Shot | Konstantinos Koulierakis |
| 48' |
|
Jesper Lindstrom | 0.06 | Open Play | — | Missed Shot | Sael Kumbedi |
| 48' |
|
Joakim Maehle | 0.05 | Open Play | Right Foot | Saved Shot | Jonas Wind |
| 55' |
|
Christian Eriksen | 0.06 | Open Play | Right Foot | Blocked Shot | Mohammed Amoura |
| 59' |
|
Mohammed Amoura | 0.25 | Open Play | Right Foot | Missed Shot | Konstantinos Koulierakis |
| 67' |
|
Justin Njinmah | 0.06 | Open Play | Left Foot | Goal | — |
| 76' |
|
Lovro Majer | 0.11 | Open Play | Left Foot | Missed Shot | Joakim Maehle |
| 77' |
|
Olivier Deman | 0.03 | Open Play | Left Foot | Blocked Shot | Justin Njinmah |
| 78' |
|
Romano Schmid | 0.02 | From Corner | Right Foot | Missed Shot | — |
| 80' |
|
Maximilian Arnold | 0.06 | Open Play | Left Foot | Blocked Shot | Kento Shiogai |
| 86' |
|
Christian Eriksen | 0.05 | Direct Freekick | Right Foot | Blocked Shot | — |
Players
Werder Bremen
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Cameron Puertas DMC | 90 | 0 | 0 | 1 | 1 | 0.14 | 0.04 | 0.04 |
| Leonardo Bittencourt DMC | 90 | 0 | 0 | 1 | 0 | 0.07 | 0.00 | 0.07 |
| Marco Grüll AMR | 90 | 0 | 0 | 1 | 1 | 0.04 | 0.07 | 0.11 |
| Olivier Deman DL | 90 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.11 |
| Romano Schmid AMC | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.03 |
| Yukinari Sugawara DR | 90 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.00 |
| Marco Friedl DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Mio Backhaus GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Justin Njinmah FW | 86 | 1 | 0 | 2 | 1 | 0.09 | 0.03 | 0.20 |
| Samuel Mbangula AML | 62 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Niklas Stark DC | 62 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Felix Agu Sub | 28 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Karim Coulibaly Sub | 28 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Salim Musah Sub | 4 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Mick Schmetgens Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Wolfsburg
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Christian Eriksen MC | 90 | 0 | 0 | 3 | 1 | 0.15 | 0.30 | 0.43 |
| Sael Kumbedi DMR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.06 | 0.55 |
| Jeanuël Belocian DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.43 |
| Moritz Jenz DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.25 |
| Konstantinos Koulierakis DC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.30 | 0.37 |
| Kamil Grabara GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Joakim Maehle DML | 80 | 0 | 0 | 1 | 1 | 0.05 | 0.11 | 0.27 |
| Vinicius Souza MC | 80 | 0 | 0 | 0 | 1 | 0.00 | 0.02 | 0.18 |
| Mohammed Amoura AMC | 75 | 0 | 0 | 2 | 1 | 0.27 | 0.06 | 0.43 |
| Jonas Wind FW | 74 | 0 | 0 | 1 | 1 | 0.30 | 0.05 | 0.10 |
| Jesper Lindstrom AMC | 65 | 0 | 0 | 2 | 0 | 0.11 | 0.00 | 0.38 |
| Patrick Wimmer Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Lovro Majer Sub | 16 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.11 |
| Kento Shiogai Sub | 15 | 0 | 0 | 0 | 1 | 0.00 | 0.06 | 0.06 |
| Maximilian Arnold Sub | 10 | 0 | 0 | 1 | 0 | 0.06 | 0.00 | 0.06 |
| Adam Daghim Sub | 10 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |