betaider.com
Sign in

VfB Stuttgart v Eintracht Frankfurt — Prediction, Odds & Stats

Tuesday 13 January 2026 · GER-Bundesliga · 2526

Bundesliga xG Prediction generated

Shots
20 – 12
On target
11 – 5
Shots in box
14 – 8
xG per shot
0.18 – 0.07
Set-piece xG
0.52 – 0.12
Goals − xG
-0.54 – +1.10

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
VfB Stuttgart win
49.4%
Draw
25.0%
Eintracht Frankfurt win
25.6%

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

VfB Stuttgart are finishing sharply below their chances — 4.3 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding sharply fewer than expected — 5.7 goals saved beyond what the chances suggest.

DWDLWLLWLL last 10 scored 18 from 22.3 xG conceded 19 from 24.7 xG

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

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.89–1.33 0% 0% 0% Home ✓
dc-xg-oos 1.82–1.62 1-1 9% 67% 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.01.02.03.04.00'15'30'45'60'75'90'Rasmus Kristensen 4' — goalErmedin Demirovic 26' — goalDeniz Undav 34' — goalAyoube Amaimouni-Echghouyab 79' — goalNikolas Nartey 86' — goal
VfB Stuttgart 3.54 xGEintracht Frankfurt 0.90 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

Rasmus Kristensen 4' — Goal (0.07 xG, From Corner)Ellyes Skhiri 25' — Blocked Shot (0.10 xG, Open Play)Ermedin Demirovic 26' — Goal (0.41 xG, Open Play)Jamie Leweling 30' — Saved Shot (0.09 xG, Open Play)Chris Führich 32' — Blocked Shot (0.02 xG, From Corner)Maximilian Mittelstädt 33' — Missed Shot (0.01 xG, From Corner)Deniz Undav 34' — Goal (0.10 xG, Open Play)Angelo Stiller 36' — Saved Shot (0.02 xG, Open Play)Deniz Undav 36' — Saved Shot (0.03 xG, Open Play)Joshua Vagnoman 38' — Saved Shot (0.29 xG, Open Play)Jamie Leweling 42' — Blocked Shot (0.09 xG, Open Play)Jamie Leweling 46' — Saved Shot (0.02 xG, Open Play)Deniz Undav 49' — Blocked Shot (0.11 xG, Open Play)Ritsu Doan 50' — Saved Shot (0.04 xG, Open Play)Chris Führich 56' — Missed Shot (0.08 xG, Open Play)Ansgar Knauff 57' — Shot On Post (0.04 xG, Open Play)Deniz Undav 59' — Missed Shot (0.21 xG, Open Play)Arthur Theate 63' — Missed Shot (0.02 xG, Open Play)Deniz Undav 63' — Saved Shot (0.44 xG, Open Play)Julian Chabot 64' — Missed Shot (0.49 xG, From Corner)Chris Führich 70' — Blocked Shot (0.06 xG, Open Play)Arnaud Kalimuendo Muinga 71' — Missed Shot (0.02 xG, Open Play)Ayoube Amaimouni-Echghouyab 79' — Goal (0.04 xG, Open Play)Rasmus Kristensen 81' — Missed Shot (0.03 xG, Open Play)Deniz Undav 82' — Saved Shot (0.26 xG, Open Play)Arnaud Kalimuendo Muinga 84' — Blocked Shot (0.07 xG, Open Play)Badredine Bouanani 84' — Saved Shot (0.02 xG, Open Play)Nikolas Nartey 86' — Goal (0.71 xG, Open Play)Arnaud Kalimuendo Muinga 88' — Saved Shot (0.04 xG, Open Play)Arnaud Kalimuendo Muinga 88' — Saved Shot (0.39 xG, Open Play)Deniz Undav 89' — Blocked Shot (0.10 xG, Open Play)Arthur Theate 94' — Blocked Shot (0.05 xG, Direct Freekick)
VfB Stuttgart attacking right Eintracht Frankfurt attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
4' Eintracht Frankfurt Rasmus Kristensen 0.07 From Corner — Goal Ritsu Doan
25' Eintracht Frankfurt Ellyes Skhiri 0.10 Open Play Left Foot Blocked Shot Jean Négoce
26' VfB Stuttgart Ermedin Demirovic 0.41 Open Play Right Foot Goal —
30' VfB Stuttgart Jamie Leweling 0.09 Open Play Left Foot Saved Shot Ermedin Demirovic
32' VfB Stuttgart Chris Führich 0.02 From Corner Right Foot Blocked Shot —
33' VfB Stuttgart Maximilian Mittelstädt 0.01 From Corner Left Foot Missed Shot —
34' VfB Stuttgart Deniz Undav 0.10 Open Play Left Foot Goal Joshua Vagnoman
36' VfB Stuttgart Angelo Stiller 0.02 Open Play Left Foot Saved Shot —
36' VfB Stuttgart Deniz Undav 0.03 Open Play — Saved Shot —
38' VfB Stuttgart Joshua Vagnoman 0.29 Open Play Right Foot Saved Shot Deniz Undav
42' VfB Stuttgart Jamie Leweling 0.09 Open Play Left Foot Blocked Shot Deniz Undav
46' VfB Stuttgart Jamie Leweling 0.02 Open Play Left Foot Saved Shot Joshua Vagnoman
49' VfB Stuttgart Deniz Undav 0.11 Open Play Right Foot Blocked Shot Jamie Leweling
50' Eintracht Frankfurt Ritsu Doan 0.04 Open Play Left Foot Saved Shot Ellyes Skhiri
56' VfB Stuttgart Chris Führich 0.08 Open Play Right Foot Missed Shot Deniz Undav
57' Eintracht Frankfurt Ansgar Knauff 0.04 Open Play Right Foot Shot On Post —
59' VfB Stuttgart Deniz Undav 0.21 Open Play Left Foot Missed Shot Maximilian Mittelstädt
63' Eintracht Frankfurt Arthur Theate 0.02 Open Play Left Foot Missed Shot Jean Négoce
63' VfB Stuttgart Deniz Undav 0.44 Open Play Right Foot Saved Shot Chris Führich
64' VfB Stuttgart Julian Chabot 0.49 From Corner — Missed Shot Chris Führich
70' VfB Stuttgart Chris Führich 0.06 Open Play Right Foot Blocked Shot Deniz Undav
71' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.02 Open Play Right Foot Missed Shot Mario Götze
79' Eintracht Frankfurt Ayoube Amaimouni-Echghouyab 0.04 Open Play Left Foot Goal Mahmoud Dahoud
81' Eintracht Frankfurt Rasmus Kristensen 0.03 Open Play Right Foot Missed Shot Arthur Theate
82' VfB Stuttgart Deniz Undav 0.26 Open Play Right Foot Saved Shot Maximilian Mittelstädt
84' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.07 Open Play Right Foot Blocked Shot Arthur Theate
84' VfB Stuttgart Badredine Bouanani 0.02 Open Play Left Foot Saved Shot Nikolas Nartey
86' VfB Stuttgart Nikolas Nartey 0.71 Open Play Left Foot Goal Joshua Vagnoman
88' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.04 Open Play Right Foot Saved Shot Arthur Theate
88' Eintracht Frankfurt Arnaud Kalimuendo Muinga 0.39 Open Play Left Foot Saved Shot Jean Négoce
89' VfB Stuttgart Deniz Undav 0.10 Open Play Left Foot Blocked Shot Maximilian Mittelstädt
94' Eintracht Frankfurt Arthur Theate 0.05 Direct Freekick Left Foot Blocked Shot —

Players

Eintracht Frankfurt

PlayerMinGA ShKPxGxA xGChain
Arnaud Kalimuendo Muinga FW 90 0 0 4 0 0.51 0.00 0.65
Rasmus Kristensen DR 90 1 0 2 0 0.10 0.00 0.03
Arthur Theate DL 90 0 0 2 3 0.07 0.13 0.24
Robin Koch DC 90 0 0 0 0 0.00 0.00 0.04
Kauã Santos GK 90 0 0 0 0 0.00 0.00 0.08
Aurèle Amenda DC 90 0 0 0 0 0.00 0.00 0.04
Ellyes Skhiri MC 82 0 0 1 1 0.10 0.04 0.16
Ritsu Doan MR 82 0 1 1 1 0.04 0.07 0.14
Ansgar Knauff ML 72 0 0 1 0 0.04 0.00 0.04
Oscar Højlund MC 71 0 0 0 0 0.00 0.00 0.02
Jean Négoce Sub 71 0 0 0 3 0.00 0.50 0.54
Mahmoud Dahoud Sub 19 0 1 0 1 0.00 0.04 0.04
Younes Ebnoutalib FW 19 0 0 0 0 0.00 0.00 0.00
Mario Götze Sub 18 0 0 0 1 0.00 0.02 0.05
Ayoube Amaimouni-Echghouyab Sub 8 1 0 1 0 0.04 0.00 0.04
Nnamdi Collins Sub 8 0 0 0 0 0.00 0.00 0.04

VfB Stuttgart

PlayerMinGA ShKPxGxA xGChain
Deniz Undav FW 90 1 0 7 4 1.23 0.52 2.48
Joshua Vagnoman DR 90 0 2 1 3 0.29 0.84 1.23
Jamie Leweling AMC 90 0 0 3 1 0.21 0.11 0.47
Angelo Stiller DMC 90 0 0 1 0 0.02 0.00 0.86
Maximilian Mittelstädt DL 90 0 0 1 3 0.01 0.56 2.14
Ramon Hendriks DC 90 0 0 0 0 0.00 0.00 1.09
Alexander Nübel GK 90 0 0 0 0 0.00 0.00 0.81
Atakan Karazor DMC 90 0 0 0 1 0.00 0.00 1.32
Chris Führich AMC 80 0 0 3 2 0.16 0.93 0.99
Julian Chabot DC 79 0 0 1 0 0.49 0.00 0.57
Ermedin Demirovic FW 64 1 0 1 1 0.41 0.09 0.59
Nikolas Nartey Sub 26 1 0 1 1 0.71 0.02 1.17
Finn Jeltsch Sub 11 0 0 0 0 0.00 0.00 0.27
Badredine Bouanani Sub 10 0 0 1 0 0.02 0.00 0.73
Leonidas Stergiou Sub 1 0 0 0 0 0.00 0.00 0.00
Lorenz Assignon 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