Football / The bigger picture

Insights.

Go beyond the result. Follow the patterns. See the evidence.

How to read the signals →

Explore insights

Explore competitions →

Competition selects current clubs. Result windows include all recorded competitions; points comparisons use covered current-league matches.

League insights

Bundesliga · 5 signals · 1 clubs in this view

Explore all signals ↓

Automatically selected connections · one story per club · experimental Insight Score orders stories, not teams.

Borussia DortmundDefensive consistency, positive chance balanceInsight Score60/100

Clean sheets and low goals conceded accompany a positive observed xG balance. The xG profile describes overall chance balance; it is not, by itself, proof of strong defending.

Clean sheetsLast 8 recorded matches · 2026-08-29 → 2026-10-17 UTC
Recorded scores · all competitions
4/8
Goals conceded / matchLast 8 recorded matches · 2026-08-29 → 2026-10-17 UTC
Recorded scores · all competitions
0.9
Observed xG difference / match10-match profile · exact dates unavailable
Observed match xG · available averages
+0.89
Sources, limitations & score
Insight Score 60/100 Experimental · editorial interest
Deviation
59.3
Recency
46.8
Context
80.0
Quality
60.0

Uncalibrated selection heuristic. Not team strength, win probability or statistical significance. Sources keep their own windows; overlapping scorelines and forecast gaps receive reduced context credit.

  • Clean sheets — Bundesliga 2026-2027: 1.84 goals per team/match, 54 matches · 2026-08-28 → 2026-10-18 UTC. Reference only: the club window spans all recorded competitions; no opponent adjustment.
  • Goals conceded / match — Bundesliga 2026-2027: 1.84 goals per team/match, 54 matches · 2026-08-28 → 2026-10-18 UTC. Reference only: the club window spans all recorded competitions; no opponent adjustment.
  • Observed xG difference / match — Before next/latest league fixture, not necessarily current UTC. xG for 1.85; xG against 0.96. Coverage counts are unavailable and denominators can differ. Recency receives zero for this undated source; quality is capped at 40.

Each signal belongs to one category. Categories sum to All signals; stories combine related evidence across categories.

All signals5 signals · 1 clubs

Select a row to explore the evidence. Scroll to see all columns →

Borussia Dortmund Clean sheets 4 Last 8 recorded matches · all competitions Scores64

Matches without conceding stand out in the recent results. Clean sheets count outcomes; they do not measure the quality of chances allowed.

Recorded scores · all competitions · Last 8 recorded matches · 2026-08-29 → 2026-10-17 UTC. Bundesliga 2026-2027: 1.84 goals per team/match, 54 matches · 2026-08-28 → 2026-10-18 UTC. Reference only: the club window spans all recorded competitions; no opponent adjustment.

Insight Score 64/100 Experimental · editorial interest
Deviation
47.9
Recency
93.6
Context
40.0
Quality
80.0

Uncalibrated selection heuristic. Not team strength, win probability or statistical significance. Sources keep their own windows; overlapping scorelines and forecast gaps receive reduced context credit.

Last 8 recorded matches · all competitions

Oldest → newest · scores from Borussia Dortmund’s perspective. Event: Clean sheet.

Date (UTC)OpponentGF–GAEvent
2026-08-29Hamburger SVH2–0WYes
2026-09-051899 HoffenheimA3–2WNo
2026-09-08VillarrealH3–2WNo
2026-09-12SC Paderborn 07H3–0WYes
2026-09-19VfB StuttgartA1–0WYes
2026-10-09Werder BremenH2–2DNo
2026-10-14Bodo/GlimtA0–1LNo
2026-10-17Union BerlinA0–0DYes
Full club analysis →
Borussia Dortmund Goals conceded per match 0.9 Last 8 recorded matches · all competitions Scores57

This conceding average meets the low-goals signal threshold. Compare it with the league reference; opponent strength and chance quality are not adjusted.

Recorded scores · all competitions · Last 8 recorded matches · 2026-08-29 → 2026-10-17 UTC. Bundesliga 2026-2027: 1.84 goals per team/match, 54 matches · 2026-08-28 → 2026-10-18 UTC. Reference only: the club window spans all recorded competitions; no opponent adjustment.

Insight Score 57/100 Experimental · editorial interest
Deviation
28.3
Recency
93.6
Context
40.0
Quality
80.0

Uncalibrated selection heuristic. Not team strength, win probability or statistical significance. Sources keep their own windows; overlapping scorelines and forecast gaps receive reduced context credit.

Last 8 recorded matches · all competitions

Oldest → newest · scores from Borussia Dortmund’s perspective.

Date (UTC)OpponentGF–GA
2026-08-29Hamburger SVH2–0W
2026-09-051899 HoffenheimA3–2W
2026-09-08VillarrealH3–2W
2026-09-12SC Paderborn 07H3–0W
2026-09-19VfB StuttgartA1–0W
2026-10-09Werder BremenH2–2D
2026-10-14Bodo/GlimtA0–1L
2026-10-17Union BerlinA0–0D
Full club analysis →
Borussia Dortmund xG difference per match +0.89 Underlying performance · 10-match window Observed xG37

Chance creation is ahead of chances allowed in the observed playing-style profile. This describes the balance of chances, rather than the final scores.

Observed match xG · available averages · 10-match profile · exact dates unavailable. Before next/latest league fixture, not necessarily current UTC. xG for 1.85; xG against 0.96. Coverage counts are unavailable and denominators can differ. Recency receives zero for this undated source; quality is capped at 40.

Insight Score 37/100 Experimental · editorial interest
Deviation
59.3
Recency
0.0
Context
40.0
Quality
40.0

Uncalibrated selection heuristic. Not team strength, win probability or statistical significance. Sources keep their own windows; overlapping scorelines and forecast gaps receive reduced context credit.

Underlying performance · 10-match window

xG for
1.85
xG against
0.96

Difference of observed averages; xG coverage can differ between the two metrics. Profile is before the next or latest league fixture, not necessarily current UTC.

Full club analysis →
Borussia Dortmund Points above expected +1.5 8/8 covered matches · current leagues Forecast48

Results have delivered more points than the stored match forecasts expected. The gap describes those results; it does not establish that a reversal is due.

Stored LOAD90 forecasts · same covered games · 8/8 current-league matches · 2026-08-29 → 2026-10-17 UTC. Points 17; xPts 15.5. Saved pre: 3; reconstructed: 5. No claim that the gap must reverse. This window differs from the recorded-results and xG windows.

Insight Score 48/100 Experimental · editorial interest
Deviation
17.3
Recency
93.6
Context
40.0
Quality
55.0

Uncalibrated selection heuristic. Not team strength, win probability or statistical significance. Sources keep their own windows; overlapping scorelines and forecast gaps receive reduced context credit.

8/8 covered matches · current leagues

Points
17.0
xPts
15.5

Points and xPts cover identical matches. xPts uses stored LOAD90 forecasts, including historical reconstructions; not observed xG. Saved: 3; reconstructed: 5.

Full club analysis →
Borussia Dortmund Goals scored per match 1.8 Last 8 recorded matches · all competitions Scores48

This scoring average meets the descriptive signal threshold and includes games without a goal. Compare it with the league reference before treating it as exceptional; opposition is not adjusted.

Recorded scores · all competitions · Last 8 recorded matches · 2026-08-29 → 2026-10-17 UTC. Bundesliga 2026-2027: 1.84 goals per team/match, 54 matches · 2026-08-28 → 2026-10-18 UTC. Reference only: the club window spans all recorded competitions; no opponent adjustment.

Insight Score 48/100 Experimental · editorial interest
Deviation
2.7
Recency
93.6
Context
40.0
Quality
80.0

Uncalibrated selection heuristic. Not team strength, win probability or statistical significance. Sources keep their own windows; overlapping scorelines and forecast gaps receive reduced context credit.

Last 8 recorded matches · all competitions

Oldest → newest · scores from Borussia Dortmund’s perspective.

Date (UTC)OpponentGF–GA
2026-08-29Hamburger SVH2–0W
2026-09-051899 HoffenheimA3–2W
2026-09-08VillarrealH3–2W
2026-09-12SC Paderborn 07H3–0W
2026-09-19VfB StuttgartA1–0W
2026-10-09Werder BremenH2–2D
2026-10-14Bodo/GlimtA0–1L
2026-10-17Union BerlinA0–0D
Full club analysis →

Showing 1–5 of 5 signals

About these insights
A little context goes a long way

Read the signal. Keep the context.

Insights describe what is recorded. Use club and match analysis to explore what comes next.

Insight Score · experimental editorial interest. This version uses 0.35D + 0.25R + 0.20C + 0.20Q. D measures heuristic deviation, R observation recency, C breadth of evidence families and Q data quality. These starting weights are uncalibrated. It is neither team strength, win probability, statistical significance nor forecast confidence. Related result signals share one family; different sources are not automatically statistically independent. Unknown dates receive zero recency; unknown xG coverage limits its quality component. League averages are context references, not opponent-adjusted estimates.

01

Check the window

Result signals use the last 10 recorded matches; away signals use the last 8 away matches. At least 5 are required. Missing and special results are excluded. A 10+ streak is a lower bound.

02

Read the chart

Bars run oldest to newest. Height shows goals scored or conceded, capped at 6; zero keeps a marker. Teal / amber / red means win / draw / loss. Faded bars mean the event did not happen. Open the evidence for full scores.

03

Separate the sources

xG uses observed Playing style averages before the next or latest league fixture; coverage can differ between inputs. xPts comes from stored LOAD90 forecasts on identical covered games, including labelled historical reconstructions.

Types alternate for variety. Values are ordered within their own metric, without a combined ranking. These descriptive signals do not change the LOAD90 forecast.

Explore methodology →