2026-27 · results to Sun 8 Nov
Bundesliga: form in context
The table says where teams are. This page says how they got there: who they beat, who beat them, and whether the performances back it up.
The table, and the table behind it
Performance rank orders teams by how well they have played, adjusted for who they played and where. Five or more places from their real position earns a verdict. Points v average side: points won minus what an average team would have taken from the same fixtures.
| Pos | Team | P | Pts | GD | Performance rank | Verdict | Pts v average side | Home ppg | Away ppg | Last 6 |
|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Bayern Munich | 9 | 21 | +20 | 1 = | As it looks | +8.4 | 2.50 | 2.20 | WDWWDW |
| 2 | Dortmund | 9 | 21 | +9 | 6 ▼4 | As it looks | +8.2 | 2.60 | 2.00 | WDDWDW |
| 3 | Freiburg | 9 | 19 | +10 | 3 = | As it looks | +5.9 | 2.40 | 1.75 | DWLLWW |
| 4 | RB Leipzig | 9 | 18 | +14 | 2 ▲2 | As it looks | +4.9 | 3.00 | 0.75 | LWLWWW |
| 5 | Leverkusen | 9 | 16 | +3 | 7 ▼2 | As it looks | +4.0 | 2.25 | 1.40 | WWWLLW |
| 6 | Werder Bremen | 9 | 15 | +2 | 4 ▲2 | As it looks | +3.4 | 2.50 | 1.00 | WDDWWL |
| 7 | Elversberg | 9 | 13 | -1 | 14 ▼7 | Flattered | +1.7 | 2.25 | 0.80 | DLWLWL |
| 8 | Stuttgart | 9 | 12 | 0 | 11 ▼3 | As it looks | −0.3 | 1.50 | 1.20 | LWLLWW |
| 9 | Hoffenheim | 9 | 12 | -1 | 5 ▲4 | As it looks | −1.3 | 1.80 | 0.75 | LLWWLW |
| 10 | Ein Frankfurt | 9 | 12 | -5 | 10 = | As it looks | −0.5 | 1.75 | 1.00 | DLWLWD |
| 11 | Hamburg | 9 | 12 | -10 | 16 ▼5 | Flattered | −0.1 | 2.25 | 0.60 | WWWLLW |
| 12 | Mainz | 9 | 10 | -1 | 8 ▲4 | As it looks | −3.1 | 0.20 | 2.25 | WLWLLL |
| 13 | Paderborn | 9 | 10 | -3 | 15 ▼2 | As it looks | −2.5 | 1.40 | 0.75 | WLDWDD |
| 14 | Augsburg | 9 | 9 | 0 | 12 ▲2 | As it looks | −3.1 | 1.20 | 0.75 | LDLDLL |
| 15 | FC Koln | 9 | 9 | -4 | 9 ▲6 | Better than it looks | −4.6 | 1.60 | 0.25 | LWLDDL |
| 16 | Union Berlin | 9 | 7 | -14 | 18 ▼2 | As it looks | −5.1 | 1.20 | 0.25 | LWDDDL |
| 17 | Schalke 04 | 9 | 6 | -6 | 17 = | As it looks | −5.3 | 0.50 | 0.80 | DLLDLL |
| 18 | M'gladbach | 9 | 4 | -13 | 13 ▲5 | Better than it looks | −8.6 | 0.25 | 0.60 | LLLWDL |
How the season could finish
10,000 simulations of the rest of the season from the current ratings, allowing for the ratings themselves being wrong. Run-in: what an average side would expect per game from the fixtures left, against those already played (higher = easier). Regular season only.
| Team | Pts now | Left | Projected pts | Likely range | Avg finish | Champions | Top 4 | Bottom 3 | Run-in |
|---|---|---|---|---|---|---|---|---|---|
| Bayern Munich | 21 | 25 | 80 | 72–87 | 1.1 | 90% | >99% | 0% | Easier (+0.06) |
| Dortmund | 21 | 25 | 67 | 58–76 | 2.7 | 7% | 91% | 0% | Similar (−0.03) |
| RB Leipzig | 18 | 25 | 62 | 53–71 | 3.8 | 2% | 73% | 0% | Harder (−0.08) |
| Leverkusen | 16 | 25 | 58 | 49–67 | 4.8 | 1% | 50% | <1% | Easier (+0.08) |
| Freiburg | 19 | 25 | 56 | 47–65 | 5.5 | <1% | 38% | <1% | Harder (−0.11) |
| Stuttgart | 12 | 25 | 54 | 45–62 | 6.4 | <1% | 24% | <1% | Similar (+0.04) |
| Werder Bremen | 15 | 25 | 50 | 41–59 | 7.8 | <1% | 11% | 1% | Easier (+0.12) |
| Hoffenheim | 12 | 25 | 47 | 38–55 | 9.2 | <1% | 5% | 2% | Harder (−0.14) |
| Elversberg | 13 | 25 | 46 | 37–55 | 9.5 | 0% | 4% | 2% | Easier (+0.15) |
| Ein Frankfurt | 12 | 25 | 45 | 36–54 | 10.0 | <1% | 3% | 3% | Similar (−0.03) |
| Mainz | 10 | 25 | 42 | 33–51 | 11.1 | 0% | 1% | 7% | Harder (−0.12) |
| Augsburg | 9 | 25 | 41 | 33–50 | 11.4 | 0% | 1% | 9% | Similar (+0.04) |
| Hamburg | 12 | 25 | 39 | 31–48 | 12.4 | 0% | <1% | 15% | Similar (+0.01) |
| FC Koln | 9 | 25 | 37 | 29–45 | 13.3 | 0% | <1% | 24% | Harder (−0.20) |
| Paderborn | 10 | 25 | 34 | 26–42 | 14.5 | 0% | <1% | 40% | Harder (−0.06) |
| Union Berlin | 7 | 25 | 33 | 25–42 | 15.0 | 0% | <1% | 51% | Similar (+0.02) |
| M'gladbach | 4 | 25 | 29 | 21–38 | 16.2 | 0% | 0% | 71% | Harder (−0.06) |
| Schalke 04 | 6 | 25 | 28 | 20–37 | 16.4 | 0% | 0% | 75% | Easier (+0.11) |
Results against the table
Each row is a team; columns are their opponents in league order, 1st on the left. The number under each score is our performance measure for that game: how much better (+) or worse (−) than an average side in the same fixture.
How their games go
From goal times this season: share of minutes spent ahead, level and behind, and what happens after the first goal. Small samples early in a season; descriptive only, the model doesn't use it.
| Team | Games | Ahead | Level | Behind | Ppg after scoring first (n) | Ppg after conceding first (n) | Leads won | Points from behind |
|---|---|---|---|---|---|---|---|---|
| Bayern Munich | 9 | 57% | 34% | 9% | 2.71 (7) | 1.00 (1) | 6 of 7 | 1 from 1 |
| Dortmund | 9 | 30% | 62% | 8% | 2.67 (6) | 2.00 (2) | 6 of 7 | 4 from 2 |
| Freiburg | 9 | 32% | 47% | 21% | 2.50 (6) | 1.33 (3) | 6 of 7 | 4 from 4 |
| RB Leipzig | 9 | 47% | 24% | 30% | 3.00 (5) | 0.75 (4) | 6 of 6 | 3 from 4 |
| Leverkusen | 9 | 42% | 33% | 26% | 2.60 (5) | 0.75 (4) | 5 of 6 | 4 from 5 |
| Werder Bremen | 9 | 25% | 35% | 40% | 3.00 (3) | 1.00 (6) | 4 of 4 | 6 from 6 |
| Elversberg | 8 | 23% | 50% | 27% | 3.00 (2) | 0.60 (5) | 3 of 3 | 3 from 5 |
| Stuttgart | 9 | 38% | 39% | 23% | 2.40 (5) | 0.00 (4) | 4 of 5 | 0 from 5 |
| Hoffenheim | 9 | 37% | 45% | 17% | 2.00 (6) | 0.00 (3) | 4 of 7 | 0 from 5 |
| Ein Frankfurt | 9 | 39% | 40% | 21% | 1.83 (6) | 0.33 (3) | 3 of 7 | 2 from 5 |
| Hamburg | 9 | 18% | 45% | 38% | 3.00 (4) | 0.00 (5) | 4 of 4 | 3 from 6 |
| Mainz | 9 | 20% | 30% | 50% | 3.00 (2) | 0.50 (6) | 3 of 3 | 3 from 6 |
| Paderborn | 9 | 16% | 55% | 29% | 2.33 (3) | 0.25 (4) | 2 of 4 | 1 from 4 |
| Augsburg | 8 | 51% | 30% | 18% | 0.83 (6) | 2.00 (2) | 2 of 8 | 4 from 5 |
| FC Koln | 9 | 13% | 52% | 36% | 2.00 (2) | 0.67 (6) | 2 of 3 | 4 from 6 |
| Union Berlin | 9 | 11% | 47% | 42% | 1.67 (3) | 0.20 (5) | 1 of 3 | 2 from 6 |
| Schalke 04 | 9 | 8% | 55% | 37% | 3.00 (1) | 0.00 (5) | 1 of 1 | 0 from 5 |
| M'gladbach | 9 | 12% | 43% | 45% | 0.00 (2) | 0.50 (6) | 1 of 3 | 3 from 8 |
| League average (all teams) | 160 | 29% | 43% | 29% | 2.30 (74) | 0.55 (74) | 63 of 88 | 47 from 88 |
Points v an average side
| Team | Position | Points | Average side would have | Difference |
|---|---|---|---|---|
| Bayern Munich | 1 | 21 | 12.6 | +8.4 |
| Dortmund | 2 | 21 | 12.8 | +8.2 |
| Freiburg | 3 | 19 | 13.1 | +5.9 |
| RB Leipzig | 4 | 18 | 13.1 | +4.9 |
| Leverkusen | 5 | 16 | 12.0 | +4.0 |
| Werder Bremen | 6 | 15 | 11.6 | +3.4 |
| Elversberg | 7 | 13 | 11.3 | +1.7 |
| Hamburg | 11 | 12 | 12.1 | −0.1 |
| Stuttgart | 8 | 12 | 12.3 | −0.3 |
| Ein Frankfurt | 10 | 12 | 12.5 | −0.5 |
| Hoffenheim | 9 | 12 | 13.3 | −1.3 |
| Paderborn | 13 | 10 | 12.5 | −2.5 |
| Augsburg | 14 | 9 | 12.1 | −3.1 |
| Mainz | 12 | 10 | 13.1 | −3.1 |
| FC Koln | 15 | 9 | 13.6 | −4.6 |
| Union Berlin | 16 | 7 | 12.1 | −5.1 |
| Schalke 04 | 17 | 6 | 11.3 | −5.3 |
| M'gladbach | 18 | 4 | 12.6 | −8.6 |
Fixtures
Every remaining league game. Chances are today's view from the current ratings: games more than a week away will move as results come in. Full previews open about a week before.
November 2026 · 18 games
Friday 20 November
Saturday 21 November
Sunday 22 November
Friday 27 November
Saturday 28 November
Sunday 29 November
December 2026 · 27 games
Friday 4 December
Saturday 5 December
Sunday 6 December
Friday 11 December
Saturday 12 December
Sunday 13 December
Friday 18 December
Saturday 19 December
Sunday 20 December
January 2027 · 45 games
Friday 8 January
Saturday 9 January
Sunday 10 January
Tuesday 12 January
Wednesday 13 January
Thursday 14 January
Friday 15 January
Saturday 16 January
Sunday 17 January
Friday 22 January
Saturday 23 January
Sunday 24 January
Saturday 30 January
February 2027 · 36 games
Saturday 6 February
Saturday 13 February
Saturday 20 February
Saturday 27 February
March 2027 · 36 games
Tuesday 2 March
Saturday 6 March
Saturday 13 March
Saturday 20 March
April 2027 · 36 games
Saturday 3 April
Saturday 10 April
Saturday 17 April
Saturday 24 April
May 2027 · 27 games
Saturday 8 May
Saturday 15 May
Saturday 22 May