Sworn

Methodology

One number, 123 indicators,
zero invented data.

Every value on Sworn traces back to a primary source. This page documents the formula that turns 123 official indicators into a single 0–100 score per country, and the rules that govern when we don’t publish a score at all.

01Sources

Where every number comes from

Every active metric is ingested via the World Bank Open Data API, which republishes indicators owned by WHO, ILO, FAO, UNESCO, IMF, and the WHO/UNICEF JMP. If a number isn’t from one of these, it’s not on Sworn. Transparency International and Reporters Without Borders indices are tracked as schema definitions awaiting their next annual refresh.

When two sources publish the same number

Many indicators are reported by more than one institution — GDP by the World Bank and the IMF, mortality by the World Bank and WHO, and so on. Rather than pick a favorite or silently average behind your back, Sworn stores every reported raw value and shows you the full set. The canonical number you see on the country page is computed with one transparent rule:

  • ·One source — we publish that source’s value unchanged.
  • ·Two sources — we publish their mean (the median of two values is their mean).
  • ·Three or more sources — we publish the median, which resists a single outlier without hiding it.

When the spread between sources is wider than 10% of the median, the metric card shows a ⚠ sources disagree chip. Click any chip to see the raw values side by side with a direct link to each source. No silent picks; no averaged-away disagreements.

02Per-metric normalization

Trimmed-bounds rescaling to 0–100

Raw indicator values are incomparable across metrics. Life expectancy is measured in years; corruption perception on a 0–100 scale. We rescale each metric to a shared 0–100 scale so they can be combined.

  1. Compute bounds per metric, per year.

    For each metric, take the 2.5th and 97.5th percentile of observed values across the full reference set (today: all 217 covered countries; future: all 193 UN member states). Extreme outliers are trimmed, but everything in between stays exactly proportional.

  2. Freeze bounds for the year.

    Once computed, the year's bounds don't move. A new observation arriving in November cannot retroactively change a country's score from January.

  3. Linearly rescale to 0–100.

    Each country's value is mapped from [lower bound, upper bound] → [0, 100]. Values outside the bounds are clamped at the edges.

  4. Invert where appropriate.

    For lower-is-better metrics (child mortality, corruption, undernourishment) we flip the scale so 100 always means 'better' across every category.

03Aggregation

Three categories, weighted on purpose

The 123 metrics roll up into three category scores. Category weights reflect importance to human flourishing, not data availability.

Health

18%

Life expectancy, mortality, undernourishment, water + sanitation, immunization, physicians.

Economy

16%

GDP per capita, growth, poverty, inequality, employment, inflation, debt.

Governance

16%

Corruption, rule of law, voice, regulatory quality, political stability, government effectiveness, press freedom.

Education

14%

Literacy, school enrollment, completion, learning outcomes, education spending.

Infrastructure

12%

Electricity, internet, mobile + broadband, urban density, roads, logistics.

Environment

12%

CO₂ per capita, forest cover, renewables, air quality, protected areas, energy intensity.

Rights

12%

Women in parliament, gender parity in schooling, female labor force, child labor, refugees.

Formula

category_score = mean(normalized metrics in category)
────────────────────────────────────────────────────────────────
sworn_score    = Σ weight[c] × category_score[c]  for c in present categories
                  ────────────────────────────────
                       Σ weight[c]  (renormalize)

A country must have data in at least 4 of 7 categories to receive a score. The weighted average is renormalized over the categories it actually has data for, so countries aren’t penalized for gaps outside their statistical coverage.

192 of 217 tracked countries get a published Sworn Score. The other 25 (microstates, Kosovo, North Korea, and a few dependencies) fall below the 70% data-coverage threshold and show “Unable to calculate” instead of a low-confidence number. Per-category breakdowns apply the same 70% threshold to each category’s own indicators — a country with only 5 of 20 health metrics renders “Health: —” rather than a misleading high score computed from the thin slice it has.

04Confidence

Every score is published with a coverage % and a ± range

If we don't have enough indicators for a country, we say so instead of publishing a low-confidence number.

High confidence

± 2

≥ 90% of 123 indicators populated. Score shown as e.g. “Norway 76.4 ± 2”.

Medium confidence

± 5

70–89% coverage. Score shown as e.g. “Serbia 60.1 ± 5”. A ranking is still computed.

Unable to calculate

< 70%

Below 70% coverage. No score, no rank. Country page still shows what we do have so you can see the gap.

Coverage

The share of the 123-indicator catalog with a non-null normalized value for that country. Computed at score time; visible on every country page as “Based on X/123 indicators”.

Freshness

Mean age (in years) of the latest data point per indicator. Many upstream sources publish on a 1–3 year lag; freshness lets you spot countries whose data is older than the median.

Tightens our promise to never claim more confidence than we have (NORTH_STAR §2.6). A microstate with 30% coverage was previously published with a number indistinguishable from a 90%-coverage country’s number; now the difference is on the badge.

05Promise status

From commitment to outcome

For each tracked promise, we compute one of five statuses by comparing the linked metric's trajectory against the target and deadline.

  • Achieved

    Latest metric value already meets the target.

  • On track

    Linear trajectory from the last 5 observations lands at the target by the deadline.

  • Failing

    Trajectory misses the target by the deadline.

  • Broken

    Deadline passed and target not met.

  • Tracking

    Metric is linked and we have data, but there's no deadline or quantified target — we're watching, no verdict yet.

  • Not verifiable

    No Sworn metric is linked to this commitment. We cannot verify whether it has moved, so we publish the promise transparently without a status. Either the AI matcher abstained (low confidence) or the curator explicitly marked it as unmatched.

06Boundaries

What we don't do

Knowing what stays out of the model is as important as knowing what goes in.

  • We do not invent target values

    Qualitative promises stay 'Tracking' until a quantified target is set.

  • We do not aggregate third-party datasets

    Every value cites a primary source — no commercial aggregators, no media-report estimates.

  • We do not weight by population or GDP

    Each metric is country-equal, by design. Large states do not outvote small ones.