Bundesliga table 2026/2027
- Leader Borussia Dortmund 12 pts
- Most above xPts Borussia Dortmund +4.20 against expected points
- Most below xPts Borussia M'gladbach −3.30 against expected points
The standings, with the expected figures beside them: what each club's chances were worth, match by match, next to what it actually took.
Showing non-penalty xG. Penalties are removed from xG, xGA and xGD; xPts is unchanged.
| # restore the table order | Team | P sort descending | W sort descending | D sort descending | L sort descending | GF sort descending | GA sort descending | GD sort descending | Pts sort descending | npxG sort descending | npxGA sort descending | npxGD sort descending | xPts sort descending | Pts vs xPts sort descending |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | Borussia Dortmund BVB | 4 | 4 | 0 | 0 | 9 | 2 | +7 | 12 | 6.69 | 3.27 | +3.42 | 7.80 | +4.20 |
| 2 | FC Bayern München FCB | 4 | 3 | 1 | 0 | 14 | 2 | +12 | 10 | 11.54 | 2.35 | +9.19 | 11.04 | −1.04 |
| 3 | SC Freiburg SCF | 4 | 3 | 1 | 0 | 12 | 3 | +9 | 10 | 8.33 | 2.83 | +5.50 | 9.04 | +0.96 |
| 4 | FC Augsburg FCA | 4 | 2 | 1 | 1 | 11 | 6 | +5 | 7 | 6.99 | 7.98 | −0.99 | 3.97 | +3.03 |
| 5 | Bayer 04 Leverkusen B04 | 4 | 2 | 1 | 1 | 10 | 5 | +5 | 7 | 9.59 | 3.47 | +6.12 | 9.37 | −2.37 |
| 6 | 1. FSV Mainz 05 M05 | 4 | 2 | 1 | 1 | 10 | 6 | +4 | 7 | 8.51 | 4.88 | +3.63 | 7.27 | −0.27 |
| 7 | SV 07 Elversberg SVE | 4 | 2 | 1 | 1 | 8 | 7 | +1 | 7 | 5.87 | 7.67 | −1.80 | 3.93 | +3.07 |
| 8 | SV Werder Bremen SVW | 4 | 2 | 1 | 1 | 8 | 8 | 0 | 7 | 4.42 | 5.29 | −0.87 | 4.62 | +2.38 |
| 9 | RB Leipzig RBL | 4 | 2 | 0 | 2 | 9 | 5 | +4 | 6 | 9.41 | 4.95 | +4.46 | 7.41 | −1.41 |
| 10 | Eintracht Frankfurt SGE | 4 | 1 | 2 | 1 | 9 | 10 | −1 | 5 | 6.81 | 7.76 | −0.95 | 5.45 | −0.45 |
| 11 | FC Schalke 04 S04 | 4 | 1 | 2 | 1 | 3 | 4 | −1 | 5 | 5.40 | 8.67 | −3.27 | 3.67 | +1.33 |
| 12 | SC Paderborn 07 SCP | 4 | 1 | 1 | 2 | 3 | 5 | −2 | 4 | 2.60 | 5.61 | −3.01 | 2.87 | +1.13 |
| 13 | 1. FC Köln KOE | 4 | 1 | 1 | 2 | 6 | 9 | −3 | 4 | 7.27 | 6.71 | +0.56 | 5.61 | −1.61 |
| 14 | TSG Hoffenheim TSG | 4 | 1 | 0 | 3 | 7 | 10 | −3 | 3 | 6.14 | 6.79 | −0.65 | 5.91 | −2.91 |
| 15 | VfB Stuttgart VFB | 4 | 1 | 0 | 3 | 6 | 9 | −3 | 3 | 7.00 | 10.91 | −3.91 | 4.03 | −1.03 |
| 16 | Hamburger SV HSV | 4 | 1 | 0 | 3 | 2 | 13 | −11 | 3 | 3.69 | 8.76 | −5.07 | 2.83 | +0.17 |
| 17 | 1. FC Union Berlin FCU | 4 | 0 | 1 | 3 | 4 | 17 | −13 | 1 | 4.74 | 9.75 | −5.01 | 2.78 | −1.78 |
| 18 | Borussia M'gladbach BMG | 4 | 0 | 0 | 4 | 6 | 16 | −10 | 0 | 4.98 | 12.33 | −7.35 | 3.30 | −3.30 |
- More points than xPts
- Fewer points than xPts
How to read this table
- xG
- Expected goals: the summed chance quality of the shots a club took. A chance scored nine times in ten is worth 0.9.
- xGA
- Expected goals against: the same measure for the shots a club allowed.
- xGD
- xG minus xGA: how far a club's chances outweighed its opponents', or the other way round.
- xPts
- Expected points: the points a club's match-by-match xG would be worth on average. Each match's two xG figures become chances of a win, a draw and a loss, and a win is worth 3 and a draw 1.
- Pts vs xPts
- Actual points minus expected points based on match xG. Positive, drawn in green, is more points than the chances were worth on average; negative, in red, is fewer. It measures the gap and says nothing about its cause.
- npxG
- Non-penalty xG: xG with penalties removed, offered where the competition's figures support it. It changes xG, xGA and xGD; xPts is always worked out from all xG.
Expected points are read off the same score matrix that prices the board: each played match's two xG totals are taken as scoring rates, and the team's share is 3 × P(win) + 1 × P(draw), summed over the season. Understat arrives at the same figure by simulating each shot, which needs per-shot data, held here for %{competitions}. Passes per defensive action and deep completions are not shown because no source here ingests the event data behind them.