Eintracht Frankfurt v Borussia Dortmund — Prediction, Odds & Stats
Friday 9 January 2026 · 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
Eintracht Frankfurt are conceding more than the chances against them merit — 3.0 goals above expected, which tends to correct.
Borussia Dortmund are finishing below their chances — 2.3 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.7 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 | 1.50–1.63 | 0% | 0% | 0% | Away ✗ | |
| dc-xg-oos | 1.55–1.47 | 1-1 11% | 58% | 61% | 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' |
|
Can Uzun | 0.05 | Open Play | Right Foot | Blocked Shot | Nathaniel Brown |
| 3' |
|
Felix Nmecha | 0.07 | Open Play | Right Foot | Blocked Shot | — |
| 9' |
|
Maximilian Beier | 0.32 | Open Play | Left Foot | Goal | Julian Ryerson |
| 11' |
|
Serhou Guirassy | 0.03 | Open Play | Left Foot | Missed Shot | Maximilian Beier |
| 16' |
|
Can Uzun | 0.05 | Open Play | Left Foot | Saved Shot | Rasmus Kristensen |
| 17' |
|
Ansgar Knauff | 0.05 | Open Play | Right Foot | Saved Shot | — |
| 21' |
|
Can Uzun | 0.76 | Right Foot | Goal | — | |
| 25' |
|
Julian Brandt | 0.08 | From Corner | Left Foot | Saved Shot | — |
| 27' |
|
Maximilian Beier | 0.03 | Open Play | Right Foot | Blocked Shot | — |
| 39' |
|
Nico Schlotterbeck | 0.11 | Set Piece | — | Saved Shot | Julian Ryerson |
| 41' |
|
Younes Ebnoutalib | 0.05 | Set Piece | Left Foot | Missed Shot | Can Uzun |
| 46' |
|
Julian Brandt | 0.06 | Open Play | Right Foot | Missed Shot | Niklas Süle |
| 46' |
|
Younes Ebnoutalib | 0.04 | Open Play | — | Missed Shot | Hugo Larsson |
| 48' |
|
Ansgar Knauff | 0.08 | Open Play | Right Foot | Blocked Shot | Younes Ebnoutalib |
| 51' |
|
Daniel Svensson | 0.37 | Open Play | Left Foot | Missed Shot | — |
| 53' |
|
Ansgar Knauff | 0.06 | Open Play | Right Foot | Saved Shot | — |
| 55' |
|
Ansgar Knauff | 0.06 | Open Play | Right Foot | Missed Shot | Younes Ebnoutalib |
| 57' |
|
Marcel Sabitzer | 0.09 | Open Play | Right Foot | Blocked Shot | Julian Ryerson |
| 58' |
|
Julian Ryerson | 0.09 | Open Play | Right Foot | Blocked Shot | Maximilian Beier |
| 58' |
|
Waldemar Anton | 0.07 | Open Play | — | Saved Shot | — |
| 67' |
|
Felix Nmecha | 0.02 | Open Play | Right Foot | Goal | — |
| 70' |
|
Younes Ebnoutalib | 0.35 | Open Play | Right Foot | Goal | Arnaud Kalimuendo Muinga |
| 85' |
|
Arnaud Kalimuendo Muinga | 0.06 | Open Play | Right Foot | Blocked Shot | Rasmus Kristensen |
| 89' |
|
Fabio Silva | 0.12 | From Corner | Right Foot | Missed Shot | — |
| 89' |
|
Nico Schlotterbeck | 0.07 | From Corner | — | Shot On Post | Daniel Svensson |
| 91' |
|
Mahmoud Dahoud | 0.06 | Open Play | Left Foot | Goal | — |
| 94' |
|
Carney Chukwuemeka | 0.17 | Open Play | — | Missed Shot | Marcel Sabitzer |
| 94' |
|
Carney Chukwuemeka | 0.61 | Open Play | Right Foot | Goal | — |
Players
Borussia Dortmund
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Daniel Svensson DML | 90 | 0 | 0 | 1 | 1 | 0.37 | 0.07 | 0.46 |
| Nico Schlotterbeck DC | 90 | 0 | 0 | 2 | 0 | 0.18 | 0.00 | 0.57 |
| Felix Nmecha MC | 90 | 1 | 0 | 2 | 0 | 0.09 | 0.00 | 0.45 |
| Julian Ryerson DMR | 90 | 0 | 1 | 1 | 3 | 0.09 | 0.52 | 0.72 |
| Marcel Sabitzer MC | 90 | 0 | 0 | 1 | 1 | 0.09 | 0.17 | 0.63 |
| Waldemar Anton DC | 90 | 0 | 0 | 1 | 0 | 0.07 | 0.00 | 0.53 |
| Gregor Kobel GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.32 |
| Julian Brandt AMC | 89 | 0 | 0 | 2 | 0 | 0.13 | 0.00 | 0.15 |
| Niklas Süle DC | 78 | 0 | 0 | 0 | 1 | 0.00 | 0.06 | 0.38 |
| Maximilian Beier AMC | 77 | 1 | 0 | 2 | 2 | 0.34 | 0.13 | 0.47 |
| Serhou Guirassy FW | 68 | 0 | 0 | 1 | 0 | 0.03 | 0.00 | 0.03 |
| Fabio Silva Sub | 22 | 0 | 0 | 1 | 0 | 0.12 | 0.00 | 0.00 |
| Karim Adeyemi Sub | 13 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Emre Can Sub | 12 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |
| Carney Chukwuemeka Sub | 1 | 1 | 0 | 2 | 0 | 0.78 | 0.00 | 0.78 |
Eintracht Frankfurt
| Player | Min | G | A | Sh | KP | xG | xA | xGChain |
|---|---|---|---|---|---|---|---|---|
| Younes Ebnoutalib FW | 90 | 1 | 0 | 3 | 2 | 0.44 | 0.14 | 0.63 |
| Nathaniel Brown DML | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.05 | 0.44 |
| Robin Koch DC | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.48 |
| Hugo Larsson MC | 90 | 0 | 0 | 0 | 1 | 0.00 | 0.04 | 0.19 |
| Kauã Santos GK | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.13 |
| Ritsu Doan DMR | 90 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.17 |
| Rasmus Kristensen DC | 90 | 0 | 0 | 0 | 2 | 0.00 | 0.11 | 0.54 |
| Arthur Theate DC | 85 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.48 |
| Ansgar Knauff AMC | 79 | 0 | 0 | 4 | 0 | 0.25 | 0.00 | 0.25 |
| Oscar Højlund MC | 79 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.05 |
| Can Uzun AMC | 65 | 1 | 0 | 3 | 1 | 0.85 | 0.05 | 0.22 |
| Arnaud Kalimuendo Muinga Sub | 25 | 0 | 1 | 1 | 1 | 0.06 | 0.35 | 0.41 |
| Mahmoud Dahoud Sub | 11 | 1 | 0 | 1 | 0 | 0.06 | 0.00 | 0.06 |
| Mario Götze Sub | 11 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.06 |
| Nnamdi Collins Sub | 5 | 0 | 0 | 0 | 0 | 0.00 | 0.00 | 0.00 |