betaider.com

St. Pauli v FC Heidenheim — Prediction, Odds & Stats

Saturday 13 December 2025 · GER-Bundesliga · 2526

Bundesliga xG Prediction generated

2–1
1.00 – 1.89 xG
Shots
8 – 20
On target
4 – 7
Shots in box
7 – 14
xG per shot
0.13 – 0.10
Set-piece xG
0.08 – 0.17
Goals − xG
+1.00 – -0.95

AI prediction

ai-blend-oos No snapshot has been taken for this fixture yet; this is the stored price.
St. Pauli win
41.7%
Draw
30.2%
FC Heidenheim win
28.1%

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

St. Pauli are finishing sharply below their chances — 4.7 goals fewer than expected across 10 matches, despite creating the openings. They are also conceding fewer than expected — 2.8 goals saved beyond what the chances suggest.

DLLDLDLLLL last 10 scored 6 from 10.7 xG conceded 20 from 22.8 xG

FC Heidenheim have scored 19 from 17.3 expected and conceded 19 from 18.3 — both ends in line with the chances, so the recent record is a fair reflection.

LLDDWLWDWL last 10 scored 19 from 17.3 xG conceded 19 from 18.3 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.23–0.96 0% 0% 0% Home ✓
dc-xg-oos 1.48–1.05 1-1 12% 46% 50% 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.51.11.62.20'15'30'45'60'75'90'Martijn Kaars 34' — goalMartijn Kaars 52' — goalMarvin Pieringer 63' — goal
St. Pauli 1.00 xGFC Heidenheim 1.95 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

Thomas Keller 9' — Blocked Shot (0.01 xG, Open Play)Marvin Pieringer 12' — Missed Shot (0.07 xG, Open Play)James Sands 17' — Saved Shot (0.03 xG, Open Play)Pereira Lage 17' — Blocked Shot (0.39 xG, Open Play)Pereira Lage 18' — Saved Shot (0.11 xG, Open Play)Jackson Irvine 21' — Missed Shot (0.08 xG, Open Play)Martijn Kaars 28' — Blocked Shot (0.08 xG, From Corner)Pereira Lage 30' — Missed Shot (0.04 xG, Open Play)Martijn Kaars 34' — Goal (0.12 xG, Open Play)Adrian Beck 46' — Blocked Shot (0.03 xG, From Corner)Stefan Schimmer 46' — Saved Shot (0.32 xG, Open Play)Martijn Kaars 52' — Goal (0.15 xG, Open Play)Julian Niehues 57' — Saved Shot (0.05 xG, Open Play)Arijon Ibrahimovic 61' — Saved Shot (0.07 xG, Open Play)Marvin Pieringer 62' — Saved Shot (0.01 xG, From Corner)Marvin Pieringer 63' — Goal (0.85 xG, Open Play)Stefan Schimmer 63' — Missed Shot (0.07 xG, Open Play)Stefan Schimmer 66' — Missed Shot (0.11 xG, Open Play)Mathias Honsak 74' — Missed Shot (0.02 xG, From Corner)Omar Traoré 76' — Saved Shot (0.02 xG, Open Play)Jonas Föhrenbach 79' — Blocked Shot (0.02 xG, From Corner)Patrick Mainka 81' — Missed Shot (0.04 xG, From Corner)Omar Traoré 82' — Blocked Shot (0.05 xG, Open Play)Mathias Honsak 88' — Saved Shot (0.06 xG, Open Play)Niklas Dorsch 88' — Blocked Shot (0.02 xG, From Corner)Marnon Busch 90' — Blocked Shot (0.01 xG, Open Play)Stefan Schimmer 90' — Blocked Shot (0.09 xG, Open Play)Mathias Honsak 91' — Missed Shot (0.02 xG, From Corner)
St. Pauli attacking right FC Heidenheim attacking left Marker size is xG; filled markers are goals.

Every shot

MinTeamPlayerxG SituationBody partResultAssisted by
9' FC Heidenheim Thomas Keller 0.01 Open Play Right Foot Blocked Shot
12' FC Heidenheim Marvin Pieringer 0.07 Open Play Missed Shot Adrian Beck
17' St. Pauli James Sands 0.03 Open Play Right Foot Saved Shot Joel Chima Fujita
17' St. Pauli Pereira Lage 0.39 Open Play Right Foot Blocked Shot Jackson Irvine
18' St. Pauli Pereira Lage 0.11 Open Play Right Foot Saved Shot Arkadiusz Pyrka
21' St. Pauli Jackson Irvine 0.08 Open Play Right Foot Missed Shot Joel Chima Fujita
28' St. Pauli Martijn Kaars 0.08 From Corner Right Foot Blocked Shot
30' St. Pauli Pereira Lage 0.04 Open Play Missed Shot
34' St. Pauli Martijn Kaars 0.12 Open Play Right Foot Goal Joel Chima Fujita
46' FC Heidenheim Adrian Beck 0.03 From Corner Right Foot Blocked Shot Arijon Ibrahimovic
46' FC Heidenheim Stefan Schimmer 0.32 Open Play Right Foot Saved Shot Marnon Busch
52' St. Pauli Martijn Kaars 0.15 Open Play Right Foot Goal Joel Chima Fujita
57' FC Heidenheim Julian Niehues 0.05 Open Play Right Foot Saved Shot Marvin Pieringer
61' FC Heidenheim Arijon Ibrahimovic 0.07 Open Play Right Foot Saved Shot Stefan Schimmer
62' FC Heidenheim Marvin Pieringer 0.01 From Corner Saved Shot Arijon Ibrahimovic
63' FC Heidenheim Marvin Pieringer 0.85 Open Play Right Foot Goal Stefan Schimmer
63' FC Heidenheim Stefan Schimmer 0.07 Open Play Right Foot Missed Shot
66' FC Heidenheim Stefan Schimmer 0.11 Open Play Left Foot Missed Shot Jonas Föhrenbach
74' FC Heidenheim Mathias Honsak 0.02 From Corner Right Foot Missed Shot
76' FC Heidenheim Omar Traoré 0.02 Open Play Left Foot Saved Shot
79' FC Heidenheim Jonas Föhrenbach 0.02 From Corner Left Foot Blocked Shot Omar Traoré
81' FC Heidenheim Patrick Mainka 0.04 From Corner Missed Shot Arijon Ibrahimovic
82' FC Heidenheim Omar Traoré 0.05 Open Play Right Foot Blocked Shot Stefan Schimmer
88' FC Heidenheim Mathias Honsak 0.06 Open Play Left Foot Saved Shot
88' FC Heidenheim Niklas Dorsch 0.02 From Corner Right Foot Blocked Shot Jonas Föhrenbach
90' FC Heidenheim Marnon Busch 0.01 Open Play Right Foot Blocked Shot Jonas Föhrenbach
90' FC Heidenheim Stefan Schimmer 0.09 Open Play Right Foot Blocked Shot Patrick Mainka
91' FC Heidenheim Mathias Honsak 0.02 From Corner Left Foot Missed Shot

Players

St. Pauli

PlayerMinGA ShKPxGxA xGChain
Jackson Irvine MC 90 0 0 1 1 0.08 0.39 0.47
James Sands MC 90 0 0 1 0 0.03 0.00 0.15
Hauke Wahl DC 90 0 0 0 0 0.00 0.00 0.65
Arkadiusz Pyrka DMR 90 0 0 0 1 0.00 0.11 0.38
Joel Chima Fujita AMC 90 0 2 0 4 0.00 0.39 0.49
Karol Mets DC 90 0 0 0 0 0.00 0.00 0.12
Louis Oppie DML 90 0 0 0 0 0.00 0.00 0.03
Nikola Vasilj GK 90 0 0 0 0 0.00 0.00 0.15
Martijn Kaars FW 80 2 0 3 0 0.36 0.00 0.69
Pereira Lage AMC 50 0 0 3 0 0.53 0.00 0.74
Eric Smith DC 44 0 0 0 0 0.00 0.00 0.54
Adam Dzwigala Sub 40 0 0 0 0 0.00 0.00 0.15
Ricky-Jade Jones Sub 10 0 0 0 0 0.00 0.00 0.00
Connor Metcalfe Sub 1 0 0 0 0 0.00 0.00 0.00

FC Heidenheim

PlayerMinGA ShKPxGxA xGChain
Marvin Pieringer FW 90 1 0 3 1 0.93 0.05 1.11
Arijon Ibrahimovic AMC 90 0 0 1 3 0.07 0.08 0.45
Patrick Mainka DC 90 0 0 1 1 0.04 0.09 0.33
Jonas Föhrenbach DML 90 0 0 1 3 0.02 0.15 0.50
Marnon Busch DMR 90 0 0 1 1 0.01 0.32 0.66
Diant Ramaj GK 90 0 0 0 0 0.00 0.00 0.32
Julian Niehues MC 82 0 0 1 0 0.05 0.00 0.37
Adrian Beck AMC 68 0 0 1 1 0.03 0.07 0.44
Tim Siersleben DC 68 0 0 0 0 0.00 0.00 0.37
Thomas Keller DC 50 0 0 1 0 0.01 0.00 0.01
Jan Schöppner MC 50 0 0 0 0 0.00 0.00 0.00
Stefan Schimmer Sub 40 0 1 4 3 0.58 0.97 1.56
Omar Traoré Sub 40 0 0 2 1 0.08 0.02 0.39
Mathias Honsak Sub 22 0 0 3 0 0.10 0.00 0.13
Mikkel Kaufmann Sub 22 0 0 0 0 0.00 0.00 0.00
Niklas Dorsch Sub 8 0 0 1 0 0.02 0.00 0.10
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