Stuttgart vs Dortmund: model prediction
DWDLW
LWWWW
Over 1.5 goals
Both teams to score
Over 2.5 goals
Our priceNo bookmaker price published for this match yet.
Prediction summary
Top 3 convictions
Model read
▾
The probabilities barely separate Stuttgart and Dortmund on 19 September 2026: Stuttgart nose ahead at 40%. The goals profile is lively: Over 2.5 sits at 67% with both teams to score at 68%. For shots markets, Deniz Undav is the obvious watch at 1.6 on target per 90 in recent data. Form guide over the last six: Stuttgart W2 D3 L1, Dortmund W5 D0 L1. The recent series reads 3 wins for Stuttgart, 1 draws and 1 for Dortmund over 5 games, 3.6 goals on average. Verdict: no bet. No bookmaker price published for this match yet.
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.2%
21.7%
38.1%
no bookmaker price published for this match yet
Goals markets
High probability
Strong chance
Strong chance
Corners markets
Strong chance
Good chance
Toss-up
Toss-up
Shots markets
Strong chance
Good 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
9.0 / 6.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: Our price. No bookmaker price published for this match yet.
Form & head-to-head
Last 5 meetings: Stuttgart 3 · 1 draws · Dortmund 1 · 3.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
@ 2.57
@ 1.40
@ 1.18
@ 2.17
@ 1.39
@ 1.31
@ 2.76
@ 1.72
@ 1.80
@ 4.41
@ 2.18
@ 2.47
@ 4.61
@ 1.93
@ 1.88
@ 4.13
@ 2.39
@ 2.10
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 | 70.7% | Over 24.5 | 59.2% | Over 26.5 | 47.1% | Over 28.5 | 35.5% |
|---|---|---|---|---|---|---|---|
| Most: Stuttgart | 64.7% | Most: Dortmund | 29.8% | ||||
| Stuttgart Over 13.2 | 56.9% | Dortmund Over 13.2 | 31.6% |
Shots on target
| Over 6.5 | 80.9% | Over 7.5 | 70.9% | Over 8.5 | 59.5% | Over 9.5 | 47.9% |
|---|---|---|---|---|---|---|---|
| Most: Stuttgart | 58.2% | Most: Dortmund | 30.5% | ||||
| Stuttgart Over 4.2 | 60.0% | Dortmund Over 4.2 | 39.9% |
Cards
| Over 2.5 | 70.3% | Over 3.5 | 49.1% | Over 4.5 | 29.9% |
|---|---|---|---|---|---|
| Most: Stuttgart | 35.0% | Most: Dortmund | 43.3% | ||
| Stuttgart Over 1.8 | 51.1% | Dortmund Over 1.8 | 57.1% |
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.28 | 1.61 | 0.63 | 71.6% | 84.7% | 38.9% |
| Ermedin Demirovic | 2.99 | 1.39 | 0.72 | 58.0% | 55.6% | 36.2% |
| Dzenan Pejcinovic | 3.14 | 1.28 | 0.43 | 51.7% | 53.3% | 21.7% |
| Tiago Tomás | 2.5 | 0.99 | 0.35 | 41.3% | 38.8% | 17.1% |
| Chris Führich | 1.92 | 0.82 | 0.22 | 40.4% | 34.1% | 12.9% |
Dortmund: 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 |
|---|---|---|---|---|---|---|
| Serhou Guirassy | 3.12 | 1.44 | 0.7 | 72.0% | 76.2% | 46.1% |
| Fabio Silva | 2.43 | 1.07 | 0.45 | 45.8% | 40.5% | 22.7% |
| Maximilian Beier | 2.37 | 0.8 | 0.41 | 41.8% | 47.6% | 24.2% |
| Ethan Nwaneri | 2.46 | 0.78 | 0.36 | 26.1% | 24.7% | 13.0% |
| Felix Nmecha | 1.34 | 0.38 | 0.19 | 25.1% | 27.1% | 13.5% |
Clean sheet & win to nil
| Stuttgart clean sheet | 18.0% |
|---|---|
| Dortmund clean sheet | 17.4% |
| Stuttgart win to nil | 14.4% |
| Dortmund win to nil | 13.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 | 39.0% | draw | 23.4% | away | 37.6% |
|---|---|---|---|---|---|
double_chance
| 1X | 62.4% | 12 | 76.6% | X2 | 61.0% |
|---|---|---|---|---|---|
dnb
| home | 50.9% | away | 49.1% |
|---|
btts
| yes | 67.9% | no | 32.1% |
|---|
clean_sheet
| home | 18.2% | away | 17.6% |
|---|
win_to_nil
| home | 14.5% | away | 13.9% |
|---|
winning_margin
| home_by_1 | 18.5% | home_by_2 | 11.8% | home_by_3plus | 8.7% |
|---|---|---|---|---|---|
| away_by_1 | 18.2% | away_by_2 | 11.3% | away_by_3plus | 8.2% |
correct_score
| 0-0 | 3.7% | 0-1 | 5.0% | 0-2 | 4.6% |
|---|---|---|---|---|---|
| 0-3 | 2.7% | 0-4 | 1.1% | 0-5 | 0.4% |
| 1-0 | 5.1% | 1-1 | 9.9% | 1-2 | 8.1% |
| 1-3 | 4.6% | 1-4 | 2.0% | 1-5 | 0.7% |
| 2-0 | 4.8% | 2-1 | 8.2% | 2-2 | 7.0% |
| 2-3 | 4.0% | 2-4 | 1.7% | 2-5 | 0.6% |
| 3-0 | 2.8% | 3-1 | 4.8% | 3-2 | 4.1% |
| 3-3 | 2.3% | 3-4 | 1.0% | 3-5 | 0.3% |
| 4-0 | 1.2% | 4-1 | 2.1% | 4-2 | 1.8% |
| 4-3 | 1.0% | 4-4 | 0.4% | 4-5 | 0.2% |
| 5-0 | 0.4% | 5-1 | 0.7% | 5-2 | 0.6% |
| 5-3 | 0.4% | 5-4 | 0.2% | 5-5 | 0.1% |
| other | 1.7% |
likeliest_score
| h | 100.0% | a | 100.0% | p | 9.9% |
|---|---|---|---|---|---|
Goals: totals / handicap / exact calibrated
total
| over_0.5 | 96.3% | under_0.5 | 3.7% | over_1.5 | 86.3% |
|---|---|---|---|---|---|
| under_1.5 | 13.7% | over_2.5 | 66.9% | under_2.5 | 33.1% |
| over_3.5 | 45.2% | under_3.5 | 54.8% | over_4.5 | 26.4% |
| under_4.5 | 73.6% | over_5.5 | 13.5% | under_5.5 | 86.5% |
odd_even
| odd | 49.0% | even | 51.0% |
|---|
team_home
| over_0.5 | 82.4% | under_0.5 | 17.6% | over_1.5 | 51.9% |
|---|---|---|---|---|---|
| under_1.5 | 48.1% | over_2.5 | 25.3% | under_2.5 | 74.7% |
team_away
| over_0.5 | 81.8% | under_0.5 | 18.2% | over_1.5 | 50.8% |
|---|---|---|---|---|---|
| under_1.5 | 49.2% | over_2.5 | 24.5% | under_2.5 | 75.5% |
most
| home | 39.0% | draw | 23.4% | away | 37.6% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 8.7% | away_+2.5 | 91.3% | home_-1.5 | 20.5% |
|---|---|---|---|---|---|
| away_+1.5 | 79.5% | home_-0.5 | 39.0% | away_+0.5 | 61.0% |
| home_+0.5 | 62.4% | away_-0.5 | 37.6% | home_+1.5 | 80.5% |
| away_-1.5 | 19.5% | home_+2.5 | 91.9% | away_-2.5 | 8.2% |
total_exact
| exact_0 | 3.7% | exact_1 | 10.0% | exact_2 | 19.4% |
|---|---|---|---|---|---|
| exact_3 | 21.7% | exact_4 | 18.7% | exact_5 | 12.9% |
| exact_6 | 7.4% | exact_7plus | 6.1% |
First half range, not a point
1×2
| home | 31.1% | draw | 37.8% | away | 31.1% |
|---|---|---|---|---|---|
total
| over_0.5 | 76.1% | under_0.5 | 23.9% | over_1.5 | 41.9% |
|---|---|---|---|---|---|
| under_1.5 | 58.1% | over_2.5 | 17.4% | under_2.5 | 82.6% |
btts
| yes | 26.1% | no | 73.9% |
|---|
total_exact
| exact_0 | 23.9% | exact_1 | 34.2% | exact_2 | 24.5% |
|---|---|---|---|---|---|
| exact_3 | 11.7% | exact_4plus | 5.7% |
Second half range, not a point
1×2
| home | 31.7% | draw | 30.3% | away | 38.0% |
|---|---|---|---|---|---|
total
| over_0.5 | 87.1% | under_0.5 | 12.9% | over_1.5 | 60.8% |
|---|---|---|---|---|---|
| under_1.5 | 39.2% | over_2.5 | 33.7% | under_2.5 | 66.3% |
btts
| yes | 41.0% | no | 59.0% |
|---|
Half-time / full-time range, not a point
| H/H | 21.6% | H/D | 5.8% | H/A | 3.7% |
|---|---|---|---|---|---|
| D/H | 12.0% | D/D | 11.5% | D/A | 14.4% |
| A/H | 2.8% | A/D | 5.1% | A/A | 23.3% |
Corners range, not a point
total
| over_7.5 | 75.6% | under_7.5 | 24.4% | over_8.5 | 64.5% |
|---|---|---|---|---|---|
| under_8.5 | 35.5% | over_9.5 | 52.5% | under_9.5 | 47.5% |
| over_10.5 | 40.8% | under_10.5 | 59.2% | over_11.5 | 30.2% |
| under_11.5 | 69.8% | over_12.5 | 21.3% | under_12.5 | 78.7% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 78.6% | under_3.5 | 21.4% | over_4.5 | 64.7% |
|---|---|---|---|---|---|
| under_4.5 | 35.3% | over_5.5 | 49.9% | under_5.5 | 50.1% |
team_away
| over_3.5 | 57.4% | under_3.5 | 42.6% | over_4.5 | 40.1% |
|---|---|---|---|---|---|
| under_4.5 | 60.0% | over_5.5 | 25.6% | under_5.5 | 74.4% |
most
| home | 61.1% | draw | 10.0% | away | 28.9% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 30.0% | away_+3.5 | 70.0% | home_-1.5 | 50.4% |
|---|---|---|---|---|---|
| away_+1.5 | 49.6% | home_-0.5 | 61.1% | away_+0.5 | 38.9% |
| home_+0.5 | 71.1% | away_-0.5 | 28.9% | home_+1.5 | 79.6% |
| away_-1.5 | 20.4% | home_+3.5 | 91.5% | away_-3.5 | 8.5% |
Shots range, not a point
total
| over_22.5 | 70.8% | under_22.5 | 29.3% | over_24.5 | 59.2% |
|---|---|---|---|---|---|
| under_24.5 | 40.8% | over_26.5 | 47.1% | under_26.5 | 52.9% |
| over_28.5 | 35.5% | under_28.5 | 64.5% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_10.5 | 79.2% | under_10.5 | 20.8% | over_12.5 | 64.8% |
|---|---|---|---|---|---|
| under_12.5 | 35.2% | over_14.5 | 48.9% | under_14.5 | 51.1% |
team_away
| over_10.5 | 57.5% | under_10.5 | 42.5% | over_12.5 | 39.6% |
|---|---|---|---|---|---|
| under_12.5 | 60.4% | over_14.5 | 24.6% | under_14.5 | 75.4% |
most
| home | 64.7% | draw | 5.5% | away | 29.8% |
|---|---|---|---|---|---|
handicap
| home_-4.5 | 40.6% | away_+4.5 | 59.4% | home_-2.5 | 52.8% |
|---|---|---|---|---|---|
| away_+2.5 | 47.2% | home_-0.5 | 64.7% | away_+0.5 | 35.3% |
| home_+0.5 | 70.2% | away_-0.5 | 29.8% | home_+2.5 | 79.9% |
| away_-2.5 | 20.1% | home_+4.5 | 87.4% | away_-4.5 | 12.7% |
Shots on target range, not a point
total
| over_6.5 | 80.9% | under_6.5 | 19.1% | over_7.5 | 70.9% |
|---|---|---|---|---|---|
| under_7.5 | 29.1% | over_8.5 | 59.5% | under_8.5 | 40.5% |
| over_9.5 | 47.9% | under_9.5 | 52.1% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_3.5 | 75.1% | under_3.5 | 24.9% | over_4.5 | 60.0% |
|---|---|---|---|---|---|
| under_4.5 | 40.0% | over_5.5 | 44.6% | under_5.5 | 55.4% |
team_away
| over_3.5 | 57.6% | under_3.5 | 42.4% | over_4.5 | 39.9% |
|---|---|---|---|---|---|
| under_4.5 | 60.1% | over_5.5 | 25.3% | under_5.5 | 74.7% |
most
| home | 58.2% | draw | 11.2% | away | 30.5% |
|---|---|---|---|---|---|
handicap
| home_-2.5 | 34.9% | away_+2.5 | 65.1% | home_-0.5 | 58.2% |
|---|---|---|---|---|---|
| away_+0.5 | 41.8% | home_+0.5 | 69.5% | away_-0.5 | 30.5% |
| home_+2.5 | 86.6% | away_-2.5 | 13.4% |
Cards calibrated
total
| over_2.5 | 70.3% | under_2.5 | 29.7% | over_3.5 | 49.1% |
|---|---|---|---|---|---|
| under_3.5 | 50.9% | over_4.5 | 29.9% | under_4.5 | 70.1% |
| over_5.5 | 16.0% | under_5.5 | 84.0% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_1.5 | 51.1% | under_1.5 | 48.9% | over_2.5 | 24.6% |
|---|---|---|---|---|---|
| under_2.5 | 75.4% |
team_away
| over_1.5 | 57.1% | under_1.5 | 42.9% | over_2.5 | 30.1% |
|---|---|---|---|---|---|
| under_2.5 | 69.9% |
most
| home | 35.0% | draw | 21.7% | away | 43.3% |
|---|---|---|---|---|---|
handicap
| home_-1.5 | 17.6% | away_+1.5 | 82.4% | home_-0.5 | 35.0% |
|---|---|---|---|---|---|
| away_+0.5 | 65.0% | home_+0.5 | 56.7% | away_-0.5 | 43.3% |
| home_+1.5 | 76.2% | away_-1.5 | 23.8% |
Fouls calibrated
total
| over_20.5 | 53.5% | under_20.5 | 46.5% | over_22.5 | 41.3% |
|---|---|---|---|---|---|
| under_22.5 | 58.7% | over_24.5 | 30.4% | under_24.5 | 69.6% |
odd_even
| odd | 50.0% | even | 50.0% |
|---|
team_home
| over_9.5 | 51.5% | under_9.5 | 48.5% | over_11.5 | 34.4% |
|---|---|---|---|---|---|
| under_11.5 | 65.6% | over_13.5 | 21.0% | under_13.5 | 79.0% |
team_away
| over_9.5 | 62.1% | under_9.5 | 37.9% | over_11.5 | 45.2% |
|---|---|---|---|---|---|
| under_11.5 | 54.8% | over_13.5 | 30.3% | under_13.5 | 69.7% |
most
| home | 39.2% | draw | 6.2% | away | 54.5% |
|---|---|---|---|---|---|
handicap
| home_-3.5 | 22.7% | away_+3.5 | 77.3% | home_-0.5 | 39.2% |
|---|---|---|---|---|---|
| away_+0.5 | 60.8% | home_+2.5 | 58.1% | away_-2.5 | 41.9% |
Red card range, not a point
any
| yes | 16.2% | no | 83.8% |
|---|
home
| yes | 6.3% | no | 93.7% |
|---|
away
| yes | 10.5% | no | 89.5% |
|---|
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: Stuttgart predictions · Dortmund 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

