{"auc_range":0.1934,"auc_variance":0.0052,"country_code":"TR","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":16,"n_total_days":83,"n_viable_test_types":5,"test_types":[{"auc":null,"coef":null,"mean_rate":0.0439,"n_days":47,"n_negative":39,"n_positive":8,"skipped_reason":"lt_50_days","test_type":"signal"},{"auc":null,"coef":null,"mean_rate":0.0474,"n_days":29,"n_negative":27,"n_positive":2,"skipped_reason":"lt_50_days","test_type":"telegram"},{"auc":null,"coef":null,"mean_rate":0.0814,"n_days":40,"n_negative":35,"n_positive":5,"skipped_reason":"lt_50_days","test_type":"whatsapp"},{"auc":0.7596,"coef":0.8926,"mean_rate":0.0597,"n_days":63,"n_negative":52,"n_positive":11,"test_type":"facebook_messenger"},{"auc":0.6515,"coef":0.5278,"mean_rate":0.1044,"n_days":80,"n_negative":66,"n_positive":14,"test_type":"http_invalid_request_line"},{"auc":0.5876,"coef":0.3068,"mean_rate":0.0401,"n_days":52,"n_negative":41,"n_positive":11,"test_type":"tor"},{"auc":0.5746,"coef":-0.328,"mean_rate":0.1386,"n_days":79,"n_negative":66,"n_positive":13,"test_type":"http_header_field_manipulation"},{"auc":0.5662,"coef":-0.2193,"mean_rate":0.0474,"n_days":83,"n_negative":67,"n_positive":16,"test_type":"web_connectivity"}],"top_auc":0.7596,"top_test_type":"facebook_messenger","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."}}