voidly

Atlas Score v2: base-rate weighting promotes chronic blockers (CN, RU, KP).

v1 of the score rewarded change over level — Russia/China/North Korea scored as B- because nothing was actively changing. v2 weights 50% structural baseline (12-month censorship-weighted incidents + tier floor) and only 20% recent forecast. Result: CN +33pts, RU +24pts, KP +32pts. Iran moves to #1 at F grade. v2 is experimental at /v1/atlas/score-v2; v1 remains the default until grade bands are tuned.

#methodology#atlas-score#base-rate#china#russia#experimental

Atlas Score v1 shipped earlier today with a known limitation: it weighted CHANGE more than LEVEL. Russia (B− 23.8), China (B− 25.4), and North Korea (B− 24.0) all scored low despite massive baseline censorship — because nothing was shifting this week.

v2 fixes that with a base-rate-weighted formula:

Componentv1v2
Structural baseline (12-month censorship-weighted incidents + tier floor)0%50%
30-day forecast mean0%20%
7-day current forecast max_risk40%15%
24h incident density25%10%
Anomaly disagreement5%5%
7-day trend delta20%0% (moved to separate field)
Calibration quality10%moved to separate confidence field

Two important honesty additions:

  • Censorship/mixed-mechanism incidents are weighted 3.0×; pure disruptions weighted 0.3× (filters out OONI network-outage noise that previously inflated democracies).
  • Tier floors prevent chronic-censorship countries from scoring 0 due to probe-network blind spots. KP / TM / ER carry a visibility_warning in raw_signals because tier-4 + zero observed incidents = we can't see inside.

Big gainers (chronic-blocker correction)

Countryv1 scorev2 scoreΔ
AZ Azerbaijan15.3 A50.2 C+34.9
CN China25.7 B-59.1 C+33.4
ER Eritrea23.9 B-56.7 C+32.8
TM Turkmenistan24.7 B-57.1 C+32.4
KP North Korea24.5 B-56.5 C+32.0
SY Syria24.2 B-47.9 C+23.7
RU Russia23.6 B-47.1 C+23.5
BY Belarus24.4 B-46.8 C+22.4
CU Cuba23.9 B-46.1 C+22.2

Big losers (change-spike countries correctly de-rated)

  • SD Sudan: 64.5 C → 30.2 B (−34.3pts) — low chronic baseline, recent spike was a noise event
  • BR Brazil: 59.4 C → 37.9 B (−21.5pts)
  • MY Malaysia: 59.2 C → 40.5 B (−18.7pts)
  • PH Philippines: 59.9 C → 43.8 B (−16.1pts)

Top 10 leaderboard now

  1. IR Iran — 77.4 F (was #4 D in v1)
  2. PK Pakistan — 70.9 D
  3. EG Egypt — 69.4 D
  4. UZ Uzbekistan — 69.1 D
  5. VE Venezuela — 63.6 D
  6. VN Vietnam — 59.2 C
  7. CN China — 59.1 C
  8. SA Saudi Arabia — 59.1 C
  9. LB Lebanon — 57.8 C
  10. MM Myanmar — 57.1 C

Honest gap to the promote criteria

Decision targets: RU/CN/KP/BY should hit D+ (≥65). v2 gets them into the C cluster (47-59) — clearly elevated from v1's B-, but still below D. To push them past 65 strictly would require ≥58% tier weight, which crosses from "rebalanced composite" into "tier with decoration." Holding v2 as experimental until grade bands are widened (e.g. C 40-55, D 55-70, F 70+).

Live at

GET /v1/atlas/score-v2 — leaderboard (≥experimental)
GET /v1/atlas/score-v2/IR — single country breakdown
GET /v1/atlas/score — v1 still the default

Raw data