Hoffenheim v RasenBallsport Leipzig — Prediction, Odds & Stats
Saturday 8 November 2025 · 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.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.
RasenBallsport Leipzig are finishing below their chances — 2.3 goals fewer than expected across 10 matches, despite creating the openings.
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.67 | 0% | 0% | 0% | Away ✗ | |
| dc-xg-oos | 1.89–1.85 | 1-1 8% | 72% | 72% | 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 |
|---|---|---|---|---|---|---|---|
| 3' |
|
Antonio Nusa | 0.15 | Open Play | Right Foot | Saved Shot | Rômulo |
| 5' |
|
Antonio Nusa | 0.07 | Open Play | Right Foot | Blocked Shot | Nicolas Seiwald |
| 6' |
|
Grischa Prömel | 0.23 | Open Play | Right Foot | Missed Shot | Wouter Burger |
| 8' |
|
Yan Diomande | 0.33 | Open Play | Left Foot | Goal | Assan Ouédraogo |
| 11' |
|
Vladimir Coufal | 0.02 | Open Play | Right Foot | Missed Shot | Grischa Prömel |
| 12' |
|
Antonio Nusa | 0.11 | Open Play | Left Foot | Blocked Shot | Yan Diomande |
| 19' |
|
Albian Hajdari | 0.94 | From Corner | Right Foot | Goal | Wouter Burger |
| 19' |
|
Wouter Burger | 0.11 | From Corner | Right Foot | Missed Shot | Bazoumana Touré |
| 23' |
|
Andrej Kramaric | 0.03 | Open Play | Right Foot | Blocked Shot | Wouter Burger |
| 23' |
|
Assan Ouédraogo | 0.01 | Open Play | Right Foot | Blocked Shot | — |
| 25' |
|
Bernardo | 0.09 | From Corner | Left Foot | Missed Shot | Andrej Kramaric |
| 28' |
|
Rômulo | 0.32 | Open Play | Right Foot | Saved Shot | David Raum |
| 30' |
|
Assan Ouédraogo | 0.09 | Open Play | Right Foot | Blocked Shot | Yan Diomande |
| 34' |
|
Leon Avdullahu | 0.03 | Open Play | Right Foot | Missed Shot | — |
| 34' |
|
Leon Avdullahu | 0.04 | Open Play | Right Foot | Blocked Shot | Andrej Kramaric |
| 37' |
|
Tim Lemperle | 0.07 | Open Play | — | Goal | Vladimir Coufal |
| 46' |
|
David Raum | 0.03 | Open Play | Left Foot | Shot On Post | Bote Baku |
| 47' |
|
Yan Diomande | 0.02 | From Corner | Right Foot | Missed Shot | — |
| 49' |
|
Willi Orban | 0.06 | Set Piece | — | Missed Shot | David Raum |
| 53' |
|
Assan Ouédraogo | 0.04 | Open Play | Right Foot | Blocked Shot | Rômulo |
| 55' |
|
Antonio Nusa | 0.05 | Open Play | Right Foot | Missed Shot | David Raum |
| 59' |
|
David Raum | 0.03 | Open Play | Left Foot | Blocked Shot | Antonio Nusa |
| 62' |
|
Nicolas Seiwald | 0.03 | Open Play | Right Foot | Blocked Shot | — |
| 63' |
|
Yan Diomande | 0.04 | Open Play | Right Foot | Saved Shot | Willi Orban |
| 78' |
|
Grischa Prömel | 0.10 | Open Play | Right Foot | Goal | Fisnik Asllani |
| 87' |
|
Alexander Prass | 0.04 | Direct Freekick | Left Foot | Blocked Shot | — |
| 92' |
|
Willi Orban | 0.12 | Open Play | Right Foot | Saved Shot | Johan Bakayoko |
| 92' |
|
Willi Orban | 0.06 | From Corner | Right Foot | Blocked Shot | David Raum |
| 95' |
|
Muhammed Damar | 0.33 | Open Play | Left Foot | Saved Shot | Alexander Prass |
Players
Hoffenheim
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Albian Hajdari DC | 90 | 1 | 0 | 1 | 0 | 0.94 | 0.00 | 0.07 |
| Grischa Prömel MC | 90 | 1 | 0 | 2 | 1 | 0.33 | 0.02 | 0.35 |
| Wouter Burger MC | 90 | 0 | 1 | 1 | 3 | 0.11 | 1.20 | 0.43 |
| Bernardo DC | 90 | 0 | 0 | 1 | 0 | 0.09 | 0.00 | 0.00 |
| Leon Avdullahu MC | 90 | 0 | 0 | 2 | 0 | 0.07 | 0.00 | 0.19 |
| Vladimir Coufal DMR | 90 | 0 | 1 | 1 | 1 | 0.02 | 0.07 | 0.74 |
| Robin Hranác DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Oliver Baumann GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.07 |
| Tim Lemperle FW | 79 | 1 | 0 | 1 | 0 | 0.07 | 0.00 | 0.10 |
| Bazoumana Touré DML | 78 | 0 | 0 | 0 | 1 | 0.00 | 0.11 | 0.04 |
| Andrej Kramaric AMC | 70 | 0 | 0 | 1 | 2 | 0.03 | 0.14 | 0.09 |
| Fisnik Asllani Sub | 20 | 0 | 1 | 0 | 1 | 0.00 | 0.10 | 0.10 |
| Alexander Prass Sub | 12 | 0 | 0 | 1 | 1 | 0.04 | 0.33 | 0.33 |
| Ihlas Bebou Sub | 11 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.43 |
| Muhammed Damar Sub | 1 | 0 | 0 | 1 | 0 | 0.33 | 0.00 | 0.33 |
| Ozan Kabak Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
RasenBallsport Leipzig
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Antonio Nusa FWL | 90 | 0 | 0 | 4 | 1 | 0.37 | 0.03 | 0.76 |
| Rômulo FW | 90 | 0 | 0 | 1 | 2 | 0.32 | 0.19 | 0.66 |
| Willi Orban DC | 90 | 0 | 0 | 3 | 1 | 0.24 | 0.04 | 0.61 |
| David Raum DL | 90 | 0 | 0 | 2 | 4 | 0.07 | 0.49 | 0.57 |
| Bote Baku DR | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.03 | 0.49 |
| Christoph Baumgartner MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.33 |
| El Chadaille Bitshiabu DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.09 |
| Péter Gulácsi GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.14 |
| Nicolas Seiwald MC | 78 | 0 | 0 | 1 | 1 | 0.03 | 0.07 | 0.32 |
| Yan Diomande FWR | 70 | 1 | 0 | 3 | 2 | 0.39 | 0.19 | 1.00 |
| Assan Ouédraogo MC | 70 | 0 | 1 | 3 | 1 | 0.14 | 0.33 | 0.97 |
| Ezechiel Banzuzi Sub | 20 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| Johan Bakayoko Sub | 20 | 0 | 0 | 0 | 1 | 0.00 | 0.12 | 0.12 |
| Conrad Harder Sub | 12 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.12 |
| Lukas Klostermann Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Tidiam Gomis Sub | 1 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |