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
- These are not United Nations statistics. The Sustainable Development Report is published by the Sustainable Development Solutions Network, an independent body. The Sustainable Development Goals themselves are the UN framework the report measures against.
- The scores describe the year of the underlying report, not today.
- A rank measures position within this dataset, not a country's standing in any official process.
- Where the two files disagree slightly on the same goal, both figures are shown with their year and source rather than reconciled.
- The 17 are Goals. Beneath them sit 169 targets and 231 indicators, which are not in these files.
- The 14 aggregate groups are not countries. They are never counted in the country total and never enter a ranking.
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.