No, Hoffenheim have taken 25 points over their last 20 Bundesliga games, 7.83 fewer than the 32.83 expected points (xPts) their chances were worth, so their performances deserve better than their results.
Hoffenheim create 1.87 expected goals (xG) per game over their last 20 Bundesliga games, 37.46 in all, and have scored 34 goals from those chances, 3.46 fewer than that xG would expect.
Hoffenheim allow 1.58 expected goals against (xGA) per game over their last 20 Bundesliga games, 31.53 in all, and have conceded 43 goals from those chances, 11.47 more than that xGA would expect.
Andrej Kramaric has the most expected goals (xG) for Hoffenheim over their last 20 Bundesliga games, 6.29 xG in 20 appearances, and has scored 9 goals; Fisnik Asllani is next with 5.04 xG.
Hoffenheim have taken 7.8 points fewer than their chances warranted over 20 games: -3.5 goals against their xG, and -11.5 on the goals their xGA expected them to concede. The performances are better than the results, which is the side of this table where prices tend to be generous.
| Window | Games | xG | Goals | Goals minus xG | xGA | Conceded | xGA minus conceded | xPts | Points | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|---|
| Last 20 | 20 | 37.46 | 34 | -3.46 | 31.53 | 43 | -11.47 | 32.83 | 25 | -7.83 |
| Last 10 | 10 | 18.86 | 17 | -1.86 | 14.18 | 22 | -7.82 | 16.83 | 13 | -3.83 |
| Last 5 | 5 | 9.19 | 9 | -0.19 | 8.04 | 13 | -4.96 | 7.66 | 3 | -4.66 |
| Home | 11 | 21.83 | 20 | -1.83 | 13.80 | 16 | -2.20 | 20.15 | 17 | -3.15 |
| Away | 9 | 15.63 | 14 | -1.63 | 17.73 | 27 | -9.27 | 12.68 | 8 | -4.68 |
| Date | Competition | Opponent | Score | xG | xGA | xPts | Points | Deserved result |
|---|---|---|---|---|---|---|---|---|
| 10 Oct | Bundesliga | Hamburg (H) | 2-3 | 1.77 | 1.41 | 1.61 | 0 | W |
| 20 Sep | Bundesliga | Paderborn (A) | 3-1 | 1.81 | 1.09 | 1.85 | 0 | W |
| 12 Sep | Bundesliga | Stuttgart (H) | 2-1 | 2.27 | 1.64 | 1.76 | 3 | W |
| 5 Sep | Bundesliga | Dortmund (H) | 2-3 | 1.53 | 1.95 | 1.13 | 0 | L |
| 29 Aug | Bundesliga | Koln (A) | 3-2 | 1.81 | 1.95 | 1.31 | 0 | L |
| 16 May | Bundesliga | Gladbach (A) | 4-0 | 1.65 | 1.02 | 1.80 | 0 | W |
| 9 May | Bundesliga | Bremen (H) | 1-0 | 1.59 | 0.95 | 1.83 | 3 | W |
| 2 May | Bundesliga | Stuttgart (H) | 3-3 | 2.18 | 1.67 | 1.70 | 1 | W |
| 25 Apr | Bundesliga | Hamburg (A) | 1-2 | 1.90 | 1.64 | 1.55 | 3 | W |
| 18 Apr | Bundesliga | Dortmund (H) | 2-1 | 2.35 | 0.86 | 2.29 | 3 | W |
| 10 Apr | Bundesliga | Augsburg (A) | 2-2 | 1.22 | 1.99 | 0.91 | 1 | L |
| 4 Apr | Bundesliga | Mainz (H) | 1-2 | 1.43 | 1.67 | 1.22 | 0 | L |
| 20 Mar | Bundesliga | RB Leipzig (A) | 5-0 | 1.00 | 2.36 | 0.61 | 0 | L |
| 14 Mar | Bundesliga | Wolfsburg (H) | 1-1 | 1.92 | 0.37 | 2.44 | 1 | W |
| 7 Mar | Bundesliga | Heidenheim (A) | 2-4 | 2.63 | 1.03 | 2.30 | 3 | W |
| 28 Feb | Bundesliga | St. Pauli (H) | 0-1 | 2.84 | 0.81 | 2.50 | 0 | W |
| 21 Feb | Bundesliga | Koln (A) | 2-2 | 2.28 | 0.89 | 2.24 | 1 | W |
| 14 Feb | Bundesliga | Freiburg (H) | 3-0 | 2.31 | 1.02 | 2.17 | 3 | W |
| 8 Feb | Bundesliga | Bayern (A) | 5-1 | 1.33 | 5.76 | 0.11 | 0 | L |
| 31 Jan | Bundesliga | U Berlin (H) | 3-1 | 1.64 | 1.45 | 1.50 | 3 | W |
| Player | Position | Apps | Minutes | xG | Goals | Goals minus xG | xG per 90 |
|---|---|---|---|---|---|---|---|
| Andrej Kramaric | midfielder | 20 | 1180 | 6.29 | 9 | +2.71 | 0.48 |
| Adam Daghim | attacker | 5 | 421 | 0.43 | 2 | +1.57 | 0.09 |
| Alexander Prass | midfielder | 16 | 622 | 0.85 | 2 | +1.15 | 0.12 |
| Bazoumana Touré | attacker | 15 | 1208 | 2.24 | 3 | +0.76 | 0.17 |
| Leon Avdullahu | midfielder | 19 | 1619 | 0.49 | 1 | +0.51 | 0.03 |
| Robin Hranac | defender | 14 | 730 | 1.23 | 1 | -0.23 | 0.15 |
| Bambasé Conté | midfielder | 5 | 339 | 1.36 | 1 | -0.36 | 0.36 |
| Adam Hlozek | attacker | 7 | 312 | 2.39 | 2 | -0.39 | 0.69 |
| Patrick Wimmer | attacker | 4 | 207 | 0.69 | 0 | -0.69 | 0.30 |
| Grischa Prömel | midfielder | 14 | 856 | 1.88 | 1 | -0.88 | 0.20 |
| Ozan Kabak | defender | 20 | 1789 | 3.90 | 3 | -0.90 | 0.20 |
| Fisnik Asllani | attacker | 18 | 1223 | 5.04 | 4 | -1.04 | 0.37 |
| Max Moerstedt | attacker | 12 | 220 | 1.35 | 0 | -1.35 | 0.55 |
| Tim Lemperle | attacker | 16 | 972 | 4.43 | 3 | -1.43 | 0.41 |
| Wouter Burger | midfielder | 17 | 1419 | 2.01 | 0 | -2.01 | 0.13 |
| # | Team | MP | xG | Goals | xGA | Conceded | xPts | Points | Points minus xPts |
|---|---|---|---|---|---|---|---|---|---|
| 1 | FC Augsburg | 5 | 8.7 | 13 | 14.3 | 8 | 4.5 | 8 | +3.5 |
| 2 | Borussia Dortmund | 5 | 8.9 | 11 | 4.6 | 4 | 9.8 | 13 | +3.2 |
| 3 | Werder Bremen | 5 | 5.9 | 10 | 8.4 | 10 | 5.2 | 8 | +2.8 |
| 4 | SC Freiburg | 5 | 10.4 | 14 | 4.4 | 4 | 10.4 | 13 | +2.6 |
| 5 | Elversberg | 5 | 6.5 | 8 | 10 | 8 | 4.7 | 7 | +2.3 |
| 6 | Hamburger SV | 5 | 4.8 | 5 | 9.7 | 15 | 4 | 6 | +2 |
| 7 | Schalke 04 | 5 | 6.1 | 4 | 10.4 | 6 | 4.5 | 5 | +0.5 |
| 8 | Bayer 04 Leverkusen | 5 | 12 | 14 | 6.3 | 8 | 10.1 | 10 | -0.1 |
| 9 | FC Köln | 5 | 9.5 | 8 | 9.7 | 10 | 7.1 | 7 | -0.1 |
| 10 | Eintracht Frankfurt | 5 | 9 | 9 | 13 | 16 | 5.1 | 5 | -0.1 |
| 11 | VfB Stuttgart | 5 | 9.7 | 8 | 10.4 | 9 | 6.3 | 6 | -0.3 |
| 12 | Paderborn | 5 | 5.1 | 3 | 8.3 | 7 | 4.7 | 4 | -0.7 |
| 13 | RB Leipzig | 5 | 12.2 | 15 | 5.8 | 5 | 10 | 9 | -1 |
| 14 | FC Bayern München | 5 | 15.1 | 16 | 4.2 | 4 | 12.3 | 11 | -1.3 |
| 15 | FC Union Berlin | 5 | 6.6 | 5 | 10.2 | 17 | 5.9 | 4 | -1.9 |
| 16 | FSV Mainz 05 | 5 | 11.9 | 13 | 8.3 | 10 | 9.1 | 7 | -2.1 |
| 17 | Borussia Mönchengladbach | 5 | 8.6 | 7 | 14.2 | 18 | 4.5 | 0 | -4.5 |
| 18 | TSG Hoffenheim | 5 | 9.2 | 9 | 8.1 | 13 | 7.7 | 3 | -4.7 |