Pitch Radar

Borussia Dortmund

Bundesliga · Germany · season 2026/27 · 3 matches · 3W 0D 0L
Place3 of 18
Points9
xPTS5.7
Δ points − xPTS+3.4
Scored / xG8 / 6.5
Conceded / xGA2 / 3.6

What the numbers say

Points. 9 points from 5.7 xPTS (+3.4). By quality of play (xPTS) it ranks 6th in the league, but 3rd in the table. Source of the surplus: finishing (+1.5 goals above xG) and conceding less than expected (−1.6 vs xGA).

Attack. 2.16 xG per match — 10th of 18 (league average 1.98): an average attack for this league. Scored 8 goals from 6.5 xG (+1.5): the ball is going in more often than such chances usually allow. Finishing like this rarely lasts.

Defence. 1.19 xGA per match — 6th of 18 for solidity (league average 1.98). Conceded 2 goals from 3.6 xGA — 1.6 fewer than expected: the goalkeeper is bailing them out or opponents are missing. The defence itself is one of the most solid in the league, so even after a correction they will concede little.

Regression risk: HIGH. Points are ahead of performance by 1.12 per match: expected pace 1.9 points per match vs the current 3.0.

3 matches played. Over this distance the metrics already show a trend, but randomness is still large — treat this as an early signal, not a verdict.

Round by round

The solid line is points won, the dashed line is expected points (xPTS). The gap shows how far results run ahead of performance, or behind it.

059 1 3 round 1: 2:0, Points 3, xPTS 1.5round 2: 3:2, Points 6, xPTS 2.8round 3: 3:0, Points 9, xPTS 5.7
Points 9 xPTS 5.7 points are 3.3 ahead of performance

Fixtures and forecast

Current pace is 3.00 points per match, the pace expected from the next opponents is 1.96. Over the next 5 rounds the model gives 9.8 points. Expected points come from the opponent's attack and defence with a home advantage adjustment.

OpponentVenueDateExpected points
VfB Stuttgartaway2026-09-192.18
Werder Bremenhome2026-10-102.47
Union Berlinaway2026-10-172.57
Eintracht Frankfurthome2026-10-242.11
Bayern Munichaway2026-10-310.49

Other clubs of the league

Full Bundesliga xPTS table →