{"auc_range":0.4679,"auc_variance":0.0188,"country_code":"RU","generated_at":"2026-05-21T20:02:27.290333+00:00","honest_caveats":["OONI test types have different probe densities across countries; AUC is not perfectly apples-to-apples.","\"Diagnostic\" does not mean \"causal\" — a test type may be high-AUC because operators chose to test it heavily on incident days.","AUC computed in-sample (no train/test split) so values are upper bounds on out-of-sample performance.","Logistic regression uses class_weight=balanced because positive days are rare.","Incidents within +/- 1 day are positive; this can leak signal between adjacent days.","Countries with insufficient labeled data are skipped silently — see n_countries_total vs n_countries_viable."],"interpretation":"Per-test-type AUC measures how separable censorship/mixed incident days are from non-incident days using ONLY that OONI test type's anomaly rate. The top_test_type is the most diagnostic for this country — where journalists should look first when investigating a new event.","model_id":"ooni-test-type-diagnostic-v1","n_positive_days":622,"n_total_days":675,"n_viable_test_types":8,"test_types":[{"auc":0.9773,"coef":2.8603,"mean_rate":0.8463,"n_days":674,"n_negative":53,"n_positive":621,"test_type":"web_connectivity"},{"auc":0.7305,"coef":-0.9719,"mean_rate":0.0971,"n_days":81,"n_negative":53,"n_positive":28,"test_type":"http_header_field_manipulation"},{"auc":0.7257,"coef":-0.8943,"mean_rate":0.1277,"n_days":80,"n_negative":53,"n_positive":27,"test_type":"http_invalid_request_line"},{"auc":0.6579,"coef":-0.379,"mean_rate":0.4026,"n_days":83,"n_negative":53,"n_positive":30,"test_type":"facebook_messenger"},{"auc":0.6038,"coef":-0.2907,"mean_rate":0.8751,"n_days":82,"n_negative":53,"n_positive":29,"test_type":"signal"},{"auc":0.5823,"coef":-0.3813,"mean_rate":0.5567,"n_days":82,"n_negative":53,"n_positive":29,"test_type":"telegram"},{"auc":0.566,"coef":-0.1226,"mean_rate":0.8739,"n_days":82,"n_negative":53,"n_positive":29,"test_type":"whatsapp"},{"auc":0.5094,"coef":-0.0916,"mean_rate":0.9121,"n_days":80,"n_negative":53,"n_positive":27,"test_type":"tor"}],"top_auc":0.9773,"top_test_type":"web_connectivity","window_days":730,"_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."}}