betaider.com
Sign in

Eintracht Frankfurt v Hoffenheim — Prediction, Odds & Stats

Saturday 24 January 2026 · GER-Bundesliga · 2526

Bundesliga xG Prediction generated

1–3
0.83 – 1.63 xG
Shots
10 – 10
On target
3 – 5
Shots in box
5 – 8
xG per shot
0.08 – 0.16
Set-piece xG
0.20 – 0.59
Goals − xG
+0.17 – +1.37

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
Eintracht Frankfurt win
40.9%
Draw
25.6%
Hoffenheim win
33.5%

Probabilities, not certainties. How they are made: the methodology.

Was this pick made in advance?
A model whose name ends -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 finishing below their chances — 2.9 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding more than the chances against them merit — 2.2 goals above expected, which tends to correct.

LLDDLWDLWL last 10 scored 15 from 17.9 xG conceded 24 from 21.8 xG

Hoffenheim are finishing below their chances — 2.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding sharply more than the chances against them merit — 5.9 goals above expected, which tends to correct.

DWLLLWLLWW last 10 scored 18 from 20.7 xG conceded 21 from 15.1 xG

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

ModelHome / Draw / Away Expected goalsLikeliest score O2.5BTTSOutcome
ai-blend-oos 1.72–1.55 0% 0% 0% Home ✗
dc-xg-oos 2.20–1.41 2-1 9% 70% 67% 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
Each step up is a shot; the height of the step is how good the chance was. Dots mark goals. A side whose line climbs steadily created chances all match. A side that scored while its line stayed flat took a rare chance — that is finishing luck, and it rarely repeats.

Expected goals by minute

0.00.50.91.41.80'15'30'45'60'75'90'Arnaud Kalimuendo Muinga 17' — goalMax Moerstedt 51' — goalOzan Kabak 59' — goal
Eintracht Frankfurt 0.83 xGHoffenheim 1.63 xG
Reading the shot map
Each circle is a shot, placed where it was taken. Bigger means a better chance; filled circles are goals. Clusters near the goal mean a side worked good openings; lots of small circles far out means shooting from poor positions and hoping. Hover any circle for the player, minute and chance quality.

Shot map

Alexander Prass 0' — Saved Shot (0.02 xG, Open Play)Arnaud Kalimuendo Muinga 4' — Saved Shot (0.32 xG, Open Play)Arnaud Kalimuendo Muinga 17' — Goal (0.11 xG, Open Play)Ozan Kabak 20' — Shot On Post (0.06 xG, From Corner)Can Uzun 23' — Blocked Shot (0.01 xG, Set Piece)Andrej Kramaric 28' — Missed Shot (0.07 xG, Direct Freekick)Ozan Kabak 33' — Missed Shot (0.01 xG, Set Piece)Fisnik Asllani 38' — Saved Shot (0.07 xG, Open Play)Ozan Kabak 39' — Missed Shot (0.11 xG, From Corner)Wouter Burger 45' — Saved Shot (0.41 xG, Open Play)Farès Chaïbi 47' — Saved Shot (0.03 xG, From Corner)Arnaud Kalimuendo Muinga 50' — Blocked Shot (0.10 xG, Open Play)Max Moerstedt 51' — Goal (0.46 xG, Open Play)Wouter Burger 54' — Missed Shot (0.08 xG, Open Play)Ozan Kabak 59' — Goal (0.35 xG, From Corner)Hugo Larsson 63' — Missed Shot (0.03 xG, From Corner)Aurèle Amenda 64' — Own Goal (0.00 xG, Open Play)Rasmus Kristensen 66' — Missed Shot (0.10 xG, Open Play)Jean Négoce 72' — Missed Shot (0.09 xG, From Corner)Ritsu Doan 90' — Missed Shot (0.04 xG, Direct Freekick)
Eintracht Frankfurt attacking right Hoffenheim attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
0' Hoffenheim Alexander Prass 0.02 Open Play Right Foot Saved Shot —
4' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.32 Open Play Right Foot Saved Shot Ritsu Doan
17' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.11 Open Play Left Foot Goal —
20' Hoffenheim Ozan Kabak 0.06 From Corner — Shot On Post Wouter Burger
23' Eintracht Frankfurt Can Uzun 0.01 Set Piece — Blocked Shot Ritsu Doan
28' Hoffenheim Andrej Kramaric 0.07 Direct Freekick Right Foot Missed Shot —
33' Hoffenheim Ozan Kabak 0.01 Set Piece — Missed Shot Vladimir Coufal
38' Hoffenheim Fisnik Asllani 0.07 Open Play Right Foot Saved Shot Wouter Burger
39' Hoffenheim Ozan Kabak 0.11 From Corner — Missed Shot —
45' Hoffenheim Wouter Burger 0.41 Open Play — Saved Shot Fisnik Asllani
47' Eintracht Frankfurt Farès Chaïbi 0.03 From Corner Left Foot Saved Shot —
50' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.10 Open Play Right Foot Blocked Shot Nathaniel Brown
51' Hoffenheim Max Moerstedt 0.46 Open Play — Goal Wouter Burger
54' Hoffenheim Wouter Burger 0.08 Open Play Left Foot Missed Shot Alexander Prass
59' Hoffenheim Ozan Kabak 0.35 From Corner — Goal —
63' Eintracht Frankfurt Hugo Larsson 0.03 From Corner Right Foot Missed Shot Nathaniel Brown
64' Eintracht Frankfurt Aurèle Amenda 0.00 Open Play Left Foot Own Goal —
66' Eintracht Frankfurt Rasmus Kristensen 0.10 Open Play Right Foot Missed Shot Arnaud Kalimuendo Muinga
72' Eintracht Frankfurt Jean Négoce 0.09 From Corner — Missed Shot Ritsu Doan
90' Eintracht Frankfurt Ritsu Doan 0.04 Direct Freekick Left Foot Missed Shot —

Players

Eintracht Frankfurt

PlayerMinGA ShKPxGxA xGChain
Rasmus Kristensen DMR 90 0 0 1 0 0.10 0.00 0.10
Ritsu Doan AMC 90 0 0 1 3 0.04 0.42 0.42
Nathaniel Brown DML 90 0 0 0 2 0.00 0.14 0.10
Kauã Santos GK 90 0 0 0 0 0.00 0.00 0.00
Robin Koch DC 90 0 0 0 0 0.00 0.00 0.10
Ellyes Skhiri MC 90 0 0 0 0 0.00 0.00 0.10
Aurèle Amenda DC 90 0 0 0 0 0.00 0.00 0.00
Arnaud Kalimuendo Muinga FW 76 1 0 3 1 0.53 0.10 0.63
Nnamdi Collins DC 76 0 0 0 0 0.00 0.00 0.10
Farès Chaïbi MC 65 0 0 1 0 0.03 0.00 0.42
Can Uzun AMC 65 0 0 1 0 0.01 0.00 0.00
Hugo Larsson Sub 25 0 0 1 0 0.03 0.00 0.00
Ansgar Knauff Sub 25 0 0 0 0 0.00 0.00 0.00
Jean Négoce Sub 14 0 0 1 0 0.09 0.00 0.00
Ayoube Amaimouni-Echghouyab Sub 14 0 0 0 0 0.00 0.00 0.00

Hoffenheim

PlayerMinGA ShKPxGxA xGChain
Ozan Kabak DC 90 1 0 4 0 0.52 0.00 0.46
Wouter Burger MC 90 0 1 2 3 0.50 0.58 1.02
Fisnik Asllani AMC 90 0 0 1 1 0.07 0.41 0.56
Alexander Prass DML 90 0 0 1 1 0.02 0.08 0.56
Bernardo DC 90 0 0 0 0 0.00 0.00 0.46
Vladimir Coufal DMR 90 0 0 0 1 0.00 0.01 0.50
Leon Avdullahu MC 90 0 0 0 0 0.00 0.00 0.08
Albian Hajdari DC 90 0 0 0 0 0.00 0.00 0.46
Oliver Baumann GK 90 0 0 0 0 0.00 0.00 0.46
Max Moerstedt FW 80 1 0 1 0 0.46 0.00 0.94
Andrej Kramaric AMC 71 0 0 1 0 0.07 0.00 0.08
Grischa Prömel Sub 19 0 0 0 0 0.00 0.00 0.00
Ihlas Bebou Sub 10 0 0 0 0 0.00 0.00 0.00
Muhammed Damar Sub 1 0 0 0 0 0.00 0.00 0.00
betaider.com

Sport

Football sections

Preferences

Appearance
Aider Reading the Football model · online
Open the Radar
Bet slip
Open full page
↑↓ to move ↵ to open esc to close See all results

On this page

Match

What this page is for

One fixture in full. The model's probability for every market it prices, the prices stored against them, the teams expected to feature, and for a match already played, the shot map and the xG timeline.

How to read the shot map

Every shot is placed where it was taken and sized by its chance of being scored. A cluster of small marks from distance and a clean sheet is a side that was busy without ever threatening; two big marks and a defeat is a side that had the better of it and lost anyway. Both happen constantly, and both are invisible in the score.

How to read the xG timeline

The steps are chances as they arrived, so the shape shows who was on top and when. A flat line that jumps once near the end is a smash and grab.

Things to watch

The stored prediction is the one made before the match, kept deliberately so it can be judged afterwards. It is not re-fitted with hindsight.

Press esc to close Read the full guide