voidly

Live next-24h contagion watchlist: which countries are most likely to block in the next 24-48h

The contagion-chain model shipped earlier this week is descriptive ("given country A blocked, P(B follows in 7d) = X"). This new endpoint is PROACTIVE: it consumes the triggers that ACTUALLY fired in the last 48h and ranks every candidate follower country by its risk of blocking in the next 24-48h. Pipeline: pull confirmed-censorship/mixed incidents in last 48h (dedup to country-day) → score every candidate follower at horizon=3d (closest available proxy to "tomorrow") → aggregate via noisy-OR across all active triggers (1 - prod(1-p_i)) → subtract base_rate_daily × 3 so countries that block every day anyway don't dominate → sort. First run (2026-05-21): 4 active triggers (EG, JO, MA, UZ all on 2026-05-20). Top-5 most-at-risk: Tanzania (score 0.94), India (0.89), Myanmar (0.87), Azerbaijan (0.82), Iran (0.81). Honest caveats baked into every response — inherits underlying classifier's 0.67 AUC, 24-48h is a TIGHT window (most contagion patterns are 3-7d), attribution is probabilistic not causal, noisy-OR overestimates when triggers share a driver, base-rate adjustment is a heuristic. Endpoints: GET /v1/atlas/contagion-watchlist (ranked top-K + active triggers + meta), /v1/atlas/contagion-watchlist/info (meta only), /v1/atlas/contagion-watchlist/{cc} (per-country attribution — which triggers are pushing this country up). Cron every 6h.

#contagion#forecast#live#proactive#watchlist#next-24h#transparency#ml-honesty#api

Raw data