FC Heidenheim v Bayern Munich — Prediction, Odds & Stats
Saturday 19 April 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
FC Heidenheim have scored 19 from 17.3 expected and conceded 19 from 18.3 — both ends in line with the chances, so the recent record is a fair reflection.
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.91–2.33 | 0% | 0% | 0% | 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 |
|---|---|---|---|---|---|---|---|
| 11' |
|
Harry Kane | 0.05 | Open Play | Left Foot | Goal | Michael Olise |
| 13' |
|
Raphael Guerreiro | 0.07 | Open Play | Left Foot | Saved Shot | Michael Olise |
| 18' |
|
Konrad Laimer | 0.33 | Open Play | Right Foot | Goal | Serge Gnabry |
| 21' |
|
Harry Kane | 0.51 | Open Play | — | Missed Shot | — |
| 24' |
|
Harry Kane | 0.34 | From Corner | — | Missed Shot | Joshua Kimmich |
| 28' |
|
Harry Kane | 0.10 | Open Play | Right Foot | Blocked Shot | Michael Olise |
| 28' |
|
Michael Olise | 0.27 | Open Play | Left Foot | Saved Shot | Harry Kane |
| 32' |
|
Sirlord Conteh | 0.11 | From Corner | — | Missed Shot | Frans Krätzig |
| 33' |
|
Adrian Beck | 0.02 | Open Play | Right Foot | Missed Shot | Marvin Pieringer |
| 35' |
|
Kingsley Coman | 0.12 | Open Play | Right Foot | Goal | — |
| 35' |
|
Raphael Guerreiro | 0.38 | Open Play | Left Foot | Saved Shot | Harry Kane |
| 41' |
|
Michael Olise | 0.06 | Direct Freekick | Left Foot | Saved Shot | — |
| 42' |
|
Konrad Laimer | 0.19 | Open Play | Left Foot | Blocked Shot | Michael Olise |
| 45' |
|
Harry Kane | 0.06 | Open Play | Left Foot | Missed Shot | Serge Gnabry |
| 55' |
|
Joshua Kimmich | 0.12 | Open Play | Right Foot | Goal | Raphael Guerreiro |
| 58' |
|
Harry Kane | 0.16 | Open Play | Right Foot | Saved Shot | Joshua Kimmich |
| 60' |
|
Michael Olise | 0.52 | Open Play | Left Foot | Saved Shot | Serge Gnabry |
| 61' |
|
Serge Gnabry | 0.06 | From Corner | Left Foot | Blocked Shot | Michael Olise |
| 65' |
|
Sirlord Conteh | 0.39 | Open Play | Right Foot | Saved Shot | Marvin Pieringer |
| 78' |
|
Leroy Sané | 0.09 | Open Play | Left Foot | Saved Shot | Joshua Kimmich |
| 80' |
|
Adrian Beck | 0.02 | Set Piece | — | Missed Shot | — |
| 87' |
|
Gabriel Vidovic | 0.12 | Open Play | Left Foot | Blocked Shot | Leroy Sané |
Players
FC Heidenheim
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Adrian Beck AMC | 90 | 0 | 0 | 2 | 0 | 0.03 | 0.00 | 0.40 |
| Patrick Mainka DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Omar Traoré DR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Marnon Busch DL | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.39 |
| Kevin Müller GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Benedikt Gimber DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Frans Krätzig MC | 89 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.00 |
| Sirlord Conteh FW | 71 | 0 | 0 | 2 | 0 | 0.50 | 0.00 | 0.39 |
| Marvin Pieringer FW | 71 | 0 | 0 | 0 | 2 | 0.00 | 0.40 | 0.40 |
| Jan Schöppner MC | 47 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Niklas Dorsch MC | 47 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Julian Niehues Sub | 43 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.39 |
| Léo Scienza Sub | 43 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Paul Wanner Sub | 19 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Luca Kerber Sub | 19 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jonas Föhrenbach Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Bayern Munich
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Joshua Kimmich DMC | 90 | 1 | 0 | 1 | 3 | 0.12 | 0.59 | 1.85 |
| Serge Gnabry AMC | 90 | 0 | 1 | 1 | 3 | 0.06 | 0.91 | 1.19 |
| Jonas Urbig GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.19 |
| Eric Dier DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 1.30 |
| Aleksandar Pavlovic DMC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 1.06 |
| Josip Stanisic DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 1.31 |
| Raphael Guerreiro DL | 86 | 0 | 1 | 2 | 1 | 0.45 | 0.12 | 2.00 |
| Michael Olise AMR | 75 | 0 | 1 | 3 | 5 | 0.85 | 0.46 | 2.09 |
| Harry Kane FW | 64 | 1 | 0 | 6 | 2 | 1.21 | 0.66 | 1.71 |
| Kingsley Coman AML | 64 | 1 | 0 | 1 | 0 | 0.12 | 0.00 | 0.69 |
| Konrad Laimer DR | 47 | 1 | 0 | 2 | 0 | 0.52 | 0.00 | 0.57 |
| Sacha Boey Sub | 43 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.76 |
| Leroy Sané Sub | 26 | 0 | 0 | 1 | 1 | 0.09 | 0.12 | 0.21 |
| Thomas Müller Sub | 26 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.21 |
| Gabriel Vidovic Sub | 15 | 0 | 0 | 1 | 0 | 0.12 | 0.00 | 0.12 |
| João Palhinha Sub | 4 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |