Methodology

Where these numbers come from

Everything on this site is computed from two CSV files that ship with it. No figure is modelled, estimated or filled in, and nothing is fetched from an external service to produce the scores.

The two datasets

Sustainable Development Report 2023
One row per country with an overall SDG Index score and a score for each of the 17 goals. It covers 166 countries and is the source of every headline score and ranking on the site.
SDG Index 2000-2022
An annual series from 2000 to 2022 for the same countries plus 14 aggregate groups. It is the source of every trend line, sparkline and "change since 2000" figure.

Sustainable Development Report, Sachs, J., Lafortune, G., Fuller, G., Drumm, E. et al., published by the Sustainable Development Solutions Network. Not a United Nations publication..

What a score means

Each goal score runs from 0 to 100 and measures distance to target: 0 is the worst outcome observed across countries and 100 means the target has been reached on the indicators behind that goal. So 100 − score is the distance still to cover. A score of 60 on Goal 4 and 60 on Goal 13 are both "60 per cent of the way there", but they rest on different indicators, so comparing one goal across countries says more than comparing a country's own goals against each other.

A score of 100 means the indicators used for that goal are at target. It does not mean the goal is finished, and this site never describes a country as having achieved a goal or as being on track for 2030 — neither claim is supported by these files.

Why the 17 goals do not average to the headline

The overall SDG Index score is published in the dataset, and this site displays it rather than recomputing it. It is the unweighted average of all 17 goal scores — but where a country has no score for a goal, the published index fills that gap with the average of that country's own region on that goal before averaging.

Reproducing that rule matches every published overall score to within 6×10−9. Simply averaging the goals a country does have diverges by up to 3.46 points. That is why a country with a missing goal will not see its 17 visible numbers average to its headline score, and why this site labels any average it computes itself as "the average of the countries assessed".

Two baselines

Change is shown against 2000 and against 2015. 2015 is the year the goals were adopted, and it is the more revealing comparison: measured from 2000 only one country in the dataset scores lower today, which makes almost every country look like it is improving. Measured from 2015 the picture is mixed, and the world score has fallen on two goals.

Regional averages, twice

Where this site says "average of the N countries in this region", it means exactly that: the unweighted mean of those countries' scores. The dataset also publishes its own regional aggregates, which are weighted and can differ substantially — the published Oceania aggregate is 52.7 while the mean of its two member countries is 63.2. Both are shown on the regions table, labelled, rather than one being silently substituted for the other.

Rankings

Ranks are computed over the 166 countries in the 2023 report. Regional and world aggregates are excluded from every ranking, and countries with no score on a goal are excluded from that goal's ranking rather than being placed last. Ties share a rank, so two countries at rank 12 are followed by rank 14.

Regional ranks use the region assigned to each country in the dataset: OECD, Eastern Europe & Central Asia, Latin America & the Caribbean, Middle East & North Africa, East & South Asia, Oceania and Sub-Saharan Africa.

Missing data is shown as missing

Not every goal is assessed for every country. 40 countries have no Goal 14 score, 17 have no Goal 10 score and 15 have no Goal 1 score, so 107 countries are scored on all 17 goals, 46 on 16 and 13 on 15. Those cases are labelled not assessed, and they are never plotted, ranked or averaged as a zero.

Goal 14 covers oceans and marine resources, and every country missing it is landlocked, so that gap is labelled not applicable rather than treated as an absence of data. The Goal 1 and Goal 10 gaps are ordinary data gaps.

This needs care, because the 2000–2022 file has no empty cells: it writes 0.0 where a goal is not assessed, while the 2023 report leaves the cell blank. For the 166 countries the report's blanks decide the question, and the matching series is hidden. Reading "all zeros" as "missing" instead would be wrong: the report contains five genuine zero scores, and two of them — Burundi on Goal 1 and Qatar on Goal 13 — sit on a series that is zero throughout. Those are real worst-in-file results and the site shows them as 0.0. The aggregate groups have no report row, so there the all-zero test is the only signal available and is used as a fallback.

Quartile labels

A goal card may say top quartile or bottom quartile. That is this site's own description of where a score sits in the distribution of the 166 countries in this dataset, for that goal. It is not the Sustainable Development Report's green / yellow / orange / red dashboard rating. That rating is derived from a country's two weakest indicators within each goal, which are not present in these files and cannot be reconstructed from them.

What the site does not claim

The optional extras

A country page can also show a one-paragraph summary written by a language model and a few recent news headlines. Both require API keys, both are clearly labelled where they appear, and neither is used to produce any score. With no keys configured, those sections simply do not render and the rest of the page is unchanged.

Getting the data out

Every country profile is available as JSON at /api/country/<country name>/ — for example /api/country/Indonesia/. It contains the same scores, ranks, comparisons and series the page is built from.