Holstein Kiel v Bayer Leverkusen — Prediction, Odds & Stats
Saturday 22 February 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
Holstein Kiel have scored 14 from 13.7 expected and conceded 21 from 20.2 — both ends in line with the chances, so the recent record is a fair reflection.
Bayer Leverkusen are finishing below their chances — 3.0 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.32–2.59 | 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 |
|---|---|---|---|---|---|---|---|
| 3' |
|
Jonathan Tah | 0.06 | From Corner | Left Foot | Missed Shot | Álex Grimaldo |
| 5' |
|
Patrik Schick | 0.07 | From Corner | — | Saved Shot | Álex Grimaldo |
| 5' |
|
Patrik Schick | 0.26 | From Corner | — | Blocked Shot | Álex Grimaldo |
| 8' |
|
Patrik Schick | 0.69 | Open Play | Left Foot | Goal | — |
| 21' |
|
Magnus Knudsen | 0.42 | Open Play | Right Foot | Saved Shot | Armin Gigovic |
| 24' |
|
Amine Adli | 0.10 | Set Piece | — | Saved Shot | Álex Grimaldo |
| 28' |
|
Jeremie Frimpong | 0.07 | Open Play | Right Foot | Blocked Shot | — |
| 29' |
|
Piero Hincapié | 0.06 | From Corner | — | Missed Shot | Álex Grimaldo |
| 35' |
|
Robert Andrich | 0.04 | Open Play | Right Foot | Blocked Shot | Jeremie Frimpong |
| 36' |
|
Patrik Schick | 0.01 | From Corner | — | Missed Shot | Álex Grimaldo |
| 44' |
|
Amine Adli | 0.37 | Open Play | Left Foot | Goal | Florian Wirtz |
| 46' |
|
Magnus Knudsen | 0.02 | Open Play | Right Foot | Saved Shot | Armin Gigovic |
| 48' |
|
Armin Gigovic | 0.01 | From Corner | Right Foot | Missed Shot | David Zec |
| 51' |
|
Edmond Tapsoba | 0.06 | Open Play | Left Foot | Missed Shot | Piero Hincapié |
| 52' |
|
Edmond Tapsoba | 0.04 | Open Play | Right Foot | Saved Shot | Patrik Schick |
| 59' |
|
Patrik Schick | 0.05 | Open Play | Right Foot | Saved Shot | — |
| 61' |
|
Jonathan Tah | 0.02 | From Corner | — | Blocked Shot | Álex Grimaldo |
| 75' |
|
Florian Wirtz | 0.02 | Set Piece | Right Foot | Missed Shot | — |
| 81' |
|
Álex Grimaldo | 0.04 | Direct Freekick | Left Foot | Missed Shot | — |
| 83' |
|
Florian Wirtz | 0.44 | Open Play | Right Foot | Saved Shot | Emiliano Buendía |
| 83' |
|
Victor Boniface | 0.14 | Open Play | Left Foot | Missed Shot | Florian Wirtz |
| 92' |
|
Max Geschwill | 0.05 | From Corner | Left Foot | Saved Shot | Lewis Holtby |
Players
Bayer Leverkusen
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Florian Wirtz AMC | 90 | 0 | 1 | 2 | 2 | 0.46 | 0.51 | 1.03 |
| Edmond Tapsoba DC | 90 | 0 | 0 | 2 | 0 | 0.10 | 0.00 | 0.10 |
| Jonathan Tah DC | 90 | 0 | 0 | 2 | 0 | 0.08 | 0.00 | 0.06 |
| Piero Hincapié DC | 90 | 0 | 0 | 1 | 1 | 0.06 | 0.06 | 0.06 |
| Álex Grimaldo DML | 90 | 0 | 0 | 1 | 7 | 0.04 | 0.59 | 0.08 |
| Robert Andrich MC | 90 | 0 | 0 | 1 | 0 | 0.04 | 0.00 | 0.10 |
| Granit Xhaka MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.71 |
| Matej Kovár GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Patrik Schick AMC | 85 | 1 | 0 | 5 | 1 | 1.10 | 0.04 | 0.79 |
| Jeremie Frimpong DMR | 85 | 0 | 0 | 1 | 1 | 0.07 | 0.04 | 0.11 |
| Amine Adli FW | 72 | 1 | 0 | 2 | 0 | 0.47 | 0.00 | 0.37 |
| Emiliano Buendía Sub | 18 | 0 | 0 | 0 | 1 | 0.00 | 0.44 | 0.58 |
| Victor Boniface Sub | 5 | 0 | 0 | 1 | 0 | 0.14 | 0.00 | 0.14 |
| Nordi Mukiele Sub | 5 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
Holstein Kiel
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Phil Harres FW | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.44 |
| Nicolai Remberg MC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Marko Ivezic DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.02 |
| Marco Komenda DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.44 |
| Lasse Rosenboom DMR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Timon Weiner GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Dominik Javorcek DML | 80 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Armin Gigovic MC | 77 | 0 | 0 | 1 | 2 | 0.01 | 0.44 | 0.44 |
| Magnus Knudsen MC | 65 | 0 | 0 | 2 | 0 | 0.44 | 0.00 | 0.44 |
| David Zec DC | 65 | 0 | 0 | 0 | 1 | 0.00 | 0.01 | 0.02 |
| Shuto Machino FW | 65 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.42 |
| Timo Becker Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Jann-Fiete Arp Sub | 25 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Lewis Holtby Sub | 25 | 0 | 0 | 0 | 1 | 0.00 | 0.05 | 0.00 |
| Andu Kelati Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Max Geschwill Sub | 10 | 0 | 0 | 1 | 0 | 0.05 | 0.00 | 0.00 |