{"generated_at":"2026-05-29T06:30:08.754715+00:00","honest_caveats":["Ensemble of two honestly-validated models. shutdown_risk_v4 provides country structural risk (the cross-country signal); honest_forecast_v1 provides OONI z-score trajectory (the within-country timing signal). The product captures WHICH and WHEN.","Within-country median AUC 0.73. The model differentiates shutdown-precursor days from other days within the major shutdown-prone countries (MM, IN, RU, PK, IQ all >=0.70). For low-N countries the within-country signal is weaker — sample-size limited, not model-limited.","Country structural risk dominates the cross-country signal; OONI measurement trajectory adds the within-country timing.","City-level / sub-national shutdowns (~half of KeepItOn events) remain harder to predict from country-level aggregates.","v1/v2/v3 lost the signal by over-fitting; v4 captured country-identity; v5 is the minimum ensemble that adds within-country timing on top of v4."],"honest_validation":{"full_panel_auc":0.8846885610212972,"full_panel_pr_auc":0.23192091509012414,"method":"full-panel scoring; within-country AUCs for countries with >=5 KeepItOn positive days + both classes","n_countries_scored_within":23,"n_countries_within_auc_ge_065":13,"n_countries_within_auc_ge_080":1,"per_country":[{"country":"MM","ensemble_auc":0.8305899288606307,"hf_only_auc":0.4126525287150495,"n":1602,"pos":341,"sr_only_auc":0.8419399024653431},{"country":"IN","ensemble_auc":0.7408933897189054,"hf_only_auc":0.31908435652489286,"n":1602,"pos":203,"sr_only_auc":0.8441955372768021},{"country":"RU","ensemble_auc":0.7625878203804667,"hf_only_auc":0.6193269010775609,"n":1602,"pos":121,"sr_only_auc":0.7636648232989772},{"country":"PK","ensemble_auc":0.7290166954182626,"hf_only_auc":0.6159936843951932,"n":1602,"pos":115,"sr_only_auc":0.7220724540218123},{"country":"TZ","ensemble_auc":0.5837072856221792,"hf_only_auc":0.5869245647969052,"n":1601,"pos":50,"sr_only_auc":0.6019406834300451},{"country":"IQ","ensemble_auc":0.7712623992007422,"hf_only_auc":0.677142653250553,"n":1602,"pos":45,"sr_only_auc":0.7624562905873118},{"country":"IR","ensemble_auc":0.7359348745582016,"hf_only_auc":0.5934681422253124,"n":1602,"pos":33,"sr_only_auc":0.6265523301852174},{"country":"JO","ensemble_auc":0.4568660373933563,"hf_only_auc":0.5553412597567616,"n":1602,"pos":28,"sr_only_auc":0.44131194409148666},{"country":"TR","ensemble_auc":0.7495121619168633,"hf_only_auc":0.697313487021238,"n":1602,"pos":28,"sr_only_auc":0.6751905972045743},{"country":"KE","ensemble_auc":0.7490192528215341,"hf_only_auc":0.5487959442332065,"n":1599,"pos":21,"sr_only_auc":0.7025167481441245},{"country":"SD","ensemble_auc":0.4660853588747327,"hf_only_auc":0.35461281286708235,"n":1602,"pos":21,"sr_only_auc":0.6931267130508116},{"country":"SY","ensemble_auc":0.604176102907872,"hf_only_auc":0.4794818371229278,"n":1598,"pos":21,"sr_only_auc":0.6206932995138449},{"country":"VE","ensemble_auc":0.7622359709962169,"hf_only_auc":0.9483764186633039,"n":1602,"pos":16,"sr_only_auc":0.5117630832282472},{"country":"BY","ensemble_auc":0.610268981648075,"hf_only_auc":0.5555055775458798,"n":1602,"pos":14,"sr_only_auc":0.5935138539042821},{"country":"GN","ensemble_auc":0.7501711156741958,"hf_only_auc":0.7701672044587856,"n":1475,"pos":14,"sr_only_auc":0.667180013689254},{"country":"ET","ensemble_auc":0.3135244066278549,"hf_only_auc":0.24863412449619346,"n":1602,"pos":7,"sr_only_auc":0.49780564263322885},{"country":"ID","ensemble_auc":0.3085535154500672,"hf_only_auc":0.39713390058217646,"n":1602,"pos":7,"sr_only_auc":0.4169278996865204},{"country":"KG","ensemble_auc":0.4836990595611285,"hf_only_auc":0.696999552171966,"n":1602,"pos":7,"sr_only_auc":0.2608150470219436},{"country":"NG","ensemble_auc":0.7552171965965069,"hf_only_auc":0.7512763098969996,"n":1602,"pos":7,"sr_only_auc":0.49780564263322885},{"country":"OM","ensemble_auc":0.039937106918238985,"hf_only_auc":0.02929020664869721,"n":1597,"pos":7,"sr_only_auc":0.4977987421383648},{"country":"TG","ensemble_auc":0.6972382151853185,"hf_only_auc":0.8137369557394747,"n":1595,"pos":7,"sr_only_auc":0.39641057934508817},{"country":"US","ensemble_auc":0.7357366771159874,"hf_only_auc":0.9543215405284371,"n":1602,"pos":7,"sr_only_auc":0.3470219435736677},{"country":"VN","ensemble_auc":0.5443349753694582,"hf_only_auc":0.42740707568293773,"n":1602,"pos":7,"sr_only_auc":0.386833855799373}],"within_country_auc_mean":0.6165464577746433,"within_country_auc_median":0.7290166954182626},"label_source":"Access Now #KeepItOn STOP dataset (journalist-verified)","loaded":true,"method":"trained AND validated on real, verified shutdown labels; see scripts/train-shutdown-risk-v4.py for the trainer and scripts/validate-against-keepiton.py for the prior honest cross-target validation","model_version":"shutdown_risk_v5","n_countries":60,"recommended_threshold":0.14,"schema":"voidly-shutdown-risk-info/v4","score_formula":"isotonic(shutdown_risk_v4_prob * honest_forecast_v1_prob)","_voidly_pay":{"claim_did":"https://voidly.ai/pay/claim","for_builders":"https://voidly.ai/pay/for-builders","marketplace":"https://api.voidly.ai/v1/pay/marketplace","live_demo":"https://huggingface.co/spaces/emperor-mew/voidly-pay","universal_proxy":{"url":"https://api.voidly.ai/v1/pay/proxy","example":"https://api.voidly.ai/v1/pay/proxy?u=<https-url>&to=did:voidly:<your-did>&price=0.01","page":"https://voidly.ai/pay/proxy","note":"Paywall any public HTTPS URL with one query param. No SDK install required."},"install":{"typescript":"npm install @voidly/pay","python":"pip install voidly-pay","langchain":"pip install voidly-pay-langchain","vercel_ai":"npm install @voidly/pay-vercel-ai","mcp":"npx @voidly/pay-mcp","cli":"npm install -g @voidly/pay-cli"},"note":"Voidly Pay is the open agent-to-agent payment rail. Claim a DID + 10 starter credits in 60s, or paywall any URL via the universal proxy with one query param."}}