For each closed round1 streak with L ≥ threshold, counts draws in
the next N matches after the closing draw (N is fixed at build time
per team based on their post_window_max).
Round1 length distribution with cutoffs for p95 / p99 / tukey15 / tukey3. Cutoffs computed server-side from the team's own R1 lengths.
A chain is a sequence of consecutive round2 entries where each
successor's triggered_by equals the previous entry's
length (a round2 that reached threshold re-enters as the
next round1). Chains of length ≥ 2. Computed from canonical JSON,
so the set differs from the curated chain_analyzer_report.txt.
Decomposition of each drawless streak into pure-W and pure-L sub-runs (within-streak) plus pure-D runs (between streaks). Dotted right-axis lines show, per length, the share of pure-W (or pure-L) sub-runs whose terminator was the streak's closing draw vs an intra-streak transition; lengths with fewer than 3 resolved runs are omitted. Dashed vertical marker (per-team only) flags the team's current open pure-run.
Top 25 longest round1 streaks pooled across all teams in the current team's league (or, for the aggregate view, the longest streaks across every league). Open tails are tagged open — if the team is mid-streak that entry is still climbing. Click a column header to sort.
Competitive matches only — friendlies excluded (their venues are
unreliable). delta_pp = home_rate − away_rate
(percentage points). Source: per-team _draw_analysis_*.txt.
Variant-independent.
Alerts are computed by src/draw_magnets.py on the
competitive_only / keep variant only — independent of
the variant dropdown above.