Hoffenheim vs Stuttgart: model prediction
DWLLL
DWDLW
Over 1.5 goals
Over 2.5 goals
Both teams to score
Fairly pricedValue_gap +0.017 <= 0.03.
Prediction summary
Top 3 convictions
Model read
▾
Expect a tight one: the model splits Hoffenheim and Stuttgart almost evenly, Hoffenheim marginally on top at 41%. Three things stand out in the data: 1) Market and model are aligned here; the fair price says 41%. 2) The goals profile is lively: Over 2.5 sits at 72% with both teams to score at 72%. 3) For shots markets, Adam Hlozek is the obvious watch at 1.1 on target per 90 in recent data. History adds colour: across the last 5 meetings it is 0 wins for Hoffenheim, 4 draws and 1 for Stuttgart at 2.6 goals per match. Form guide over the last six: Hoffenheim W2 D1 L3, Stuttgart W2 D3 L1. Verdict: no bet. Value_gap +0.017 <= 0.03.
Value & higher-risk angles
Lower-probability calls our model rates above the obvious price; random finds are high-return scorelines that can happen. Higher risk, not a tip; we never beat the sharp market.
Model vs market
40.9%+0.3%
21.3%-2.0%
37.8%+1.7%
value_gap +0.017 <= 0.03
Goals markets
High probability
Strong chance
Strong chance
Corners markets
Strong chance
Good chance
Reasonable chance
Toss-up
Shots markets
Strong chance
Strong chance
Reasonable chance
Toss-up
Recent shot volume
Shots taken and faced per game over each side’s last 6 matches, from real match data.
First half / second half shots
7.5 / 9.5
7.5 / 9.5
Shots taken before and after half-time, per game, over the games in brackets. The bar is the share taken in the first half. This is Understat shot data with the half-time split verified against the half-time score, counted separately from the match shot totals above, so the two can differ. A match where the split could not be verified is left out rather than guessed.
Totals line guide
Discipline: Fairly priced. Value_gap +0.017 <= 0.03.
Form & head-to-head
Last 5 meetings: Hoffenheim 0 · 4 draws · Stuttgart 1 · 2.6 goals/game.
Season stats
Season 2026/27, real results only
Players to watch
Top 3 per side by recent form, this season’s squad only, a watch list, not a confirmed lineup
@ 4.52
@ 1.89
@ 1.82
@ 2.54
@ 1.38
@ 1.17
@ 18.18
@ 4.03
@ 8.93
@ 2.72
@ 1.75
@ 1.83
@ 3.64
@ 1.79
@ 1.72
@ 4.52
@ 1.96
@ 1.85
Bookmaker odds
Real bookmaker price (Bet365) next to our model fair price. Bookmaker prices include the bookmaker margin, so our margin-free fair price usually looks longer. We do not claim to beat the closing market.
Model fair odds
Our calibrated probability as a decimal price (1 divided by probability). A fair model price, not a bookmaker quote.
Match result
Goals
Corners
Cards
Shots on target
Shots
Fouls
All model outcomes · full market spectrum & player markets
Shots
| Over 22.5 | 73.0% | Over 24.5 | 61.8% | Over 26.5 | 49.8% | Over 28.5 | 38.1% |
|---|---|---|---|---|---|---|---|
| Most: Hoffenheim | 63.6% | Most: Stuttgart | 30.9% | ||||
| Hoffenheim Over 13.2 | 58.0% | Stuttgart Over 13.2 | 34.2% |
Shots on target
| Over 6.5 | 85.8% | Over 7.5 | 77.3% | Over 8.5 | 67.2% | Over 9.5 | 56.2% |
|---|---|---|---|---|---|---|---|
| Most: Hoffenheim | 55.8% | Most: Stuttgart | 33.2% | ||||
| Hoffenheim Over 4.2 | 63.8% | Stuttgart Over 4.2 | 47.9% |
Cards
| Over 2.5 | 73.0% | Over 3.5 | 52.5% | Over 4.5 | 33.1% |
|---|---|---|---|---|---|
| Most: Hoffenheim | 42.1% | Most: Stuttgart | 36.6% | ||
| Hoffenheim Over 1.8 | 58.5% | Stuttgart Over 1.8 | 54.5% |
Hoffenheim: players to watch (recent-form projection)
O/U = Poisson on per-90 rates scaled to the player’s expected minutes · this season’s squad, a recent-form projection, not a confirmed lineup.
| Player | Shots/90 | SoT/90 | Goals/90 | 1+ SoT | 2+ shots | To score |
|---|---|---|---|---|---|---|
| Adam Hlozek | 2.8 | 1.14 | 0.38 | 52.8% | 55.0% | 22.1% |
| Max Moerstedt | 2.2 | 1.1 | 0.22 | 24.8% | 11.2% | 5.5% |
| Andrej Kramaric | 2.37 | 0.99 | 0.39 | 55.8% | 58.1% | 27.5% |
| Tim Lemperle | 2.45 | 0.95 | 0.39 | 52.2% | 56.7% | 26.1% |
| Adam Daghim | 1.85 | 0.72 | 0.18 | 34.0% | 28.9% | 9.9% |
Stuttgart: players to watch (recent-form projection)
O/U = Poisson on per-90 rates scaled to the player’s expected minutes · this season’s squad, a recent-form projection, not a confirmed lineup.
| Player | Shots/90 | SoT/90 | Goals/90 | 1+ SoT | 2+ shots | To score |
|---|---|---|---|---|---|---|
| Deniz Undav | 4.3 | 1.62 | 0.63 | 72.3% | 85.4% | 39.3% |
| Ermedin Demirovic | 2.95 | 1.37 | 0.74 | 57.3% | 54.6% | 36.8% |
| Dzenan Pejcinovic | 3.26 | 1.29 | 0.45 | 51.1% | 54.0% | 22.1% |
| Tiago Tomás | 2.5 | 0.99 | 0.35 | 41.3% | 38.8% | 17.1% |
| Chris Führich | 1.96 | 0.83 | 0.22 | 40.6% | 34.9% | 12.9% |
Clean sheet & win to nil
| Hoffenheim clean sheet | 15.9% |
|---|---|
| Stuttgart clean sheet | 14.6% |
| Hoffenheim win to nil | 13.1% |
| Stuttgart win to nil | 11.8% |
Derived from the model score matrix above: a clean sheet is every scoreline where the opponent is on zero. Calibration-graded, not a tip.
Full market spectrum · model probabilities
Calibration-graded model %, no odds attached. Niche markets are transparency/coverage, not a claimed edge. Colour = measured out-of-sample calibration.
Match result & goals calibrated
1×2
| home | 40.4% | draw | 22.3% | away | 37.3% |
|---|---|---|---|---|---|
double_chance
| 1X | 62.7% | 12 | 77.7% | X2 | 59.6% |
|---|---|---|---|---|---|
dnb
| home | 52.0% | away | 48.0% |
|---|
btts
| yes | 71.9% | no | 28.2% |
|---|
clean_sheet
| home | 16.1% | away | 14.8% |
|---|
win_to_nil
| home | 13.3% | away | 12.0% |
|---|
winning_margin
| home_by_1 | 18.3% | home_by_2 | 12.2% | home_by_3plus | 10.0% |
|---|---|---|---|---|---|
| away_by_1 | 17.5% | away_by_2 | 11.2% | away_by_3plus | 8.6% |
correct_score
| 0-0 | 2.8% | 0-1 | 3.9% | 0-2 | 4.0% |
|---|---|---|---|---|---|
| 0-3 | 2.4% | 0-4 | 1.1% | 0-5 | 0.4% |
| 1-0 | 4.2% | 1-1 | 8.7% | 1-2 | 7.6% |
| 1-3 | 4.6% | 1-4 | 2.1% | 1-5 | 0.8% |
| 2-0 | 4.4% | 2-1 | 7.9% | 2-2 | 7.2% |
| 2-3 | 4.4% | 2-4 | 2.0% | 2-5 | 0.8% |
| 3-0 | 2.8% | 3-1 | 5.0% | 3-2 | 4.6% |
| 3-3 | 2.8% | 3-4 | 1.3% | 3-5 | 0.5% |
| 4-0 | 1.3% | 4-1 | 2.4% | 4-2 | 2.2% |
| 4-3 | 1.3% | 4-4 | 0.6% | 4-5 | 0.2% |
| 5-0 | 0.5% | 5-1 | 0.9% | 5-2 | 0.8% |
| 5-3 | 0.5% | 5-4 | 0.2% | 5-5 | 0.1% |
| other | 2.5% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 8.7% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 97.2% | under_0.5 | 2.8% | over_1.5 | 89.1% |
|---|---|---|---|---|---|
| under_1.5 | 10.9% | over_2.5 | 72.1% | under_2.5 | 27.9% |
| over_3.5 | 51.4% | under_3.5 | 48.6% | over_4.5 | 32.1% |
| under_4.5 | 67.9% | over_5.5 | 17.6% | under_5.5 | 82.4% |
odd_even
| odd | 49.1% | even | 50.9% |
|---|
team_home
| over_0.5 | 85.2% | under_0.5 | 14.8% | over_1.5 | 56.9% |
|---|---|---|---|---|---|
| under_1.5 | 43.1% | over_2.5 | 29.9% | under_2.5 | 70.1% |
team_away
| over_0.5 | 83.9% | under_0.5 | 16.1% | over_1.5 | 54.6% |
|---|---|---|---|---|---|
| under_1.5 | 45.5% | over_2.5 | 27.8% | under_2.5 | 72.2% |
most
| home | 40.4% | draw | 22.3% | away | 37.3% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 10.0% | away_+2.5 | 90.0% | home_-1.5 | 22.2% |
|---|---|---|---|---|---|
| away_+1.5 | 77.8% | home_-0.5 | 40.4% | away_+0.5 | 59.6% |
| home_+0.5 | 62.7% | away_-0.5 | 37.3% | home_+1.5 | 80.2% |
| away_-1.5 | 19.8% | home_+2.5 | 91.4% | away_-2.5 | 8.6% |
total_exact
| exact_0 | 2.8% | exact_1 | 8.1% | exact_2 | 17.0% |
|---|---|---|---|---|---|
| exact_3 | 20.7% | exact_4 | 19.3% | exact_5 | 14.5% |
| exact_6 | 9.0% | exact_7plus | 8.6% |
First half range, not a point
1×2
| home | 37.9% | draw | 32.9% | away | 29.3% |
|---|---|---|---|---|---|
total
| over_0.5 | 83.3% | under_0.5 | 16.7% | over_1.5 | 53.4% |
|---|---|---|---|---|---|
| under_1.5 | 46.6% | over_2.5 | 26.6% | under_2.5 | 73.4% |
btts
| yes | 34.7% | no | 65.3% |
|---|
total_exact
| exact_0 | 16.7% | exact_1 | 29.9% | exact_2 | 26.7% |
|---|---|---|---|---|---|
| exact_3 | 16.0% | exact_4plus | 10.7% |
Second half range, not a point
1×2
| home | 29.2% | draw | 29.7% | away | 41.0% |
|---|---|---|---|---|---|
total
| over_0.5 | 87.7% | under_0.5 | 12.3% | over_1.5 | 61.9% |
|---|---|---|---|---|---|
| under_1.5 | 38.1% | over_2.5 | 34.9% | under_2.5 | 65.1% |
btts
| yes | 41.7% | no | 58.4% |
|---|
Half-time / full-time range, not a point
| H/H | 26.2% | H/D | 6.9% | H/A | 4.8% |
|---|---|---|---|---|---|
| D/H | 9.6% | D/D | 9.8% | D/A | 13.5% |
| A/H | 2.3% | A/D | 4.3% | A/A | 22.7% |
Corners range, not a point
total
| over_7.5 | 76.9% | under_7.5 | 23.1% | over_8.5 | 66.1% |
|---|---|---|---|---|---|
| under_8.5 | 33.9% | over_9.5 | 54.3% | under_9.5 | 45.7% |
| over_10.5 | 42.6% | under_10.5 | 57.4% | over_11.5 | 31.9% |
| under_11.5 | 68.2% | over_12.5 | 22.7% | under_12.5 | 77.3% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 78.0% | under_3.5 | 22.0% | over_4.5 | 64.0% |
|---|---|---|---|---|---|
| under_4.5 | 36.0% | over_5.5 | 49.1% | under_5.5 | 50.9% |
team_away
| over_3.5 | 60.8% | under_3.5 | 39.2% | over_4.5 | 43.6% |
|---|---|---|---|---|---|
| under_4.5 | 56.4% | over_5.5 | 28.8% | under_5.5 | 71.2% |
most
| home | 58.4% | draw | 10.1% | away | 31.5% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 27.9% | away_+3.5 | 72.2% | home_-1.5 | 47.7% |
|---|---|---|---|---|---|
| away_+1.5 | 52.3% | home_-0.5 | 58.4% | away_+0.5 | 41.6% |
| home_+0.5 | 68.5% | away_-0.5 | 31.5% | home_+1.5 | 77.4% |
| away_-1.5 | 22.7% | home_+3.5 | 90.1% | away_-3.5 | 10.0% |
Shots range, not a point
total
| over_22.5 | 73.0% | under_22.5 | 27.0% | over_24.5 | 61.8% |
|---|---|---|---|---|---|
| under_24.5 | 38.2% | over_26.5 | 49.8% | under_26.5 | 50.2% |
| over_28.5 | 38.1% | under_28.5 | 61.9% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 80.0% | under_10.5 | 20.0% | over_12.5 | 65.8% |
|---|---|---|---|---|---|
| under_12.5 | 34.2% | over_14.5 | 50.1% | under_14.5 | 49.9% |
team_away
| over_10.5 | 60.2% | under_10.5 | 39.8% | over_12.5 | 42.4% |
|---|---|---|---|---|---|
| under_12.5 | 57.6% | over_14.5 | 27.0% | under_14.5 | 73.0% |
most
| home | 63.6% | draw | 5.5% | away | 30.9% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 39.7% | away_+4.5 | 60.4% | home_-2.5 | 51.7% |
|---|---|---|---|---|---|
| away_+2.5 | 48.3% | home_-0.5 | 63.6% | away_+0.5 | 36.4% |
| home_+0.5 | 69.1% | away_-0.5 | 30.9% | home_+2.5 | 78.9% |
| away_-2.5 | 21.1% | home_+4.5 | 86.6% | away_-4.5 | 13.4% |
Shots on target range, not a point
total
| over_6.5 | 85.8% | under_6.5 | 14.2% | over_7.5 | 77.4% |
|---|---|---|---|---|---|
| under_7.5 | 22.7% | over_8.5 | 67.2% | under_8.5 | 32.8% |
| over_9.5 | 56.2% | under_9.5 | 43.8% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 78.1% | under_3.5 | 21.9% | over_4.5 | 63.8% |
|---|---|---|---|---|---|
| under_4.5 | 36.2% | over_5.5 | 48.7% | under_5.5 | 51.3% |
team_away
| over_3.5 | 65.1% | under_3.5 | 34.9% | over_4.5 | 47.9% |
|---|---|---|---|---|---|
| under_4.5 | 52.1% | over_5.5 | 32.5% | under_5.5 | 67.5% |
most
| home | 55.8% | draw | 10.9% | away | 33.2% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 33.7% | away_+2.5 | 66.3% | home_-0.5 | 55.8% |
|---|---|---|---|---|---|
| away_+0.5 | 44.2% | home_+0.5 | 66.8% | away_-0.5 | 33.2% |
| home_+2.5 | 84.2% | away_-2.5 | 15.8% |
Cards calibrated
total
| over_2.5 | 73.0% | under_2.5 | 27.0% | over_3.5 | 52.5% |
|---|---|---|---|---|---|
| under_3.5 | 47.5% | over_4.5 | 33.1% | under_4.5 | 66.9% |
| over_5.5 | 18.3% | under_5.5 | 81.7% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_1.5 | 58.5% | under_1.5 | 41.5% | over_2.5 | 31.4% |
|---|---|---|---|---|---|
| under_2.5 | 68.6% |
team_away
| over_1.5 | 54.5% | under_1.5 | 45.5% | over_2.5 | 27.7% |
|---|---|---|---|---|---|
| under_2.5 | 72.3% |
most
| home | 42.1% | draw | 21.3% | away | 36.6% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 23.2% | away_+1.5 | 76.8% | home_-0.5 | 42.1% |
|---|---|---|---|---|---|
| away_+0.5 | 57.9% | home_+0.5 | 63.4% | away_-0.5 | 36.6% |
| home_+1.5 | 80.9% | away_-1.5 | 19.1% |
Fouls calibrated
total
| over_20.5 | 55.4% | under_20.5 | 44.6% | over_22.5 | 43.2% |
|---|---|---|---|---|---|
| under_22.5 | 56.8% | over_24.5 | 32.1% | under_24.5 | 67.9% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 67.1% | under_9.5 | 32.9% | over_11.5 | 50.8% |
|---|---|---|---|---|---|
| under_11.5 | 49.2% | over_13.5 | 35.5% | under_13.5 | 64.5% |
team_away
| over_9.5 | 48.2% | under_9.5 | 51.8% | over_11.5 | 31.2% |
|---|---|---|---|---|---|
| under_11.5 | 68.8% | over_13.5 | 18.4% | under_13.5 | 81.6% |
most
| home | 60.7% | draw | 5.9% | away | 33.4% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 42.1% | away_+3.5 | 57.9% | home_-0.5 | 60.7% |
|---|---|---|---|---|---|
| away_+0.5 | 39.3% | home_+2.5 | 77.2% | away_-2.5 | 22.8% |
Red card range, not a point
any
| yes | 17.0% | no | 83.0% |
|---|
home
| yes | 9.3% | no | 90.7% |
|---|
away
| yes | 8.5% | no | 91.6% |
|---|
How this works (honestly)
We are transparent about our method, our limits and how we measure performance.
Results, odds & closing prices, xG, shots, lineups, referee and schedule load.
Dixon-Coles + an xG strength model + champion/challenger selection + probability calibration + a trust gate.
We do not beat the sharp market. The value is honest probabilities, No-bet calls and CLV.
Top-pick hit rate 47.7% (reliability, not edge). Calibration error 0.0095 (55261 matches).
More: Hoffenheim predictions · Stuttgart predictions · Bundesliga
Not financial advice. No model beats the sharp closing market on public data. The value here is honest probabilities, No-bet calls, and CLV history.
Explore this match
Markets

