Bundesliga xG difference 2026/2027
Expected-goal difference per match for every Bundesliga club: the chances a side made, less the chances it allowed, over the matches with xG behind them.
Showing non-penalty xG. Penalties are removed from the expected-goal columns; goals, G − xG and the rates taken from goals are unchanged.
FC Bayern München lead on expected-goal difference, +2.30 a match over 4 matches with xG. That is 0.77 a match clear of Bayer 04 Leverkusen. Borussia M'gladbach sit at the foot on −1.84 a match.
-
Best attack
2.89 FC Bayern München
11.54 xG in 4 matches
-
Best defence
0.59 FC Bayern München
2.35 xGA in 4 matches
-
Widest xG difference
+2.30 FC Bayern München
+9.19 xGD in 4 matches
Attack and defence
FC Bayern München
P 4 · Pts 10 · 2nd
xG/match 2.89 · xGA/match 0.59 · xGD/match +2.30
xPts 11.04
Open FC Bayern MünchenBayer 04 Leverkusen
P 4 · Pts 7 · 5th
xG/match 2.40 · xGA/match 0.87 · xGD/match +1.53
xPts 9.37
Open Bayer 04 LeverkusenSC Freiburg
P 4 · Pts 10 · 3rd
xG/match 2.08 · xGA/match 0.71 · xGD/match +1.38
xPts 9.04
Open SC FreiburgRB Leipzig
P 4 · Pts 6 · 9th
xG/match 2.35 · xGA/match 1.24 · xGD/match +1.12
xPts 7.41
Open RB Leipzig1. FSV Mainz 05
P 4 · Pts 7 · 6th
xG/match 2.13 · xGA/match 1.22 · xGD/match +0.91
xPts 7.27
Open 1. FSV Mainz 05Borussia Dortmund
P 4 · Pts 12 · 1st
xG/match 1.67 · xGA/match 0.82 · xGD/match +0.85
xPts 7.80
Open Borussia Dortmund1. FC Köln
P 4 · Pts 4 · 13th
xG/match 1.82 · xGA/match 1.68 · xGD/match +0.14
xPts 5.61
Open 1. FC KölnTSG Hoffenheim
P 4 · Pts 3 · 14th
xG/match 1.54 · xGA/match 1.70 · xGD/match −0.16
xPts 5.91
Open TSG HoffenheimSV Werder Bremen
P 4 · Pts 7 · 8th
xG/match 1.11 · xGA/match 1.32 · xGD/match −0.22
xPts 4.62
Open SV Werder BremenEintracht Frankfurt
P 4 · Pts 5 · 10th
xG/match 1.70 · xGA/match 1.94 · xGD/match −0.24
xPts 5.45
Open Eintracht FrankfurtFC Augsburg
P 4 · Pts 7 · 4th
xG/match 1.75 · xGA/match 2.00 · xGD/match −0.25
xPts 3.97
Open FC AugsburgSV 07 Elversberg
P 4 · Pts 7 · 7th
xG/match 1.47 · xGA/match 1.92 · xGD/match −0.45
xPts 3.93
Open SV 07 ElversbergSC Paderborn 07
P 4 · Pts 4 · 12th
xG/match 0.65 · xGA/match 1.40 · xGD/match −0.75
xPts 2.87
Open SC Paderborn 07FC Schalke 04
P 4 · Pts 5 · 11th
xG/match 1.35 · xGA/match 2.17 · xGD/match −0.82
xPts 3.67
Open FC Schalke 04VfB Stuttgart
P 4 · Pts 3 · 15th
xG/match 1.75 · xGA/match 2.73 · xGD/match −0.98
xPts 4.03
Open VfB Stuttgart1. FC Union Berlin
P 4 · Pts 1 · 17th
xG/match 1.19 · xGA/match 2.44 · xGD/match −1.25
xPts 2.78
Open 1. FC Union BerlinHamburger SV
P 4 · Pts 3 · 16th
xG/match 0.92 · xGA/match 2.19 · xGD/match −1.27
xPts 2.83
Open Hamburger SVBorussia M'gladbach
P 4 · Pts 0 · 18th
xG/match 1.25 · xGA/match 3.08 · xGD/match −1.84
xPts 3.30
Open Borussia M'gladbach| Club | xG/match | xGA/match | xGD/match |
|---|---|---|---|
| FC Bayern München FCB | 2.89 | 0.59 | +2.30 |
| Bayer 04 Leverkusen B04 | 2.40 | 0.87 | +1.53 |
| SC Freiburg SCF | 2.08 | 0.71 | +1.38 |
| RB Leipzig RBL | 2.35 | 1.24 | +1.12 |
| 1. FSV Mainz 05 M05 | 2.13 | 1.22 | +0.91 |
| Borussia Dortmund BVB | 1.67 | 0.82 | +0.85 |
| 1. FC Köln KOE | 1.82 | 1.68 | +0.14 |
| TSG Hoffenheim TSG | 1.54 | 1.70 | −0.16 |
| SV Werder Bremen SVW | 1.11 | 1.32 | −0.22 |
| Eintracht Frankfurt SGE | 1.70 | 1.94 | −0.24 |
| FC Augsburg FCA | 1.75 | 2.00 | −0.25 |
| SV 07 Elversberg SVE | 1.47 | 1.92 | −0.45 |
| SC Paderborn 07 SCP | 0.65 | 1.40 | −0.75 |
| FC Schalke 04 S04 | 1.35 | 2.17 | −0.82 |
| VfB Stuttgart VFB | 1.75 | 2.73 | −0.98 |
| 1. FC Union Berlin FCU | 1.19 | 2.44 | −1.25 |
| Hamburger SV HSV | 0.92 | 2.19 | −1.27 |
| Borussia M'gladbach BMG | 1.25 | 3.08 | −1.84 |
- Top 3 in the table
- Other clubs
- Above average at both ends
- Below average at both ends
Non-penalty xG. Hover, focus or tap a dot for its figures.
Ranked on xG difference per match
- Creates more than it allows
- Allows more than it creates
| # | Team | P | npxG | npxGA | npxGD | npxGD/match | Pts |
|---|---|---|---|---|---|---|---|
| 1 | FC Bayern München FCB | 4 | 11.54 | 2.35 | +9.19 | +2.30 | 10 |
| 2 | Bayer 04 Leverkusen B04 | 4 | 9.59 | 3.47 | +6.12 | +1.53 | 7 |
| 3 | SC Freiburg SCF | 4 | 8.33 | 2.83 | +5.50 | +1.38 | 10 |
| 4 | RB Leipzig RBL | 4 | 9.41 | 4.95 | +4.46 | +1.12 | 6 |
| 5 | 1. FSV Mainz 05 M05 | 4 | 8.51 | 4.88 | +3.63 | +0.91 | 7 |
| 6 | Borussia Dortmund BVB | 4 | 6.69 | 3.27 | +3.42 | +0.85 | 12 |
| 7 | 1. FC Köln KOE | 4 | 7.27 | 6.71 | +0.56 | +0.14 | 4 |
| 8 | TSG Hoffenheim TSG | 4 | 6.14 | 6.79 | −0.65 | −0.16 | 3 |
| 9 | SV Werder Bremen SVW | 4 | 4.42 | 5.29 | −0.87 | −0.22 | 7 |
| 10 | Eintracht Frankfurt SGE | 4 | 6.81 | 7.76 | −0.95 | −0.24 | 5 |
| 11 | FC Augsburg FCA | 4 | 6.99 | 7.98 | −0.99 | −0.25 | 7 |
| 12 | SV 07 Elversberg SVE | 4 | 5.87 | 7.67 | −1.80 | −0.45 | 7 |
| 13 | SC Paderborn 07 SCP | 4 | 2.60 | 5.61 | −3.01 | −0.75 | 4 |
| 14 | FC Schalke 04 S04 | 4 | 5.40 | 8.67 | −3.27 | −0.82 | 5 |
| 15 | VfB Stuttgart VFB | 4 | 7.00 | 10.91 | −3.91 | −0.98 | 3 |
| 16 | 1. FC Union Berlin FCU | 4 | 4.74 | 9.75 | −5.01 | −1.25 | 1 |
| 17 | Hamburger SV HSV | 4 | 3.69 | 8.76 | −5.07 | −1.27 | 3 |
| 18 | Borussia M'gladbach BMG | 4 | 4.98 | 12.33 | −7.35 | −1.84 | 0 |
Goals against chances made
Most goals above xG
Goals against chances allowed
Most conceded above xGA
Fewest conceded against xGA
A gap can come from finishing, goalkeeping, game state or chance. xG and xPts are model estimates, not the result a team deserved.
About these figures What each column measures, and the thresholds this ranking is under. Show Hide
- P
- — Matches played
- npxG
- — Non-penalty expected goals: xG with penalties removed
- npxGA
- — Non-penalty expected goals against: xGA with penalties removed
- npxGD
- — npxG minus npxGA
- npxGD/match
- — npxG minus npxGA, per match with xG data
- Pts
- — Points
A club is ranked once it has 3 matches with xG and at least 75% of what the median club has played. Below that its row stays in the table, its rates are dashed and it sorts last.