diff --git a/frontend/src/pages/RegimePage.tsx b/frontend/src/pages/RegimePage.tsx index 42f69c7..d2e4b84 100644 --- a/frontend/src/pages/RegimePage.tsx +++ b/frontend/src/pages/RegimePage.tsx @@ -375,26 +375,25 @@ function EventStudyBody({ report }: { report: EventStudyReport }) { const recent = report.recent_breadth ?? []; const breadthVals = recent.map((r) => r.breadth); const divVals = recent.map((r) => r.divergence ?? 0); - const lead = report.lead_delta_days; + const moreCoverage = bd.events_with_signal > cd.events_with_signal; return (

{report.events?.length ?? 0} drawdown events (≥{report.params?.event_threshold_pct}%) on{' '} - {report.params?.benchmark} over ~5y. Higher median lead = earlier warning. + {report.params?.benchmark} over ~5y. With so few events, coverage (how many it warned before) matters + more than the median lead.

- 0} /> +
- {lead != null && ( -

- Breadth divergence warned a median{' '} - 0 ? 'text-emerald-400' : 'text-amber-400'}`}> - {lead > 0 ? '+' : ''}{lead} days - {' '} - {lead >= 0 ? 'earlier' : 'later'} than the coincident baseline. -

- )} +

+ Breadth divergence warned before{' '} + {bd.events_with_signal}/{bd.events_total} drawdowns + {bd.median_lead_days != null ? ` (median ${bd.median_lead_days}d lead)` : ''}; the coincident baseline only{' '} + {cd.events_with_signal}/{cd.events_total}. The median-lead + comparison is unreliable when coverage differs this much — see per-drawdown below. +

{report.per_event && report.per_event.length > 0 && (
Per drawdown (same events, both indicators)