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 · 7 signals · 1 clubs in this view

Explore all signals ↓

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

Bayer LeverkusenWinning, and exceeding expectationsInsight Score73/100

A winning run and points above forecast expectations stand out together. Separate the recorded results from the chance balance; the points comparison covers a different set of league matches.

Wins in a rowLast 8 recorded matches · 2026-08-29 → 2026-10-18 UTC
Recorded scores · all competitions
5
Points minus expected8/8 current-league matches · 2026-08-29 → 2026-10-18 UTC
Stored LOAD90 forecasts · same covered games
+3.5
Goals scored / matchLast 8 recorded matches · 2026-08-29 → 2026-10-18 UTC
Recorded scores · all competitions
2.8
Observed xG difference / match10-match profile · exact dates unavailable
Observed match xG · available averages
+1.10
Sources, limitations & score
Insight Score 73/100 Experimental · editorial interest
Deviation
73.3
Recency
64.5
Context
100.0
Quality
58.3

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.

  • Wins in a row — A run of 10 is a lower bound. Related result sequences share one evidence family.
  • Points minus expected — Points 19; 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.
  • Goals scored / 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 2.35; xG against 1.25. 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 signals7 signals · 1 clubs

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

Bayer Leverkusen Wins in a row 5 Last 8 recorded matches · all competitions Streak64

Consecutive wins start with the latest recorded result. A draw or defeat ends the run within the available window.

Recorded scores · all competitions · Last 8 recorded matches · 2026-08-29 → 2026-10-18 UTC. A run of 10 is a lower bound. Related result sequences share one evidence family.

Insight Score 64/100 Experimental · editorial interest
Deviation
46.2
Recency
96.8
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 Bayer Leverkusen’s perspective. Event: Wins in a row.

Date (UTC)OpponentGF–GAEvent
2026-08-29SV ElversbergA2–3LNo
2026-09-05Union BerlinH4–0WYes
2026-09-12FC AugsburgA2–2DNo
2026-09-16CeljeH2–0WYes
2026-09-20RB LeipzigH2–0WYes
2026-10-10FSV Mainz 05A4–3WYes
2026-10-15Lech PoznanA4–0WYes
2026-10-18SC FreiburgH2–1WYes

Consecutive known results, starting with the latest recorded match. Missing or special results are excluded. A 10+ streak is a lower bound within this window.

Full club analysis →
Bayer Leverkusen Unbeaten in a row 7 Last 8 recorded matches · all competitions Streak71

The latest recorded sequence contains wins and draws without a defeat. It counts results, without adjusting for the opposition.

Recorded scores · all competitions · Last 8 recorded matches · 2026-08-29 → 2026-10-18 UTC. A run of 10 is a lower bound. Related result sequences share one evidence family.

Insight Score 71/100 Experimental · editorial interest
Deviation
64.6
Recency
96.8
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 Bayer Leverkusen’s perspective. Event: Unbeaten in a row.

Date (UTC)OpponentGF–GAEvent
2026-08-29SV ElversbergA2–3LNo
2026-09-05Union BerlinH4–0WYes
2026-09-12FC AugsburgA2–2DYes
2026-09-16CeljeH2–0WYes
2026-09-20RB LeipzigH2–0WYes
2026-10-10FSV Mainz 05A4–3WYes
2026-10-15Lech PoznanA4–0WYes
2026-10-18SC FreiburgH2–1WYes

Consecutive known results, starting with the latest recorded match. Missing or special results are excluded. A 10+ streak is a lower bound within this window.

Full club analysis →
Bayer Leverkusen Goals scored per match 2.8 Last 8 recorded matches · all competitions Scores58

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-18 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 58/100 Experimental · editorial interest
Deviation
26.6
Recency
96.8
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 Bayer Leverkusen’s perspective.

Date (UTC)OpponentGF–GA
2026-08-29SV ElversbergA2–3L
2026-09-05Union BerlinH4–0W
2026-09-12FC AugsburgA2–2D
2026-09-16CeljeH2–0W
2026-09-20RB LeipzigH2–0W
2026-10-10FSV Mainz 05A4–3W
2026-10-15Lech PoznanA4–0W
2026-10-18SC FreiburgH2–1W
Full club analysis →
Bayer Leverkusen xG difference per match +1.10 Underlying performance · 10-match window Observed xG42

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 2.35; xG against 1.25. Coverage counts are unavailable and denominators can differ. Recency receives zero for this undated source; quality is capped at 40.

Insight Score 42/100 Experimental · editorial interest
Deviation
73.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
2.35
xG against
1.25

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 →
Bayer Leverkusen Clean sheets 4 Last 8 recorded matches · all competitions Scores65

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-18 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 65/100 Experimental · editorial interest
Deviation
47.9
Recency
96.8
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 Bayer Leverkusen’s perspective. Event: Clean sheet.

Date (UTC)OpponentGF–GAEvent
2026-08-29SV ElversbergA2–3LNo
2026-09-05Union BerlinH4–0WYes
2026-09-12FC AugsburgA2–2DNo
2026-09-16CeljeH2–0WYes
2026-09-20RB LeipzigH2–0WYes
2026-10-10FSV Mainz 05A4–3WNo
2026-10-15Lech PoznanA4–0WYes
2026-10-18SC FreiburgH2–1WNo
Full club analysis →
Bayer Leverkusen Scoring in a row 8 Last 8 recorded matches · all competitions Streak74

The club has scored in consecutive recorded matches, starting with the latest result. One goal is enough to extend the run.

Recorded scores · all competitions · Last 8 recorded matches · 2026-08-29 → 2026-10-18 UTC. A run of 10 is a lower bound. Related result sequences share one evidence family.

Insight Score 74/100 Experimental · editorial interest
Deviation
73.8
Recency
96.8
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 Bayer Leverkusen’s perspective. Event: Scoring in a row.

Date (UTC)OpponentGF–GAEvent
2026-08-29SV ElversbergA2–3LYes
2026-09-05Union BerlinH4–0WYes
2026-09-12FC AugsburgA2–2DYes
2026-09-16CeljeH2–0WYes
2026-09-20RB LeipzigH2–0WYes
2026-10-10FSV Mainz 05A4–3WYes
2026-10-15Lech PoznanA4–0WYes
2026-10-18SC FreiburgH2–1WYes

Consecutive known results, starting with the latest recorded match. Missing or special results are excluded. A 10+ streak is a lower bound within this window.

Full club analysis →
Bayer Leverkusen Points above expected +3.5 8/8 covered matches · current leagues Forecast57

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-18 UTC. Points 19; 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 57/100 Experimental · editorial interest
Deviation
40.4
Recency
96.8
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
19.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 →

Showing 1–7 of 7 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 →