Hoffenheim v Werder Bremen — Prediction, Odds & Stats
Saturday 9 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
Hoffenheim are finishing below their chances — 2.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding sharply more than the chances against them merit — 5.9 goals above expected, which tends to correct.
Werder Bremen have scored 16 from 14.5 expected and conceded 20 from 20.1 — 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 | 2.00–1.02 | 0% | 0% | 0% | Home ✓ | |
| dc-xg-oos | 1.99–1.11 | 1-1 10% | 60% | 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 |
|---|---|---|---|---|---|---|---|
| 9' |
|
Fisnik Asllani | 0.08 | Open Play | Left Foot | Missed Shot | Leon Avdullahu |
| 12' |
|
Wouter Burger | 0.11 | Open Play | Left Foot | Missed Shot | Vladimir Coufal |
| 13' |
|
Olivier Deman | 0.02 | Open Play | Right Foot | Missed Shot | Cameron Puertas |
| 18' |
|
Vladimir Coufal | 0.04 | From Corner | Right Foot | Blocked Shot | — |
| 24' |
|
Andrej Kramaric | 0.12 | Open Play | — | Missed Shot | Vladimir Coufal |
| 25' |
|
Bazoumana Touré | 0.04 | From Corner | Left Foot | Goal | Andrej Kramaric |
| 28' |
|
Olivier Deman | 0.03 | Open Play | Left Foot | Saved Shot | Romano Schmid |
| 28' |
|
Senne Lynen | 0.02 | Open Play | Right Foot | Missed Shot | Cameron Puertas |
| 29' |
|
Justin Njinmah | 0.09 | Open Play | Right Foot | Missed Shot | Romano Schmid |
| 31' |
|
Fisnik Asllani | 0.11 | Open Play | Right Foot | Saved Shot | Ozan Kabak |
| 33' |
|
Fisnik Asllani | 0.04 | Open Play | Right Foot | Missed Shot | Wouter Burger |
| 37' |
|
Wouter Burger | 0.02 | Open Play | Left Foot | Missed Shot | Tim Lemperle |
| 45' |
|
Tim Lemperle | 0.39 | Open Play | — | Missed Shot | Vladimir Coufal |
| 46' |
|
Tim Lemperle | 0.14 | Open Play | Left Foot | Saved Shot | Vladimir Coufal |
| 47' |
|
Justin Njinmah | 0.10 | Open Play | Right Foot | Blocked Shot | Cameron Puertas |
| 48' |
|
Justin Njinmah | 0.11 | Open Play | Right Foot | Missed Shot | Romano Schmid |
| 49' |
|
Justin Njinmah | 0.54 | Open Play | Right Foot | Saved Shot | Olivier Deman |
| 52' |
|
Justin Njinmah | 0.04 | Open Play | Right Foot | Blocked Shot | Senne Lynen |
| 54' |
|
Justin Njinmah | 0.05 | Open Play | Left Foot | Blocked Shot | Romano Schmid |
| 60' |
|
Alexander Prass | 0.02 | From Corner | Left Foot | Saved Shot | Wouter Burger |
| 60' |
|
Ozan Kabak | 0.11 | From Corner | Right Foot | Blocked Shot | — |
| 62' |
|
Ozan Kabak | 0.02 | Open Play | Right Foot | Missed Shot | Leon Avdullahu |
| 67' |
|
Cameron Puertas | 0.04 | Direct Freekick | Right Foot | Missed Shot | — |
| 77' |
|
Albian Hajdari | 0.03 | Open Play | Left Foot | Blocked Shot | Andrej Kramaric |
| 86' |
|
Marco Grüll | 0.43 | Open Play | — | Blocked Shot | Maximilian Wöber |
| 93' |
|
Wouter Burger | 0.02 | Open Play | Left Foot | Missed Shot | Vladimir Coufal |
Players
Werder Bremen
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Justin Njinmah MR | 90 | 0 | 0 | 6 | 0 | 0.92 | 0.00 | 1.36 |
| Olivier Deman DL | 90 | 0 | 0 | 2 | 1 | 0.04 | 0.54 | 0.68 |
| Cameron Puertas MC | 90 | 0 | 0 | 1 | 3 | 0.04 | 0.13 | 0.24 |
| Senne Lynen DMC | 90 | 0 | 0 | 1 | 1 | 0.02 | 0.04 | 0.68 |
| Amos Pieper DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Marco Friedl DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.43 |
| Mio Backhaus GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.50 |
| Romano Schmid ML | 75 | 0 | 0 | 0 | 4 | 0.00 | 0.28 | 0.92 |
| Jens Stage MC | 75 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.04 |
| Isaac Schmidt Sub | 73 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Marco Grüll Sub | 15 | 0 | 0 | 1 | 0 | 0.43 | 0.00 | 0.43 |
| Samuel Mbangula Sub | 15 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Salim Musah FW | 11 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Maximilian Wöber Sub | 6 | 0 | 0 | 0 | 1 | 0.00 | 0.43 | 0.43 |
| Yukinari Sugawara DR | 4 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Hoffenheim
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Fisnik Asllani AMC | 90 | 0 | 0 | 3 | 0 | 0.23 | 0.00 | 0.48 |
| Wouter Burger DMC | 90 | 0 | 0 | 3 | 2 | 0.16 | 0.06 | 0.65 |
| Ozan Kabak DC | 90 | 0 | 0 | 2 | 1 | 0.13 | 0.11 | 0.78 |
| Andrej Kramaric AMR | 90 | 0 | 1 | 1 | 2 | 0.12 | 0.06 | 0.35 |
| Vladimir Coufal DR | 90 | 0 | 0 | 1 | 5 | 0.04 | 0.78 | 0.89 |
| Albian Hajdari DC | 90 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.39 |
| Leon Avdullahu DMC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.10 | 0.88 |
| Oliver Baumann GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.13 |
| Tim Lemperle FW | 75 | 0 | 0 | 2 | 1 | 0.53 | 0.02 | 0.55 |
| Bernardo DL | 75 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.71 |
| Bazoumana Touré AML | 61 | 1 | 0 | 1 | 0 | 0.04 | 0.00 | 0.47 |
| Alexander Prass Sub | 29 | 0 | 0 | 1 | 0 | 0.02 | 0.00 | 0.05 |
| Robin Hranác Sub | 15 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Cole Campbell Sub | 15 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Grischa Prömel Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Adam Hlozek Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |