{"binning_method":"HEADLINE data_tier = KMeans(k=5) on the composite scalar, clusters relabeled so the highest-mean cluster = tier 1. data_tier_quantile = equal-frequency (positional quintile) binning, kept as a cross-check. K-means is headline because most countries have little censorship data and an equal-frequency split would force 20% into tier 1 regardless of composite.","composite":1.25915,"composite_method":"per-feature rank-transform to [0,1] -> z-score -> equal-weight mean of 6 z-scores.","country":"GB","country_name":"United Kingdom","data_tier":2,"data_tier_quantile":1,"disagreement":-3,"disagreement_magnitude":3,"disagreement_quantile":-4,"feature_keys":["confirmed_censorship_incident_count","mean_block_rate","n_distinct_domains_blocked","n_blocking_methods_observed","forecast_mean_risk","dbscan_anomaly_frequency"],"feature_z":{"confirmed_censorship_incident_count":1.5887,"dbscan_anomaly_frequency":1.4923,"forecast_mean_risk":0.1712,"mean_block_rate":0.7706,"n_blocking_methods_observed":1.9627,"n_distinct_domains_blocked":1.5693},"features":{"confirmed_censorship_incident_count":2,"dbscan_anomaly_frequency":0.213115,"forecast_mean_risk":0.023961,"mean_block_rate":0.183264,"n_blocking_methods_observed":2,"n_distinct_domains_blocked":1},"forecast_imputed":true,"generated_at":"2026-05-22T05:10:20.496065Z","hand_set_tier":5,"honest_caveats":["PROPOSAL ONLY — the hand-set country_geography.risk_tier is NOT modified by this script and stays authoritative until a human reviews the diff.","Data-derived tier reflects the trailing 365 days only. The hand-set tier may encode a longer political history (e.g. a decade of shutdowns) that recent data does not show. This is why North Korea / Turkmenistan / Eritrea — hand-set tier 1 — land in a low data tier: they have near-total censorship but almost no OONI probe coverage, so recent data shows little.","Tier boundaries are arbitrary at the margin — a country one rank/cluster-edge either side of a boundary moves a whole tier. data_tier (k-means) and data_tier_quantile are both reported precisely so boundary cases are visible; treat any single-tier disagreement as soft.","A country can legitimately be a low data tier by recent measurement and a high hand-set tier by political context the data does not capture (e.g. a repressive regime in a quiet measurement month, or a country with no probes at all).","forecast_mean_risk is only computed from the live model for the 21 countries with a recent forecast feature row; the rest are mean-imputed, so that feature is weaker for non-watched countries.","Measurement volume is very uneven — CN/RU/IR have thousands of non-IODA rows, most countries have under 100. mean_block_rate is empirical-Bayes-shrunk toward the global pooled rate so a 20-row country is not scored 100%-blocked, but DBSCAN-frequency and domain counts are still noisier for sparse countries.","The six features are correlated (block rate, blocked domains and incident count all move together), so the equal-weight composite is not an information-theoretic average."],"in_country_geography":true,"proposal_disclaimer":"PROPOSAL ONLY. The hand-set country_geography.risk_tier stays authoritative; this data-derived tier is advisory until a human reviews it. It is NOT consumed by any model.","schema":"voidly-data-driven-risk-tiers/v1","tier_convention":"tier 1 = HIGHEST censorship risk, tier 5 = lowest. Matches country_geography.risk_tier. disagreement = data_tier - hand_set_tier, so a NEGATIVE value means the data places the country at higher risk than the hand-set tier.","_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."}}