AI correctly predicted the Borussia Dortmund win.
The match finished 3–2, validating the model's directional assessment.
Tracked markets vs full-time result
Each row compares the pre-match model lean to the full-time result.
- Market Prediction Result Outcome
- Over / Under 2.5 Over 2.5 Over 2.5 (5 goals) ✔ Correct
- Both Teams To Score BTTS No Yes ✖ Incorrect
- 1X2 Borussia Dortmund Borussia Dortmund ✔ Correct
- Correct Score Insights 2-0, 2-1, 3-0, 3-1, 1-0 3-2 ✖ Incorrect
Model vs Closing Market
| Outcome | Model | Closing Market | Difference | Signal |
|---|---|---|---|---|
| Borussia Dortmund | 72.5% | 55.9% | +16.6 pp | Model Edge |
| Draw | 17.4% | 21.9% | -4.5 pp | Aligned |
| Eintracht Frankfurt | 10.1% | 22.2% | -12.1 pp | Market Higher |
The statistical model estimates Borussia Dortmund's win probability at 72.5%, compared with the closing market's implied probability of 55.9%, a difference of 16.6 percentage points. This highlights a substantial disagreement between the model's assessment and the market consensus, rather than indicating which view is ultimately correct.
Model probabilities are generated from the statistical xG model using a Poisson distribution. Closing market probabilities are derived from consensus closing 1X2 odds after margin removal. Values represent implied probabilities rather than betting recommendations. Closing snapshot: PRE1.
After full time, the model's directional lean matched the result (Borussia Dortmund win 3–2).
Market Assessment
The statistical fair estimate is materially higher than the market on Borussia Dortmund.
- The model may see a slower-scoring or closer matchup than the market.
- Monitor line movement before kickoff — not a betting recommendation.
Post Match Insights
What worked
- Expected goals projected a high-scoring match (ΣxG 3.52) — 5 goals materialised
- Borussia Dortmund attacking xG significantly stronger (2.60 vs 0.92)
- Over 2.5 goals aligned with the xG profile
What failed
- Both Teams To Score: model leaned BTTS No; match finished BTTS Yes
- Exact score: outside the model's top score bins
Market lesson
Large model–market gaps do not automatically mean the market is right. Here the closing market priced Borussia Dortmund more conservatively (55.9% vs model 72.5%, 16.6 pp), but the model's lean was validated (Borussia Dortmund win 3–2).
Prediction Timeline
How this prediction moved from forecast to full-time review.
-
May 09, 2026 · 13:29 UTC Forecast generated
- Model 1X2 · Borussia Dortmund 72.5% · Draw 17.4% · Eintracht Frankfurt 10.1%
- xG · Borussia Dortmund 2.60 — Eintracht Frankfurt 0.92
-
May 09, 2026 · 13:00 UTC Opening odds snapshot PRE30
- 1X2 odds · Borussia Dortmund 1.73 · Draw 4.42 · Eintracht Frankfurt 4.35
- Implied 1X2 · Borussia Dortmund 55.9% · Draw 21.9% · Eintracht Frankfurt 22.2%
- Bookmaker · Pinnacle
-
May 09, 2026 · 13:29 UTC Closing snapshot recorded PRE1
- 1X2 odds · Borussia Dortmund 1.73 · Draw 4.42 · Eintracht Frankfurt 4.35
- Implied 1X2 · Borussia Dortmund 55.9% · Draw 21.9% · Eintracht Frankfurt 22.2%
- Bookmaker · Pinnacle
-
May 08, 2026 · 18:30 UTC Kickoff
-
FT Full-time result Borussia Dortmund win · 3–2
-
FT Prediction validated Directional lean matched full-time result
-
Archived Prediction review
Historical Snapshot
Frozen at kickoff — the model output as it stood before the match started.
Pre-match metrics (historical context)
- Validation: Warning
- Large market gap (17 pp)
- High xG deviation from league baseline (93%+)
- Strong model lean
- Pricing remains divergent
- Validation warning
Validation Report
Immutable SnapshotProbability Calibration
- Expected: 72.5%
- Historical Bucket: 70–75% — Building sample
Model Performance
This prediction contributes to:
- Primary Bets ROI (180d): -100.0%
Review FAQ
- How accurate was the prediction?
- This page grades directional markets (1X2, Over/Under 2.5, BTTS) against the full-time result. The prediction grade reflects how many of those tracked markets matched reality.
- What does xG Accuracy measure?
- xG Accuracy compares the model's pre-match expected-goals profile to the actual scoreline — not whether every market hit. A strong directional review can coexist with a moderate xG accuracy score.
- Why wasn't the exact score predicted?
- Correct-score outcomes are low-probability tails even when the model reads the match profile well. We highlight top score bins for context; missing the exact line does not invalidate a directional review.
- Does this improve the AI record?
- Each finished match is logged in our validation pipeline. Aggregated hit rates and CLV studies are published separately — this page is the per-match audit trail.
Predictions are for informational purposes only. Always gamble responsibly and within your limits. Past performance does not guarantee future results.
Explore More Predictions Content
Get Premium Predictions for Borussia Dortmund & Eintracht Frankfurt!
Unlock in-depth analysis, exclusive betting tips, and match forecasts with our premium subscription service.
Subscribe Now
Bundesliga — Standings
| # | TEAM | MP | W | D | L | PTS |
|---|---|---|---|---|---|---|
| 1 | Bayern München | 34 | 28 | 5 | 1 | 89 |
| 2 | Borussia Dortmund | 34 | 22 | 7 | 5 | 73 |
| 3 | RB Leipzig | 34 | 20 | 5 | 9 | 65 |
| 4 | VfB Stuttgart | 34 | 18 | 8 | 8 | 62 |
| 5 | 1899 Hoffenheim | 34 | 18 | 7 | 9 | 61 |
| 6 | Bayer Leverkusen | 34 | 17 | 8 | 9 | 59 |
| 7 | SC Freiburg | 34 | 13 | 8 | 13 | 47 |
| 8 | Eintracht Frankfurt | 34 | 11 | 11 | 12 | 44 |
| 9 | FC Augsburg | 34 | 12 | 7 | 15 | 43 |
| 10 | FSV Mainz 05 | 34 | 10 | 10 | 14 | 40 |
| 11 | Union Berlin | 34 | 10 | 9 | 15 | 39 |
| 12 | Borussia Mönchengladbach | 34 | 9 | 11 | 14 | 38 |
| 13 | Hamburger SV | 34 | 9 | 11 | 14 | 38 |
| 14 | 1.FC Köln | 34 | 7 | 11 | 16 | 32 |
| 15 | Werder Bremen | 34 | 8 | 8 | 18 | 32 |
| 16 | VfL Wolfsburg | 34 | 7 | 8 | 19 | 29 |
| 17 | 1. FC Heidenheim | 34 | 6 | 8 | 20 | 26 |
| 18 | FC St. Pauli | 34 | 6 | 8 | 20 | 26 |
| # | TEAM | MP | GS | GC | +/- | PTS |
|---|---|---|---|---|---|---|
| 1 | Bayern München | 34 | 122 | 36 | +86 | 89 |
| 2 | VfB Stuttgart | 34 | 71 | 49 | +22 | 62 |
| 3 | Borussia Dortmund | 34 | 70 | 34 | +36 | 73 |
| 4 | Bayer Leverkusen | 34 | 68 | 47 | +21 | 59 |
| 5 | RB Leipzig | 34 | 66 | 47 | +19 | 65 |
| 6 | 1899 Hoffenheim | 34 | 65 | 52 | +13 | 61 |
| 7 | Eintracht Frankfurt | 34 | 61 | 65 | -4 | 44 |
| 8 | SC Freiburg | 34 | 51 | 57 | -6 | 47 |
| 9 | 1.FC Köln | 34 | 49 | 63 | -14 | 32 |
| 10 | FC Augsburg | 34 | 45 | 61 | -16 | 43 |
| 11 | VfL Wolfsburg | 34 | 45 | 69 | -24 | 29 |
| 12 | FSV Mainz 05 | 34 | 44 | 53 | -9 | 40 |
| 13 | Union Berlin | 34 | 44 | 58 | -14 | 39 |
| 14 | Borussia Mönchengladbach | 34 | 42 | 53 | -11 | 38 |
| 15 | 1. FC Heidenheim | 34 | 41 | 72 | -31 | 26 |
| 16 | Hamburger SV | 34 | 40 | 54 | -14 | 38 |
| 17 | Werder Bremen | 34 | 37 | 60 | -23 | 32 |
| 18 | FC St. Pauli | 34 | 29 | 60 | -31 | 26 |
| # | TEAM | MP | xG | xGC | +/- | PTS |
|---|---|---|---|---|---|---|
| 1 | Bayern München | 34 | 97.2 | 37.9 | +59.3 | 89 |
| 2 | Borussia Dortmund | 34 | 63.4 | 38.9 | +24.5 | 73 |
| 3 | Bayer Leverkusen | 34 | 64.0 | 44.8 | +19.2 | 59 |
| 4 | RB Leipzig | 34 | 66.3 | 50.2 | +16.1 | 65 |
| 5 | VfB Stuttgart | 34 | 60.1 | 49.8 | +10.3 | 62 |
| 6 | 1899 Hoffenheim | 34 | 55.1 | 51.4 | +3.7 | 61 |
| 7 | SC Freiburg | 34 | 48.6 | 47.8 | +0.8 | 47 |
| 8 | FSV Mainz 05 | 34 | 52.9 | 54.6 | -1.7 | 40 |
| 9 | 1.FC Köln | 34 | 50.9 | 54.9 | -4.0 | 32 |
| 10 | Eintracht Frankfurt | 34 | 45.4 | 50.1 | -4.7 | 44 |
| 11 | Union Berlin | 34 | 44.9 | 52.2 | -7.3 | 39 |
| 12 | Borussia Mönchengladbach | 34 | 42.7 | 52.5 | -9.8 | 38 |
| 13 | Werder Bremen | 34 | 40.4 | 54.3 | -13.9 | 32 |
| 14 | VfL Wolfsburg | 34 | 47.1 | 61.8 | -14.7 | 29 |
| 15 | 1. FC Heidenheim | 34 | 47.5 | 63.4 | -15.9 | 26 |
| 16 | FC Augsburg | 34 | 45.2 | 62.6 | -17.4 | 43 |
| 17 | Hamburger SV | 34 | 38.3 | 56.9 | -18.6 | 38 |
| 18 | FC St. Pauli | 34 | 30.5 | 56.2 | -25.7 | 26 |