Bochum v Hoffenheim — Prediction, Odds & Stats
Saturday 1 March 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
Bochum are finishing below their chances — 2.5 goals fewer than expected across 10 matches, despite creating the openings.
Hoffenheim are finishing below their chances — 2.9 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding sharply more than the chances against them merit — 5.0 goals above expected, which tends to correct.
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.44–1.33 | 0% | 0% | 0% | 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 |
|---|---|---|---|---|---|---|---|
| 0' |
|
Andrej Kramaric | 0.07 | Set Piece | Right Foot | Blocked Shot | — |
| 0' |
|
Max Moerstedt | 0.09 | Set Piece | Right Foot | Blocked Shot | — |
| 5' |
|
Anton Stach | 0.03 | Set Piece | Left Foot | Blocked Shot | Arthur Chaves |
| 9' |
|
Felix Passlack | 0.09 | Set Piece | Right Foot | Blocked Shot | Philipp Hofmann |
| 9' |
|
Jakov Medic | 0.52 | Set Piece | — | Shot On Post | — |
| 26' |
|
Jakov Medic | 0.04 | From Corner | Left Foot | Blocked Shot | Ibrahima Sissoko |
| 36' |
|
Anton Stach | 0.02 | Set Piece | Right Foot | Saved Shot | Finn Becker |
| 39' |
|
Andrej Kramaric | 0.11 | Open Play | Left Foot | Missed Shot | Max Moerstedt |
| 44' |
|
Philipp Hofmann | 0.12 | Open Play | Left Foot | Missed Shot | Maximilian Wittek |
| 52' |
|
Matús Bero | 0.08 | Direct Freekick | Right Foot | Saved Shot | — |
| 53' |
|
Matús Bero | 0.12 | Open Play | Right Foot | Blocked Shot | Ibrahima Sissoko |
| 54' |
|
Tom Krauß | 0.05 | Open Play | Right Foot | Saved Shot | Philipp Hofmann |
| 58' |
|
Maximilian Wittek | 0.02 | Open Play | Left Foot | Missed Shot | — |
| 59' |
|
Anton Stach | 0.02 | Open Play | Right Foot | Missed Shot | Finn Becker |
| 64' |
|
Tom Krauß | 0.02 | Open Play | Right Foot | Missed Shot | — |
| 71' |
|
Tom Bischof | 0.01 | Open Play | Left Foot | Goal | — |
| 74' |
|
Philipp Hofmann | 0.03 | Open Play | — | Blocked Shot | Maximilian Wittek |
| 81' |
|
Gift Orban | 0.03 | Open Play | Right Foot | Missed Shot | Pavel Kaderábek |
| 83' |
|
Dani de Wit | 0.34 | From Corner | — | Missed Shot | Matús Bero |
| 85' |
|
Bernardo | 0.03 | From Corner | — | Saved Shot | Maximilian Wittek |
| 85' |
|
Koji Miyoshi | 0.04 | From Corner | Right Foot | Blocked Shot | Maximilian Wittek |
| 90' |
|
Leo Østigard | 0.11 | Set Piece | — | Blocked Shot | Tom Bischof |
| 92' |
|
Bazoumana Touré | 0.04 | Open Play | Left Foot | Missed Shot | Anton Stach |
Players
Hoffenheim
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Leo Østigard DC | 90 | 0 | 0 | 1 | 0 | 0.11 | 0.00 | 0.00 |
| Anton Stach DMC | 90 | 0 | 0 | 3 | 1 | 0.07 | 0.04 | 0.17 |
| Tom Bischof AMR | 90 | 1 | 0 | 1 | 1 | 0.01 | 0.11 | 0.01 |
| Alexander Prass DL | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Pavel Kaderábek DR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.03 |
| Oliver Baumann GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Finn Becker DMC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.04 | 0.13 |
| Andrej Kramaric AMC | 88 | 0 | 0 | 2 | 0 | 0.18 | 0.00 | 0.11 |
| Gift Orban FW | 85 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.14 |
| Max Moerstedt AML | 60 | 0 | 0 | 1 | 1 | 0.09 | 0.11 | 0.11 |
| Arthur Chaves DC | 60 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.00 |
| Haris Tabakovic Sub | 30 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Kevin Akpoguma Sub | 30 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Bazoumana Touré Sub | 5 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.04 |
| Stanley N'Soki Sub | 2 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Bochum
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Jakov Medic DC | 90 | 0 | 0 | 2 | 0 | 0.56 | 0.00 | 0.00 |
| Matús Bero MC | 90 | 0 | 0 | 2 | 1 | 0.20 | 0.34 | 0.20 |
| Philipp Hofmann FW | 90 | 0 | 0 | 2 | 2 | 0.15 | 0.14 | 0.20 |
| Bernardo DC | 90 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.00 |
| Timo Horn GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Tim Oermann DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.24 |
| Maximilian Wittek DML | 88 | 0 | 0 | 1 | 4 | 0.02 | 0.22 | 0.22 |
| Ibrahima Sissoko MC | 88 | 0 | 0 | 0 | 2 | 0.00 | 0.16 | 0.24 |
| Tom Krauß MC | 81 | 0 | 0 | 2 | 0 | 0.06 | 0.00 | 0.06 |
| Felix Passlack DMR | 76 | 0 | 0 | 1 | 0 | 0.09 | 0.00 | 0.00 |
| Giorgos Masouras FW | 76 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Koji Miyoshi Sub | 14 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.00 |
| Moritz Broschinski Sub | 14 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Dani de Wit Sub | 9 | 0 | 0 | 1 | 0 | 0.34 | 0.00 | 0.00 |
| Samuel Bamba Sub | 2 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Mats Pannewig Sub | 2 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |