Heidenheim have the biggest shortfall in the Bundesliga: 26 points from chances worth 37.2 xPts, a gap of 11.2. At the other end, FC Bayern München have taken 89 points from an xPts figure of 72.3, 16.7 more than the underlying numbers justify.
Expected goals measure the quality of the chances a team creates and concedes, with every shot scored between 0 and 1 by how often shots like it are converted. Expected points come from running each finished match through a Poisson model using both sides' xG, giving a win, draw and loss probability, then awarding three points and one point against those probabilities. Underlying data is supplied by Sportmonks.
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | FC Bayern München | 17 | 68 | 50.0 | +18.0 | 19 | 16.9 | +2.1 | +49 | 33.1 | +15.9 | 44 | 39.3 | +4.7 |
| 2 | Bayer 04 Leverkusen | 17 | 38 | 41.2 | -3.2 | 19 | 18.6 | +0.4 | +19 | 22.5 | -3.5 | 31 | 35.3 | -4.3 |
| 3 | Borussia Dortmund | 17 | 40 | 38.3 | +1.7 | 16 | 18.3 | -2.3 | +24 | 20.0 | +4.0 | 41 | 33.7 | +7.3 |
| 4 | RB Leipzig | 17 | 40 | 41.5 | -1.5 | 20 | 24.4 | -4.4 | +20 | 17.1 | +2.9 | 38 | 33.3 | +4.7 |
| 5 | VfB Stuttgart | 17 | 30 | 33.9 | -3.9 | 16 | 20.3 | -4.3 | +14 | 13.6 | +0.4 | 39 | 31.5 | +7.5 |
| 6 | TSG Hoffenheim | 17 | 35 | 31.6 | +3.4 | 21 | 20.7 | +0.3 | +14 | 11.0 | +3.0 | 32 | 30.3 | +1.7 |
| 7 | SC Freiburg | 17 | 33 | 32.0 | +1.0 | 22 | 22.2 | -0.2 | +11 | 9.8 | +1.2 | 32 | 29.0 | +3.0 |
| 8 | FC Union Berlin | 17 | 26 | 26.6 | -0.6 | 26 | 19.8 | +6.2 | +0 | 6.8 | -6.8 | 22 | 27.9 | -5.9 |
| 9 | FSV Mainz 05 | 17 | 21 | 29.6 | -8.6 | 25 | 23.8 | +1.2 | -4 | 5.8 | -9.8 | 17 | 27.2 | -10.2 |
| 10 | Eintracht Frankfurt | 17 | 29 | 25.1 | +3.9 | 27 | 21.0 | +6.0 | +2 | 4.1 | -2.1 | 25 | 26.4 | -1.4 |
| 11 | Werder Bremen | 17 | 19 | 24.1 | -5.1 | 31 | 22.9 | +8.1 | -12 | 1.2 | -13.2 | 19 | 25.0 | -6.0 |
| 12 | FC Köln | 17 | 30 | 27.0 | +3.0 | 30 | 24.6 | +5.4 | +0 | 2.4 | -2.4 | 19 | 24.4 | -5.4 |
| 13 | Hamburger SV | 17 | 25 | 25.6 | -0.6 | 22 | 26.1 | -4.1 | +3 | -0.5 | +3.5 | 24 | 23.1 | +0.9 |
| 14 | VfL Wolfsburg | 17 | 21 | 26.9 | -5.9 | 32 | 28.7 | +3.3 | -11 | -1.8 | -9.2 | 10 | 22.8 | -12.8 |
| 15 | Borussia Mönchengladbach | 17 | 24 | 23.7 | +0.3 | 24 | 24.4 | -0.4 | +0 | -0.7 | +0.7 | 24 | 22.7 | +1.3 |
| 16 | FC Augsburg | 17 | 25 | 22.9 | +2.1 | 28 | 25.8 | +2.2 | -3 | -2.8 | -0.2 | 26 | 22.3 | +3.7 |
| 17 | Heidenheim | 17 | 23 | 24.8 | -1.8 | 37 | 32.9 | +4.1 | -14 | -8.1 | -5.9 | 17 | 19.5 | -2.5 |
| 18 | St. Pauli | 17 | 17 | 19.2 | -2.2 | 31 | 27.7 | +3.3 | -14 | -8.5 | -5.5 | 17 | 18.8 | -1.8 |
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | FC Bayern München | 17 | 54 | 41.9 | +12.1 | 17 | 24.7 | -7.7 | +37 | 17.2 | +19.8 | 45 | 33.0 | +12.0 |
| 2 | RB Leipzig | 17 | 26 | 28.9 | -2.9 | 27 | 23.8 | +3.2 | -1 | 5.0 | -6.0 | 27 | 26.3 | +0.7 |
| 3 | TSG Hoffenheim | 17 | 30 | 26.5 | +3.5 | 31 | 29.0 | +2.0 | -1 | -2.4 | +1.4 | 29 | 23.4 | +5.6 |
| 4 | Borussia Dortmund | 17 | 30 | 23.8 | +6.2 | 18 | 24.2 | -6.2 | +12 | -0.4 | +12.4 | 32 | 23.3 | +8.7 |
| 5 | VfB Stuttgart | 17 | 41 | 27.4 | +13.6 | 33 | 32.1 | +0.9 | +8 | -4.8 | +12.8 | 23 | 22.1 | +0.9 |
| 6 | Borussia Mönchengladbach | 17 | 18 | 22.3 | -4.3 | 29 | 27.0 | +2.0 | -11 | -4.7 | -6.3 | 14 | 20.5 | -6.5 |
| 7 | Bayer 04 Leverkusen | 17 | 30 | 23.9 | +6.1 | 28 | 29.0 | -1.0 | +2 | -5.2 | +7.2 | 28 | 20.5 | +7.5 |
| 8 | FSV Mainz 05 | 17 | 23 | 24.0 | -1.0 | 28 | 32.2 | -4.2 | -5 | -8.2 | +3.2 | 23 | 20.1 | +2.9 |
| 9 | FC Köln | 17 | 19 | 23.6 | -4.6 | 33 | 32.0 | +1.0 | -14 | -8.4 | -5.6 | 13 | 18.7 | -5.7 |
| 10 | FC Union Berlin | 17 | 18 | 19.9 | -1.9 | 32 | 30.5 | +1.5 | -14 | -10.5 | -3.5 | 17 | 18.5 | -1.5 |
| 11 | Eintracht Frankfurt | 17 | 32 | 20.6 | +11.4 | 38 | 29.9 | +8.1 | -6 | -9.3 | +3.3 | 19 | 18.1 | +0.9 |
| 12 | Heidenheim | 17 | 18 | 21.5 | -3.5 | 35 | 32.1 | +2.9 | -17 | -10.6 | -6.4 | 9 | 17.7 | -8.7 |
| 13 | FC Augsburg | 17 | 20 | 24.2 | -4.2 | 33 | 36.9 | -3.9 | -13 | -12.8 | -0.2 | 17 | 17.3 | -0.3 |
| 14 | SC Freiburg | 17 | 18 | 19.4 | -1.4 | 35 | 29.5 | +5.5 | -17 | -10.1 | -6.9 | 15 | 17.0 | -2.0 |
| 15 | Werder Bremen | 17 | 18 | 17.1 | +0.9 | 29 | 30.9 | -1.9 | -11 | -13.8 | +2.8 | 13 | 16.2 | -3.2 |
| 16 | VfL Wolfsburg | 17 | 24 | 20.5 | +3.5 | 37 | 35.6 | +1.4 | -13 | -15.2 | +2.2 | 19 | 15.8 | +3.2 |
| 17 | Hamburger SV | 17 | 15 | 19.1 | -4.1 | 32 | 35.4 | -3.4 | -17 | -16.3 | -0.7 | 14 | 15.5 | -1.5 |
| 18 | St. Pauli | 17 | 12 | 14.4 | -2.4 | 29 | 28.9 | +0.1 | -17 | -14.5 | -2.5 | 9 | 14.2 | -5.2 |
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | TSG Hoffenheim | 5 | 8 | 9.7 | -1.7 | 9 | 6.1 | +2.9 | -1 | 3.5 | -4.5 | 10 | 9.2 | +0.8 |
| 2 | RB Leipzig | 5 | 10 | 10.7 | -0.7 | 11 | 6.8 | +4.2 | -1 | 4.0 | -5.0 | 9 | 9.1 | -0.1 |
| 3 | FC Bayern München | 5 | 17 | 13.8 | +3.2 | 9 | 9.2 | -0.2 | +8 | 4.6 | +3.4 | 13 | 9.0 | +4.0 |
| 4 | FSV Mainz 05 | 5 | 9 | 11.7 | -2.7 | 9 | 8.9 | +0.1 | +0 | 2.8 | -2.8 | 7 | 8.7 | -1.7 |
| 5 | FC Union Berlin | 5 | 11 | 8.4 | +2.6 | 8 | 7.2 | +0.8 | +3 | 1.3 | +1.7 | 7 | 8.4 | -1.4 |
| 6 | Borussia Dortmund | 5 | 10 | 8.9 | +1.1 | 5 | 7.3 | -2.3 | +5 | 1.6 | +3.4 | 9 | 7.9 | +1.1 |
| 7 | Bayer 04 Leverkusen | 5 | 9 | 13.8 | -4.8 | 8 | 10.9 | -2.9 | +1 | 2.9 | -1.9 | 7 | 7.7 | -0.7 |
| 8 | VfL Wolfsburg | 5 | 6 | 9.1 | -3.1 | 4 | 7.8 | -3.8 | +2 | 1.4 | +0.6 | 8 | 7.5 | +0.5 |
| 9 | Heidenheim | 5 | 9 | 9.3 | -0.3 | 8 | 9.4 | -1.4 | +1 | -0.1 | +1.1 | 7 | 7.1 | -0.1 |
| 10 | FC Augsburg | 5 | 9 | 8.7 | +0.3 | 8 | 11.1 | -3.1 | +1 | -2.4 | +3.4 | 10 | 6.7 | +3.3 |
| 11 | Hamburger SV | 5 | 8 | 7.2 | +0.8 | 9 | 7.9 | +1.1 | -1 | -0.7 | -0.3 | 7 | 6.6 | +0.4 |
| 12 | VfB Stuttgart | 5 | 11 | 9.2 | +1.8 | 11 | 10.8 | +0.2 | +0 | -1.6 | +1.6 | 6 | 6.6 | -0.6 |
| 13 | Eintracht Frankfurt | 5 | 7 | 7.2 | -0.2 | 11 | 8.5 | +2.5 | -4 | -1.3 | -2.7 | 2 | 6.1 | -4.1 |
| 14 | FC Köln | 5 | 6 | 7.6 | -1.6 | 13 | 9.2 | +3.8 | -7 | -1.6 | -5.4 | 2 | 6.1 | -4.1 |
| 15 | Borussia Mönchengladbach | 5 | 7 | 6.2 | +0.8 | 4 | 8.4 | -4.4 | +3 | -2.1 | +5.1 | 8 | 5.5 | +2.5 |
| 16 | SC Freiburg | 5 | 9 | 5.7 | +3.3 | 10 | 9.0 | +1.0 | -1 | -3.2 | +2.2 | 7 | 5.1 | +1.9 |
| 17 | Werder Bremen | 5 | 5 | 5.4 | -0.4 | 8 | 9.3 | -1.3 | -3 | -3.9 | +0.9 | 4 | 4.8 | -0.8 |
| 18 | St. Pauli | 5 | 4 | 5.8 | -1.8 | 10 | 10.9 | -0.9 | -6 | -5.1 | -0.9 | 1 | 4.1 | -3.1 |
FC Bayern München overperformed their xG by more than any other side in the Bundesliga in 2025/2026, with 122 goals from chances worth 91.9 xG, a gap of 30.1. Eintracht Frankfurt were next on 15.2.
FSV Mainz 05 underperformed their xG by more than any other side in the Bundesliga in 2025/2026, with 44 goals from chances worth 53.6 xG, a shortfall of 9.6. Heidenheim were next on 5.3.
FC Bayern München were the luckiest side in the Bundesliga in 2025/2026, with 89 points from performances worth 72.3 xPts, 16.7 more than their chances deserved. Borussia Dortmund were next on 16.1.
Heidenheim were the unluckiest side in the Bundesliga in 2025/2026, with 26 points from performances worth 37.2 xPts, 11.2 short of what they deserved. FC Köln were next on 11.0.
FC Bayern München were also top of the Bundesliga in 2025/2026 on expected points, with 72.3 xPts from 91.9 xG created and 41.6 conceded across 34 matches. RB Leipzig were next on 59.5.
FC Bayern München created the most xG in the Bundesliga in 2025/2026, 91.9 from 34 matches, 2.7 a game against a competition average of 1.6. RB Leipzig were next on 70.3.
St. Pauli created the least xG in the Bundesliga in 2025/2026, 33.6 from 34 matches, 1.0 a game against a competition average of 1.6. Werder Bremen were next on 41.2.
Heidenheim conceded the most xG in the Bundesliga in 2025/2026, 65.0 from 34 matches, 1.9 a game against a competition average of 1.6. VfL Wolfsburg were next on 64.3.
FC Bayern München conceded the least xG in the Bundesliga in 2025/2026, 41.6 from 34 matches, 1.2 a game against a competition average of 1.6. Borussia Dortmund were next on 42.5.
Bundesliga teams averaged 1.57 xG a game in 2025/2026, from the 306 matches played, and scored 1.62 goals a game from it. That is up from 1.49 xG a game in 2024/2025.
Bundesliga teams created more xG at home in 2025/2026, 1.78 a game against 1.37 away, a home advantage of +0.41, against +0.28 in 2024/2025.
The same season by player, with the goals each one scored against the chances they had.
| # | Team | Played | Goals | xG | Goals minus xG | Goals against | xGA | Goals against minus xGA | Goal difference | xGD | Goal difference minus xGD | Points | xPts | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | FC Bayern München | 34 | 122 | 91.9 | +30.1 | 36 | 41.6 | -5.6 | +86 | 50.3 | +35.7 | 89 | 72.3 | +16.7 |
| 2 | RB Leipzig | 34 | 66 | 70.3 | -4.3 | 47 | 48.2 | -1.2 | +19 | 22.1 | -3.1 | 65 | 59.5 | +5.5 |
| 3 | Borussia Dortmund | 34 | 70 | 62.1 | +7.9 | 34 | 42.5 | -8.5 | +36 | 19.6 | +16.4 | 73 | 56.9 | +16.1 |
| 4 | Bayer 04 Leverkusen | 34 | 68 | 65.1 | +2.9 | 47 | 47.7 | -0.7 | +21 | 17.4 | +3.6 | 59 | 55.7 | +3.3 |
| 5 | TSG Hoffenheim | 34 | 65 | 58.2 | +6.8 | 52 | 49.6 | +2.4 | +13 | 8.5 | +4.5 | 61 | 53.7 | +7.3 |
| 6 | VfB Stuttgart | 34 | 71 | 61.3 | +9.7 | 49 | 52.5 | -3.5 | +22 | 8.9 | +13.1 | 62 | 53.6 | +8.4 |
| 7 | FSV Mainz 05 | 34 | 44 | 53.6 | -9.6 | 53 | 56.0 | -3.0 | -9 | -2.4 | -6.6 | 40 | 47.3 | -7.3 |
| 8 | FC Union Berlin | 34 | 44 | 46.5 | -2.5 | 58 | 50.3 | +7.7 | -14 | -3.8 | -10.2 | 39 | 46.3 | -7.3 |
| 9 | SC Freiburg | 34 | 51 | 51.4 | -0.4 | 57 | 51.7 | +5.3 | -6 | -0.3 | -5.7 | 47 | 46.1 | +0.9 |
| 10 | Eintracht Frankfurt | 34 | 61 | 45.8 | +15.2 | 65 | 51.0 | +14.0 | -4 | -5.2 | +1.2 | 44 | 44.5 | -0.5 |
| 11 | Borussia Mönchengladbach | 34 | 42 | 45.9 | -3.9 | 53 | 51.4 | +1.6 | -11 | -5.4 | -5.6 | 38 | 43.2 | -5.2 |
| 12 | FC Köln | 34 | 49 | 50.6 | -1.6 | 63 | 56.6 | +6.4 | -14 | -6.0 | -8.0 | 32 | 43.0 | -11.0 |
| 13 | Werder Bremen | 34 | 37 | 41.2 | -4.2 | 60 | 53.8 | +6.2 | -23 | -12.6 | -10.4 | 32 | 41.2 | -9.2 |
| 14 | FC Augsburg | 34 | 45 | 47.1 | -2.1 | 61 | 62.7 | -1.7 | -16 | -15.6 | -0.4 | 43 | 39.6 | +3.4 |
| 15 | Hamburger SV | 34 | 40 | 44.7 | -4.7 | 54 | 61.6 | -7.6 | -14 | -16.9 | +2.9 | 38 | 38.6 | -0.6 |
| 16 | VfL Wolfsburg | 34 | 45 | 47.4 | -2.4 | 69 | 64.3 | +4.7 | -24 | -17.0 | -7.0 | 29 | 38.6 | -9.6 |
| 17 | Heidenheim | 34 | 41 | 46.3 | -5.3 | 72 | 65.0 | +7.0 | -31 | -18.6 | -12.4 | 26 | 37.2 | -11.2 |
| 18 | St. Pauli | 34 | 29 | 33.6 | -4.6 | 60 | 56.6 | +3.4 | -31 | -23.0 | -8.0 | 26 | 33.0 | -7.0 |