Hoffenheim v Bayern Munich — Prediction, Odds & Stats
Saturday 17 May 2025 · GER-Bundesliga · 2425
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.
Bayern Munich are conceding fewer than expected — 3.1 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 | 0.99–2.35 | 0% | 0% | 0% | Away ✓ | |
| dc-xg-oos | 0.95–2.59 | 0-2 10% | 69% | 57% | Away ✓ |
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 |
|---|---|---|---|---|---|---|---|
| 19' |
|
Konrad Laimer | 0.03 | From Corner | Right Foot | Missed Shot | Joshua Kimmich |
| 20' |
|
Serge Gnabry | 0.03 | Open Play | Right Foot | Missed Shot | Michael Olise |
| 32' |
|
Michael Olise | 0.06 | Direct Freekick | Left Foot | Goal | — |
| 35' |
|
Adam Hlozek | 0.08 | Open Play | Right Foot | Missed Shot | Pavel Kaderábek |
| 44' |
|
Thomas Müller | 0.08 | Open Play | Right Foot | Missed Shot | Joshua Kimmich |
| 45' |
|
Michael Olise | 0.04 | Open Play | Left Foot | Missed Shot | — |
| 49' |
|
Andrej Kramaric | 0.38 | Open Play | Right Foot | Missed Shot | Tom Bischof |
| 52' |
|
Joshua Kimmich | 0.09 | Open Play | Right Foot | Goal | Michael Olise |
| 54' |
|
Serge Gnabry | 0.04 | Open Play | Left Foot | Blocked Shot | — |
| 57' |
|
Joshua Kimmich | 0.04 | Open Play | Right Foot | Missed Shot | Aleksandar Pavlovic |
| 59' |
|
Serge Gnabry | 0.45 | Open Play | Right Foot | Missed Shot | Josip Stanisic |
| 65' |
|
Andrej Kramaric | 0.05 | Set Piece | Right Foot | Saved Shot | Leo Østigard |
| 65' |
|
Leo Østigard | 0.05 | From Corner | — | Missed Shot | Tom Bischof |
| 72' |
|
Bazoumana Touré | 0.08 | Open Play | Left Foot | Blocked Shot | Dennis Geiger |
| 79' |
|
Harry Kane | 0.32 | Open Play | Right Foot | Shot On Post | Leroy Sané |
| 79' |
|
Serge Gnabry | 0.12 | Open Play | Left Foot | Goal | Harry Kane |
| 84' |
|
Kevin Akpoguma | 0.01 | Open Play | Right Foot | Saved Shot | Marius Bülter |
| 85' |
|
Harry Kane | 0.55 | Open Play | Right Foot | Goal | Sacha Boey |
| 87' |
|
Michael Olise | 0.07 | Open Play | Left Foot | Blocked Shot | Harry Kane |
| 91' |
|
Leroy Sané | 0.30 | Open Play | Left Foot | Saved Shot | Michael Olise |
Players
Hoffenheim
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Adam Hlozek FW | 90 | 0 | 0 | 1 | 0 | 0.08 | 0.00 | 0.09 |
| Leo Østigard DC | 90 | 0 | 0 | 1 | 1 | 0.05 | 0.05 | 0.09 |
| Kevin Akpoguma DC | 90 | 0 | 0 | 1 | 0 | 0.01 | 0.00 | 0.17 |
| Pavel Kaderábek DMR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.08 | 0.09 |
| Oliver Baumann GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.01 |
| Arthur Chaves DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.48 |
| Andrej Kramaric AMC | 83 | 0 | 0 | 2 | 0 | 0.44 | 0.00 | 0.38 |
| Anton Stach MC | 83 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Dennis Geiger MC | 77 | 0 | 0 | 0 | 1 | 0.00 | 0.08 | 0.08 |
| Tom Bischof AMC | 68 | 0 | 0 | 0 | 2 | 0.00 | 0.43 | 0.46 |
| Alexander Prass DML | 47 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marius Bülter Sub | 43 | 0 | 0 | 0 | 1 | 0.00 | 0.01 | 0.10 |
| Bazoumana Touré Sub | 22 | 0 | 0 | 1 | 0 | 0.08 | 0.00 | 0.10 |
| Umut Tohumcu Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.01 |
| Finn Becker Sub | 7 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.01 |
| Ihlas Bebou Sub | 7 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.01 |
Bayern Munich
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Serge Gnabry AMC | 90 | 1 | 0 | 4 | 0 | 0.64 | 0.00 | 1.68 |
| Michael Olise AMR | 90 | 1 | 1 | 3 | 3 | 0.17 | 0.42 | 1.16 |
| Joshua Kimmich DMC | 90 | 1 | 0 | 2 | 2 | 0.13 | 0.11 | 0.80 |
| Aleksandar Pavlovic DMC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 1.15 |
| Manuel Neuer GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.73 |
| Josip Stanisic DC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.45 | 1.56 |
| Eric Dier DC | 87 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.76 |
| Konrad Laimer DR | 68 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.21 |
| Raphael Guerreiro DL | 68 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.24 |
| Thomas Müller FW | 62 | 0 | 0 | 1 | 0 | 0.08 | 0.00 | 0.08 |
| Kingsley Coman AML | 62 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.63 |
| Harry Kane Sub | 28 | 1 | 1 | 2 | 2 | 0.87 | 0.18 | 1.05 |
| Leroy Sané Sub | 28 | 0 | 0 | 1 | 1 | 0.30 | 0.32 | 1.17 |
| Sacha Boey Sub | 22 | 0 | 1 | 0 | 1 | 0.00 | 0.55 | 0.55 |
| Leon Goretzka Sub | 22 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.87 |
| Gabriel Vidovic Sub | 3 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |