placestats

Basic sanitation vs. HDI

Holds up after adjusting for income

Across 186 countries, Basic sanitation and HDI rise and fall together at r = +0.83 (on a scale from −1 to +1, where 0 means no link). Comparing only countries with similar income (GDP per person) shrinks it to +0.40 (q = 0.020, allowing for the many pairs tested). Much of the first figure is that both measures rise with national income, but a weak positive link remains.

Comparing countries across the middle half of hdi, 0.628 to 0.862 points, basic sanitation is better by 33.7% of population at the top of that range than the bottom. Comparing only countries with similar national income, the gap is 33.2% of population.

Link before adjusting (r)+0.829p = 2.2e-48 · 186 countries
After adjusting for national income+0.399p = 1.9e-8 · likely range [+0.27, +0.51]
p, allowing for regions5.7e-6standard error 0.027 · 7 regions
Check for luck (q)0.020across 12,497 pairs

How to read these.r runs from −1 (one goes up as the other goes down) to +1 (they rise together), and 0 means no link. Adjusting for national income means comparing countries with the same GDP per person, so differences in wealth can’t explain the link. Income is used in percentage terms, since an extra $1,000 means more to a poor country than to a rich one. p is how likely a link this strong would be if there were really none. Below 0.05 means it is unlikely to be chance. Very small values are written in short form: 1.1e-32 means a decimal point followed by 31 zeros and then 11, so very close to zero. The likely range is where the true figure probably lies, and a range that crosses zero means the link could easily be chance. Countries in the same region tend to resemble each other, so the third figure allows for that, which gives a fairer p. The standard error is the typical size of the error in r. Finally, testing this many pairs means some will look strong by luck alone. A q below 0.05 means this link is unlikely to be one of those.

Basic sanitation · % of populationlink with income +0.79 · high
HDI · index, 0 to 1link with income +0.96 · proxy

Both of these rise and fall closely with national income, so a strong link between them before adjusting was close to certain. Read the adjusted figure, not the first one.

“Link with income” is how closely each measure tracks GDP per person across countries, from −1 to +1.

Every country as a dot

Basic sanitation · % of population →HDI · index, 0 to 1 →10.4%100%0.4040.972Afghanistan: 54.5% of population, 0.496 index, 0 to 1Angola: 50.3% of population, 0.616 index, 0 to 1Albania: 99.3% of population, 0.81 index, 0 to 1Andorra: 100% of population, 0.913 index, 0 to 1United Arab Emirates: 99.1% of population, 0.94 index, 0 to 1Argentina: 94.8% of population, 0.865 index, 0 to 1Armenia: 93.7% of population, 0.811 index, 0 to 1Antigua and Barbuda: 99.6% of population, 0.851 index, 0 to 1Australia: 100% of population, 0.958 index, 0 to 1Austria: 100% of population, 0.93 index, 0 to 1Azerbaijan: 99% of population, 0.789 index, 0 to 1Burundi: 44.6% of population, 0.439 index, 0 to 1Belgium: 99.5% of population, 0.951 index, 0 to 1Benin: 22.2% of population, 0.515 index, 0 to 1Burkina Faso: 31.8% of population, 0.459 index, 0 to 1Bangladesh: 67.6% of population, 0.685 index, 0 to 1Bulgaria: 86.1% of population, 0.845 index, 0 to 1Bahrain: 100% of population, 0.899 index, 0 to 1Bahamas, The: 93.7% of population, 0.82 index, 0 to 1Bosnia and Herzegovina: 95.4% of population, 0.804 index, 0 to 1Belarus: 99.7% of population, 0.824 index, 0 to 1Belize: 84.3% of population, 0.721 index, 0 to 1Bolivia: 71.6% of population, 0.733 index, 0 to 1Brazil: 92.4% of population, 0.786 index, 0 to 1Barbados: 98.1% of population, 0.811 index, 0 to 1Brunei Darussalam: 100% of population, 0.837 index, 0 to 1Bhutan: 86.8% of population, 0.698 index, 0 to 1Botswana: 72.1% of population, 0.731 index, 0 to 1Central African Republic: 14% of population, 0.414 index, 0 to 1Canada: 98.6% of population, 0.939 index, 0 to 1Switzerland: 99.9% of population, 0.97 index, 0 to 1Chile: 100% of population, 0.878 index, 0 to 1China: 97.3% of population, 0.797 index, 0 to 1Cote d'Ivoire: 40.4% of population, 0.582 index, 0 to 1Cameroon: 47.1% of population, 0.588 index, 0 to 1Congo, Dem. Rep.: 16.3% of population, 0.522 index, 0 to 1Congo, Rep.: 20.6% of population, 0.649 index, 0 to 1Colombia: 96.6% of population, 0.788 index, 0 to 1Comoros: 57.2% of population, 0.603 index, 0 to 1Cabo Verde: 83.1% of population, 0.668 index, 0 to 1Costa Rica: 98.8% of population, 0.833 index, 0 to 1Cyprus: 99.5% of population, 0.913 index, 0 to 1Czechia: 99.1% of population, 0.915 index, 0 to 1Germany: 99.2% of population, 0.959 index, 0 to 1Djibouti: 67% of population, 0.513 index, 0 to 1Dominica: 80.4% of population, 0.761 index, 0 to 1Denmark: 99.6% of population, 0.962 index, 0 to 1Dominican Republic: 90.1% of population, 0.776 index, 0 to 1Algeria: 85.9% of population, 0.763 index, 0 to 1Ecuador: 91.2% of population, 0.777 index, 0 to 1Egypt, Arab Rep.: 97.1% of population, 0.754 index, 0 to 1Spain: 99.9% of population, 0.918 index, 0 to 1Estonia: 99% of population, 0.905 index, 0 to 1Ethiopia: 10.4% of population, 0.497 index, 0 to 1Finland: 99.4% of population, 0.948 index, 0 to 1Fiji: 92.8% of population, 0.731 index, 0 to 1France: 98.6% of population, 0.92 index, 0 to 1Micronesia, Fed. Sts.: 90.5% of population, 0.615 index, 0 to 1Gabon: 57.4% of population, 0.733 index, 0 to 1United Kingdom: 99.1% of population, 0.946 index, 0 to 1Georgia: 90.7% of population, 0.844 index, 0 to 1Ghana: 31.6% of population, 0.628 index, 0 to 1Guinea: 32.6% of population, 0.5 index, 0 to 1Gambia, The: 48.2% of population, 0.524 index, 0 to 1Guinea-Bissau: 28.9% of population, 0.514 index, 0 to 1Equatorial Guinea: 66.3% of population, 0.674 index, 0 to 1Greece: 99% of population, 0.908 index, 0 to 1Grenada: 92.6% of population, 0.791 index, 0 to 1Guatemala: 71.2% of population, 0.662 index, 0 to 1Guyana: 91.3% of population, 0.776 index, 0 to 1Hong Kong SAR, China: 94.8% of population, 0.955 index, 0 to 1Honduras: 87.7% of population, 0.645 index, 0 to 1Croatia: 95.8% of population, 0.889 index, 0 to 1Haiti: 29.1% of population, 0.554 index, 0 to 1Hungary: 98% of population, 0.87 index, 0 to 1Indonesia: 88.2% of population, 0.728 index, 0 to 1India: 83.4% of population, 0.685 index, 0 to 1Ireland: 89.7% of population, 0.949 index, 0 to 1Iran, Islamic Rep.: 90.5% of population, 0.799 index, 0 to 1Iraq: 98.5% of population, 0.695 index, 0 to 1Iceland: 98.8% of population, 0.972 index, 0 to 1Israel: 99.9% of population, 0.919 index, 0 to 1Italy: 99.9% of population, 0.915 index, 0 to 1Jamaica: 91.6% of population, 0.72 index, 0 to 1Jordan: 96.4% of population, 0.754 index, 0 to 1Japan: 99.9% of population, 0.925 index, 0 to 1Kazakhstan: 97.9% of population, 0.837 index, 0 to 1Kenya: 40.9% of population, 0.628 index, 0 to 1Kyrgyz Republic: 98.5% of population, 0.72 index, 0 to 1Cambodia: 83.3% of population, 0.606 index, 0 to 1Kiribati: 45.2% of population, 0.644 index, 0 to 1St. Kitts and Nevis: 95% of population, 0.84 index, 0 to 1Korea, Rep.: 99.7% of population, 0.937 index, 0 to 1Kuwait: 100% of population, 0.852 index, 0 to 1Lao PDR: 88.7% of population, 0.617 index, 0 to 1Lebanon: 99.2% of population, 0.752 index, 0 to 1Liberia: 23.3% of population, 0.51 index, 0 to 1Libya: 88.5% of population, 0.721 index, 0 to 1St. Lucia: 83.4% of population, 0.748 index, 0 to 1Sri Lanka: 95.4% of population, 0.776 index, 0 to 1Lesotho: 47.9% of population, 0.55 index, 0 to 1Lithuania: 96.4% of population, 0.895 index, 0 to 1Luxembourg: 97.6% of population, 0.922 index, 0 to 1Latvia: 92.5% of population, 0.889 index, 0 to 1Morocco: 87.8% of population, 0.71 index, 0 to 1Moldova: 86.9% of population, 0.785 index, 0 to 1Madagascar: 15.4% of population, 0.487 index, 0 to 1Maldives: 99.7% of population, 0.766 index, 0 to 1Mexico: 93% of population, 0.789 index, 0 to 1Marshall Islands: 79% of population, 0.733 index, 0 to 1North Macedonia: 99% of population, 0.815 index, 0 to 1Mali: 47.8% of population, 0.419 index, 0 to 1Malta: 100% of population, 0.924 index, 0 to 1Myanmar: 74.2% of population, 0.609 index, 0 to 1Montenegro: 97.8% of population, 0.862 index, 0 to 1Mongolia: 74.3% of population, 0.747 index, 0 to 1Mozambique: 38.6% of population, 0.493 index, 0 to 1Mauritania: 58.7% of population, 0.563 index, 0 to 1Mauritius: 97.4% of population, 0.806 index, 0 to 1Malawi: 49.2% of population, 0.517 index, 0 to 1Malaysia: 96% of population, 0.819 index, 0 to 1Namibia: 38.7% of population, 0.665 index, 0 to 1Niger: 16.3% of population, 0.419 index, 0 to 1Nigeria: 47.9% of population, 0.56 index, 0 to 1Netherlands: 97.7% of population, 0.955 index, 0 to 1Norway: 98% of population, 0.97 index, 0 to 1Nepal: 86% of population, 0.622 index, 0 to 1Naoero: 71.3% of population, 0.703 index, 0 to 1New Zealand: 100% of population, 0.938 index, 0 to 1Oman: 99.3% of population, 0.858 index, 0 to 1Pakistan: 71.9% of population, 0.544 index, 0 to 1Panama: 89.1% of population, 0.839 index, 0 to 1Peru: 78.8% of population, 0.794 index, 0 to 1Philippines: 87.2% of population, 0.72 index, 0 to 1Palau: 99% of population, 0.786 index, 0 to 1Papua New Guinea: 23.6% of population, 0.576 index, 0 to 1Poland: 99% of population, 0.906 index, 0 to 1Portugal: 99.7% of population, 0.89 index, 0 to 1Paraguay: 95.9% of population, 0.756 index, 0 to 1West Bank and Gaza: 99.4% of population, 0.674 index, 0 to 1Qatar: 99.9% of population, 0.886 index, 0 to 1Romania: 90.5% of population, 0.845 index, 0 to 1Russian Federation: 92.2% of population, 0.832 index, 0 to 1Rwanda: 81.3% of population, 0.578 index, 0 to 1Saudi Arabia: 97.6% of population, 0.9 index, 0 to 1Sudan: 65.7% of population, 0.511 index, 0 to 1Senegal: 62.5% of population, 0.53 index, 0 to 1Singapore: 100% of population, 0.946 index, 0 to 1Solomon Islands: 34.6% of population, 0.584 index, 0 to 1Sierra Leone: 24.9% of population, 0.467 index, 0 to 1El Salvador: 88% of population, 0.678 index, 0 to 1San Marino: 100% of population, 0.915 index, 0 to 1Somalia, Fed. Rep.: 44.5% of population, 0.404 index, 0 to 1Serbia: 97.9% of population, 0.833 index, 0 to 1Sao Tome and Principe: 48.7% of population, 0.637 index, 0 to 1Suriname: 90% of population, 0.722 index, 0 to 1Slovak Republic: 97.5% of population, 0.88 index, 0 to 1Slovenia: 98.3% of population, 0.931 index, 0 to 1Sweden: 98.7% of population, 0.959 index, 0 to 1Eswatini: 64.5% of population, 0.695 index, 0 to 1Seychelles: 99.7% of population, 0.848 index, 0 to 1Syrian Arab Republic: 95.6% of population, 0.564 index, 0 to 1Chad: 13.1% of population, 0.416 index, 0 to 1Togo: 25.2% of population, 0.571 index, 0 to 1Thailand: 99.4% of population, 0.798 index, 0 to 1Tajikistan: 96% of population, 0.691 index, 0 to 1Turkmenistan: 99.7% of population, 0.764 index, 0 to 1Timor-Leste: 72.9% of population, 0.634 index, 0 to 1Tonga: 93.9% of population, 0.769 index, 0 to 1Trinidad and Tobago: 94.2% of population, 0.807 index, 0 to 1Tunisia: 98.5% of population, 0.746 index, 0 to 1Turkiye: 99.3% of population, 0.853 index, 0 to 1Tuvalu: 89.7% of population, 0.689 index, 0 to 1Tanzania: 37.2% of population, 0.555 index, 0 to 1Uganda: 23.9% of population, 0.582 index, 0 to 1Ukraine: 97.7% of population, 0.779 index, 0 to 1Uruguay: 99.2% of population, 0.862 index, 0 to 1United States: 99.6% of population, 0.938 index, 0 to 1Uzbekistan: 96.5% of population, 0.74 index, 0 to 1St. Vincent and the Grenadines: 89.7% of population, 0.798 index, 0 to 1Viet Nam: 95.4% of population, 0.766 index, 0 to 1Vanuatu: 47.8% of population, 0.621 index, 0 to 1Samoa: 97.1% of population, 0.708 index, 0 to 1South Africa: 77.4% of population, 0.741 index, 0 to 1Zambia: 37.5% of population, 0.595 index, 0 to 1Zimbabwe: 34.6% of population, 0.598 index, 0 to 1CAFCHECOGDNKFSMGHAISLNERPSESYRTCDUGA

best-fit line line after adjusting

Four ways to measure the link

MethodrpCountries
Standard (Pearson), not adjusted+0.8292.2e-48186
By rank (Spearman), not adjusted+0.8463.7e-52186
Standard (Pearson), adjusted for national income+0.3991.9e-8186
By rank (Spearman), adjusted for national income+0.3721.8e-7186

The rank version uses only each country’s place in line, from lowest to highest, so a few extreme countries count for less. The adjusted and unadjusted versions use the same 186 countries: those that report both measures and GDP per person. So the gap between them comes from the adjustment, not from a change in which countries are counted. Drop in the size of r after adjusting: +0.430 (a minus sign means it grew).

How solid is it?

Leaving out one country at a time, r ranges from +0.382 (without TCD) to +0.415 (without SYR). The bar above shows that range on a scale from −1 to +1, with the solid line at the full result. The single country that moves r most: TCD (-0.017).

Within each region

Countries are not separate, unrelated cases, and neighbors share a lot. A link that holds inside each region is far more believable than one that shows up only when comparing regions.

nr
East Asia & Pacific30+0.15
Europe & Central Asia50+0.32
Latin America & Caribbean30+0.45
Middle East, North Africa, Afghanistan & Pakistan22+0.59
Sub-Saharan Africa46+0.29

By income third

If the link shows up only in the richest third of countries, it is a feature of rich countries, not a general pattern.

nr
Poorest third62+0.43
Middle third62+0.46
Richest third62+0.45

By largest religious group

Countries grouped by a label they share, such as main religion, rather than by a number. Groups of fewer than twelve countries are not shown. These groups differ in income, region and history all at once. So a gap between them is a place to start asking questions, not an answer.

nr
Christians107+0.40
Muslims49+0.71

By last european coloniser

Countries grouped by a label they share, such as main religion, rather than by a number. Groups of fewer than twelve countries are not shown. These groups differ in income, region and history all at once. So a gap between them is a place to start asking questions, not an answer.

nr
France25+0.12
Never a European colony21+0.59
Spain19+0.53
United Kingdom63+0.42

Without outliers (countries far outside the middle half of countries on either measure, by more than one and a half times the width of that middle half): r = +0.384 after dropping 6 countries.

Two series, one country

Both measures over the years for one country you pick. The two charts are stacked so they share only the years along the bottom.

Loading…

Over time, within countries

Everything above compares countries with each other at one moment. This section compares each country only with itself over 24years. So a link here can’t come from anything about a country that stays the same, such as its history, geography, institutions or culture.

The link also shows up within countries over time (r = +0.288). It holds even when looking only at changes from one year to the next (r = +0.097). This is the strongest kind of evidence available here: it holds when each country is compared only with itself, and it is not just a product of shared trends.

Across countries (adjusted)+0.399for comparison
Within countries+0.652each country vs itself
…and vs the same year elsewhere+0.288q = 0.000 · 191 countries
Year-on-year changes+0.097q = 0.018
Read with care.
  • Almost all of this indicator's variation is between countries, not within them, so the within-country estimate rests on a small part of the data.
  • Much of the within-country association disappears once shared global year effects are removed, which points to a common worldwide trend rather than a country-level relationship.

4,376 country-years (one country in one year), 191 countries, 2000–2023, about 23 years each on average. Share of the variation that happens within countries over time: 5% for Basic sanitation, 4% for HDI. The margins of error allow for each country appearing many times, and for each year’s value being close to the year before.

Year-to-year changes are a cautious test, not a final answer. Looking only at changes from one year to the next removes each country’s own trends. But it also makes measurement mistakes louder, which pulls the results toward zero. A near-zero result here is weak evidence of no link, not proof.

With one measure years behind the other

0.40−0.4-100+10years HDI trails Basic sanitation →lag -10: r = 0.310 (n = 4,086)lag -9: r = 0.322 (n = 4,139)lag -8: r = 0.330 (n = 4,193)lag -7: r = 0.337 (n = 4,248)lag -6: r = 0.342 (n = 4,298)lag -5: r = 0.344 (n = 4,348)lag -4: r = 0.341 (n = 4,391)lag -3: r = 0.332 (n = 4,434)lag -2: r = 0.322 (n = 4,475)lag -1: r = 0.305 (n = 4,516)lag +0: r = 0.288 (n = 4,376)lag +1: r = 0.275 (n = 4,217)lag +2: r = 0.259 (n = 4,056)lag +3: r = 0.241 (n = 3,892)lag +4: r = 0.225 (n = 3,727)lag +5: r = 0.208 (n = 3,559)lag +6: r = 0.194 (n = 3,378)lag +7: r = 0.185 (n = 3,190)lag +8: r = 0.175 (n = 3,004)lag +9: r = 0.164 (n = 2,813)lag +10: r = 0.158 (n = 2,628)

Same year (lag 0): +0.288. A peak away from zero does not show which comes first. These series change slowly — this year’s value is close to last year’s. That makes the curve smooth and nearly symmetric, whatever produced the data. Even a sharp peak at one lag (a gap of some years) would not prove that one measure changes the other.

The largest value on this curve (+0.34 at lag -5) is higher than the same-year one by 0.06. That gap is not a finding. It is the largest of 21 closely related estimates, and picking the biggest of many tests always makes it look bigger. That is exactly why nothing on this site is ranked or chosen by lag.

The data


% of population

index, 0 to 1
Years
San Marino SMR100%0.9152024, 2023
Singapore SGP100%0.9462024, 2023
New Zealand NZL100%0.9382024, 2023
Malta MLT100%0.9242024, 2023
Kuwait KWT100%0.8522024, 2023
Brunei Darussalam BRN100%0.8372024, 2023
Bahrain BHR100%0.8992024, 2023
Australia AUS100%0.9582024, 2023
Andorra AND100%0.9132024, 2023
Chile CHL100%0.8782024, 2023
Austria AUT100%0.932024, 2023
Japan JPN99.9%0.9252024, 2023
Qatar QAT99.9%0.8862024, 2023
Israel ISR99.9%0.9192024, 2023
Spain ESP99.9%0.9182024, 2023

World Bank, World Development Indicators
United Nations Development Programme, Human Development Report 2025

Sources

Basic sanitation

People using at least basic sanitation services (% of population)

World Bank · CC BY 4.0 · updated quarterly

HDI

Human Development Index

United Nations Development Programme, Human Development Report Office · via Our World in Data · CC BY 3.0 IGO · updated annual

The geometric mean (a kind of average that multiplies the parts together) of three parts: income per person (GNI per capita), life expectancy, and schooling (expected years and average years). All four inputs are on this site, and each is flagged. So a link between the HDI and any of them is shown for what it is: the index matching a part of itself. For the same reason it is kept out of this site's own topic scores. Those already contain its parts, and adding it would count each twice. It is the most-cited development index there is. It is here mostly so its parts can be read separately.

How this was computed

Data used: most recent value in 2010-2025; values come from 2016–2024. To adjust for income, each measure is first predicted from GDP per person (in percentage terms, on a log scale) with a straight-line fit. Only what is left over is then compared. This is called a partial correlation. The line is drawn the standard way (ordinary least squares), which picks the line that comes closest to all the countries at once. The error margins allow for countries in the same region resembling each other, using 7 World Bank regions. The q-value corrects for testing all 12,497 pairs at once, using the Benjamini–Hochberg method. Underlying data last updated DYB 2024. How the country data works · explore Basic sanitation and HDI

This page shows that two measures go together. It does not show that Basic sanitation changes HDI, or the reverse. These figures also describe countries, not individual people. See the ecological fallacy.

More links with Basic sanitation or HDI