Unsupervised anomaly leaderboard
Live CenDTect-style DBSCAN over a rolling 45-day window of per-country OONI feature vectors. Higher anomaly score = farther from this country's recent normal. Useful as a second opinion on the supervised classifier — DBSCAN surfaces shape-anomalous days the labels never saw.
AUC vs labels
0.6506
Promote floor
0.65
Passed
YES
n scored
3922
| # | Country | Anomaly score | Block rate | n measurements | As of |
|---|---|---|---|---|---|
| 1 | AU (AU) | 8.789 | 28.6% | 7 | 2026-05-21 |
| 2 | NL (NL) | 8.264 | 42.9% | 7 | 2026-05-21 |
| 3 | JP (JP) | 8.164 | 44.4% | 9 | 2026-05-21 |
| 4 | DE (DE) | 8.047 | 40.0% | 10 | 2026-05-21 |
| 5 | United States (US) | 7.609 | 69.0% | 29 | 2026-05-21 |
| 6 | Brazil (BR) | 7.367 | 50.0% | 8 | 2026-05-21 |
| 7 | ZA (ZA) | 7.282 | 33.3% | 6 | 2026-05-21 |
| 8 | FR (FR) | 7.185 | 100.0% | 12 | 2026-05-21 |
| 9 | CA (CA) | 6.464 | 20.0% | 5 | 2026-05-21 |
| 10 | GB (GB) | 6.440 | 28.6% | 7 | 2026-05-21 |
| 11 | ES (ES) | 6.405 | 0.0% | 5 | 2026-05-21 |
| 12 | South Korea (KR) | 6.312 | 0.0% | 5 | 2026-05-21 |
| 13 | SG (SG) | 5.488 | 44.4% | 9 | 2026-05-21 |
| 14 | India (IN) | 3.548 | 60.0% | 10 | 2026-05-21 |
| 15 | Morocco (MA) | 3.262 | 31.3% | 16 | 2026-05-20 |
| 16 | Egypt (EG) | 2.298 | 29.4% | 17 | 2026-05-20 |
| 17 | IQ (IQ) | 1.773 | 17.6% | 17 | 2026-05-20 |
| 18 | AE (AE) | 0.000 | 73.7% | 38 | 2026-05-20 |
| 19 | Armenia (AM) | 0.000 | 0.0% | 5 | 2026-05-20 |
| 20 | AR (AR) | 0.000 | 0.0% | 5 | 2026-05-20 |
| 21 | Azerbaijan (AZ) | 0.000 | 68.0% | 25 | 2026-05-20 |
| 22 | Bangladesh (BD) | 0.000 | 87.0% | 46 | 2026-05-20 |
| 23 | Bulgaria (BG) | 0.000 | 0.0% | 5 | 2026-05-20 |
| 24 | Belarus (BY) | 0.000 | 58.6% | 29 | 2026-05-20 |
| 25 | China (CN) | 0.000 | 97.3% | 73 | 2026-05-20 |
| 26 | Colombia (CO) | 0.000 | 0.0% | 5 | 2026-05-20 |
| 27 | Cuba (CU) | 0.000 | 20.0% | 5 | 2026-05-19 |
| 28 | Algeria (DZ) | 0.000 | 12.5% | 16 | 2026-05-20 |
| 29 | Ethiopia (ET) | 0.000 | 11.1% | 18 | 2026-05-20 |
| 30 | GE (GE) | 0.000 | 0.0% | 5 | 2026-05-20 |
GET /v1/anomaly/dbscan/leaderboard
Raw JSON of the same data, with pagination
DBSCAN finding
Methodology, eval methodology, honest scope, comparison vs supervised classifier
Why two models? The supervised v3.3 classifier is excellent at known censorship patterns (F1 0.99 stratified) but cannot recognize patterns it never saw labels for. The unsupervised DBSCAN surfaces “weird days” without any training labels — a valuable complement when labels lag the world. AUC vs labels of 0.65 is intentional: an unsupervised method that perfectly matched the labels would be redundant with the supervised one.
Generated: 2026-05-21T12:48:34.035280Z