Bundesliga

· Germany

Strength. Context. What's next.

League Strength League Strength uses the mean Elo of this league's clubs on a separate fixed 0–100 scale. L90 Strength rates each club from its own Elo with a different calibration. League Strength is not the average L90 Strength, and the two scores are not directly comparable.90 / 100Avg L90 Strength 54 · mean Elo 1682
Competitive Index8 / 100How open the title race is
Matches played54 / 306Season progress 18%

Fixtures & Forecasts

Match results, upcoming fixtures and pre-match predictions.

All fixtures →
MatchDateHomeScoreAway1X2xG (forecast)TOTAL xGBTTSOver 2.5Weather
VfB Stuttgart Borussia Mönchengladbach Fri, Oct 2319:30 VfB Stuttgart vs Borussia Mönchengladbach 72%|15%|13% 3.00|1.25 4.25 68% 80% 12°C
FSV Mainz 05 Werder Bremen Sat, Oct 2414:30 FSV Mainz 05 vs Werder Bremen 56%|20%|23% 2.33|1.48 3.81 70% 73% 12°C
FC Augsburg Union Berlin Sat, Oct 2414:30 FC Augsburg vs Union Berlin 53%|20%|27% 2.40|1.71 4.11 75% 78% 11°C
RB Leipzig SV Elversberg Sat, Oct 2414:30 RB Leipzig vs SV Elversberg 63%|18%|19% 2.62|1.43 4.05 71% 77% 12°C
SC Paderborn 07 Hamburger SV Sat, Oct 2414:30 SC Paderborn 07 vs Hamburger SV 42%|25%|34% 1.66|1.48 3.14 63% 61% 12°C
1.FC Köln FC Schalke 04 Sat, Oct 2414:30 1.FC Köln vs FC Schalke 04 41%|25%|33% 1.60|1.43 3.03 61% 58% 11°C
Borussia Dortmund Eintracht Frankfurt Sat, Oct 2417:30 Borussia Dortmund vs Eintracht Frankfurt 69%|17%|14% 2.63|1.14 3.77 63% 73% 9°C
1899 Hoffenheim Bayer Leverkusen Sun, Oct 2514:30 1899 Hoffenheim vs Bayer Leverkusen 18%|18%|63% 1.38|2.60 3.98 70% 76% 15°C
SC Freiburg Bayern München Sun, Oct 2516:30 SC Freiburg vs Bayern München 16%|17%|67% 1.30|2.73 4.03 68% 77% 15°C
Forecast fit Good / Close Fair Low / Poor Not evaluated

xG (forecast) shows LOAD90 expected goals as home | away. TOTAL xG is their sum: the expected total goals in the match. 1X2 shows home win (1) | draw (X) | away win (2) probabilities; bold marks the most likely outcome before the match and the actual outcome after it. BTTS and Over 2.5 are LOAD90 probabilities. xG below a final score is the actual match xG, home – away. Missing data is shown as —.

Forecast evaluation · how to read the colours

1X2 fit in the 1X2 column evaluates the saved home / draw / away probabilities against the actual outcome using Brier score: Σ(probability − actual outcome)², with 1 for the actual outcome and 0 for the other two. It does not grade the total goals or demand an exact score: 1–0 and 5–1 receive the same 1X2 fit for the same forecast. xG margin fit on forecast xG compares who was expected to dominate, and by how much, with the actual match xG: |(λ home − λ away) − (xG home − xG away)|, where a margin is home minus away. It is direction-aware: a favourite that really dominated is not marked down just for creating more or less than forecast in total, while the wrong direction gives a large gap. It does not depend on the final score or on total xG (see TOTAL xG fit). A low 1X2 fit and close xG margin fit can occur together; finishing variation may be one explanation.

TOTAL xG fit compares the displayed forecast total with the final goal count: |TOTAL xG − (home goals + away goals)|. This describes distance from the expected mean, not the probability of the exact score. The expected total is not a guaranteed result; a large difference in one match does not establish a model error. Separate frozen reference forecast_total_fit_v1: 250 retrospective forecasts from the same dates. Close: difference ≤ 0.65 goals; Poor: difference ≥ 2.00 goals; Fair: between them. This fit does not require actual match xG.

BTTS and Over 2.5 colours evaluate their own Yes/No outcomes using binary Brier score. Green/teal → amber → red means closer → less close. Good / Close is the lowest-error quarter of the reference; Low / Poor is the highest-error quarter. Fair is between them. Hover over a coloured metric for its values. Without a valid pre-match snapshot or both actual xG values, the corresponding indicator stays neutral.

xG margin fit uses its own frozen reference forecast_xg_margin_fit_v1: 137 retrospective LOAD90 forecasts with actual match xG, 15 Aug–20 Sep 2026. Close: gap ≤ 0.38; Poor: gap ≥ 1.41; Fair: between them. It supersedes the older per-team xG scale of forecast_fit_v1 for the xG (forecast) column.

Fixed reference forecast_fit_v1: 250 retrospective LOAD90 forecasts, 15 Aug–20 Sep 2026; actual xG available for 137 matches. This is a retrospective colour scale, not evidence of live forecast accuracy. One match cannot establish whether a probability model is well calibrated.

League table & season forecast

Current standings, with the season ahead in the same view.

View League Table →

Swipe to explore the season forecast →

#ClubRatingPWDLGFGAGDPtsProj. ptsLikely finish 80% rangeTitleTop 4Rel.FormClub details
1▲ Bayern München 94 6 420225 +17 14 83 1st 95% >99% 0%
League record4 W · 2 D · 0 L22 scored · 5 conceded
Attack / Defence96 / 90Fixed 0–100 scales
Next match load20Context index · all competitions
Next 5 · match loadOpen a match for details
2– Borussia Dortmund 81 6 420114 +7 14 66 2–4 2% 90% 0%
League record4 W · 2 D · 0 L11 scored · 4 conceded
Attack / Defence69 / 80Fixed 0–100 scales
Next match load53Context index · all competitions
Next 5 · match loadOpen a match for details
3▼ SC Freiburg 64 6 411156 +9 13 56 3–8 <1% 42% 0%
League record4 W · 1 D · 1 L15 scored · 6 conceded
Attack / Defence63 / 73Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
4– Bayer Leverkusen 79 6 411169 +7 13 68 2–4 3% 95% 0%
League record4 W · 1 D · 1 L16 scored · 9 conceded
Attack / Defence87 / 79Fixed 0–100 scales
Next match load40Context index · all competitions
Next 5 · match loadOpen a match for details
5▲ FSV Mainz 05 55 6 3121410 +4 10 49 5–12 0% 9% <1%
League record3 W · 1 D · 2 L14 scored · 10 conceded
Attack / Defence68 / 56Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
6▲ SV Elversberg 42 6 3121211 +1 10 42 7–15 0% 1% 4%
League record3 W · 1 D · 2 L12 scored · 11 conceded
Attack / Defence44 / 37Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
7▼ RB Leipzig 68 6 3031611 +5 9 55 3–8 <1% 36% <1%
League record3 W · 0 D · 3 L16 scored · 11 conceded
Attack / Defence76 / 53Fixed 0–100 scales
Next match load35Context index · all competitions
Next 5 · match loadOpen a match for details
8▼ Werder Bremen 43 6 2311212 +0 9 43 7–15 0% 1% 4%
League record2 W · 3 D · 1 L12 scored · 12 conceded
Attack / Defence56 / 45Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
9▲ Hamburger SV 40 6 303615 -9 9 40 8–16 0% <1% 9%
League record3 W · 0 D · 3 L6 scored · 15 conceded
Attack / Defence37 / 43Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
10▼ FC Augsburg 50 6 2221612 +4 8 44 6–14 0% 2% 3%
League record2 W · 2 D · 2 L16 scored · 12 conceded
Attack / Defence72 / 23Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
11▲ Eintracht Frankfurt 48 6 2221016 -6 8 43 7–15 0% 1% 4%
League record2 W · 2 D · 2 L10 scored · 16 conceded
Attack / Defence54 / 37Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
12▼ 1.FC Köln 34 6 213811 -3 7 34 11–18 0% <1% 32%
League record2 W · 1 D · 3 L8 scored · 11 conceded
Attack / Defence36 / 36Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
13▼ VfB Stuttgart 68 6 204810 -2 6 53 4–10 0% 20% <1%
League record2 W · 0 D · 4 L8 scored · 10 conceded
Attack / Defence70 / 58Fixed 0–100 scales
Next match load28Context index · all competitions
Next 5 · match loadOpen a match for details
14▲ 1899 Hoffenheim 49 6 2041114 -3 6 40 8–16 0% 1% 9%
League record2 W · 0 D · 4 L11 scored · 14 conceded
Attack / Defence46 / 43Fixed 0–100 scales
Next match load15Context index · all competitions
Next 5 · match loadOpen a match for details
15▼ FC Schalke 04 46 6 12347 -3 5 39 8–17 0% <1% 11%
League record1 W · 2 D · 3 L4 scored · 7 conceded
Attack / Defence33 / 50Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
16▼ SC Paderborn 07 38 6 12359 -4 5 35 10–18 0% <1% 28%
League record1 W · 2 D · 3 L5 scored · 9 conceded
Attack / Defence34 / 33Fixed 0–100 scales
Next match load0Context index · all competitions
Next 5 · match loadOpen a match for details
17▼ Union Berlin 39 6 123517 -12 5 37 9–17 0% <1% 20%
League record1 W · 2 D · 3 L5 scored · 17 conceded
Attack / Defence42 / 41Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
18– Borussia Mönchengladbach 36 6 006820 -12 0 27 15–18 0% 0% 77%
League record0 W · 0 D · 6 L8 scored · 20 conceded
Attack / Defence34 / 21Fixed 0–100 scales
Next match load6Context index · all competitions
Next 5 · match loadOpen a match for details
80% finish rangeMedian finishCompare positions →Ordered by current league position▲ Up · ▼ Down · – Unchanged · Since the start of the latest played matchweek
- Champions League (League Stage)- Europa League (League Stage)- Europa Conference League (Qualification)- Relegation Round- Relegation - Serie B

Projected points and positions from 5,000 season simulations. Relegation means the bottom 2 (play-offs not modelled). Updated 43 minutes ago. Pure football forecast, no betting market input.

League position comparison

Actual standings by matchweek · Bundesliga

All 18 clubs · MW 6

ClubPosition · MW 6

First place is at the top. All clubs share the same matchweek cutoffs; partial rounds are marked. Postponed results enter later snapshots.

View position data for all clubs
League positions by matchweek
MWBayern MünchenBorussia DortmundSC FreiburgBayer LeverkusenFSV Mainz 05SV ElversbergRB LeipzigWerder BremenHamburger SVFC AugsburgEintracht Frankfurt1.FC KölnVfB Stuttgart1899 HoffenheimFC Schalke 04SC Paderborn 07Union BerlinBorussia Mönchengladbach
1152131074151438618121711916
2632754810181131191614121517
3421786510183912141311151617
4213567981641013151411121718
5321489571261410111713151618
6123456789101112131415161718