Death rate, crude (per 1,000 people)

Source: worldbank.org, 01.09.2025

Year: 2023

Flag Country Value Value change, % Rank
Aruba Aruba 7.58 -7.43% 84
Afghanistan Afghanistan 5.8 -3.27% 151
Angola Angola 6.93 -2.42% 109
Albania Albania 8.33 -4.33% 64
Andorra Andorra 6.08 +2.15% 141
United Arab Emirates United Arab Emirates 0.932 -21% 197
Argentina Argentina 7.67 -12.8% 79
Armenia Armenia 8.2 -8.89% 67
American Samoa American Samoa 7.02 +3.02% 105
Antigua & Barbuda Antigua & Barbuda 6.89 +1.8% 111
Australia Australia 6.9 -5.48% 110
Austria Austria 9.8 -4.85% 38
Azerbaijan Azerbaijan 5.9 -1.67% 149
Burundi Burundi 6.72 -3.99% 114
Belgium Belgium 9.4 -6% 46
Benin Benin 8.8 -1.69% 58
Burkina Faso Burkina Faso 7.96 -2.1% 72
Bangladesh Bangladesh 5.01 -0.536% 175
Bulgaria Bulgaria 15.7 -14.7% 2
Bahrain Bahrain 2.09 -0.239% 194
Bahamas Bahamas 8.71 +1.81% 59
Bosnia & Herzegovina Bosnia & Herzegovina 13.5 -4.22% 6
Belarus Belarus 13.3 +0.695% 8
Belize Belize 4.93 -8.95% 176
Bermuda Bermuda 8.86 +0.98% 57
Bolivia Bolivia 7.17 -6.63% 98
Brazil Brazil 7.08 -6.13% 100
Barbados Barbados 10.6 -4.36% 29
Brunei Brunei 5.23 -20.3% 166
Bhutan Bhutan 6.11 -0.537% 140
Botswana Botswana 5.72 -1.75% 154
Central African Republic Central African Republic 9.42 -82.9% 45
Canada Canada 8.1 -5.81% 69
Switzerland Switzerland 8.1 -4.71% 69
Chile Chile 6.5 -14.2% 123
China China 7.87 +6.78% 75
Côte d’Ivoire Côte d’Ivoire 7.66 -2% 80
Cameroon Cameroon 7.15 -6.8% 99
Congo - Kinshasa Congo - Kinshasa 8.53 -4.54% 62
Congo - Brazzaville Congo - Brazzaville 6.29 -4.31% 129
Colombia Colombia 5.4 -8.21% 164
Comoros Comoros 7.2 -1.42% 97
Cape Verde Cape Verde 5.06 +1.1% 173
Costa Rica Costa Rica 5.46 -10.6% 163
Cuba Cuba 10.1 -1.35% 33
Curaçao Curaçao 9.7 -6.73% 40
Cayman Islands Cayman Islands 4.8 -0.394% 179
Cyprus Cyprus 7.06 -8.19% 101
Czechia Czechia 10.4 -7.96% 31
Germany Germany 12.3 -3.15% 15
Djibouti Djibouti 7.46 -1.17% 89
Dominica Dominica 12.8 -1.12% 13
Denmark Denmark 9.8 -2.97% 38
Dominican Republic Dominican Republic 6.25 +5.95% 132
Algeria Algeria 4.64 +0.847% 184
Ecuador Ecuador 5.13 -4.38% 171
Egypt Egypt 5.46 -3.77% 162
Eritrea Eritrea 6.05 -4.3% 143
Spain Spain 9 -7.22% 54
Estonia Estonia 11.7 -8.59% 20
Ethiopia Ethiopia 5.96 -2.18% 147
Finland Finland 11 -3.51% 26
Fiji Fiji 9.26 -0.473% 48
France France 9.2 -7.07% 50
Faroe Islands Faroe Islands 7.6 -16.5% 83
Micronesia (Federated States of) Micronesia (Federated States of) 7.64 +0.355% 81
Gabon Gabon 6.27 -3.83% 131
United Kingdom United Kingdom 9.52 +0.0631% 43
Georgia Georgia 11.8 -3.05% 18
Ghana Ghana 7.04 -0.775% 104
Gibraltar Gibraltar 6.51 +1.58% 122
Guinea Guinea 9.13 -1.88% 53
Gambia Gambia 6.29 -5.17% 128
Guinea-Bissau Guinea-Bissau 7.05 -2.41% 102
Equatorial Guinea Equatorial Guinea 7.88 -1.71% 74
Greece Greece 12.2 -8.96% 16
Grenada Grenada 8.86 +1.1% 56
Greenland Greenland 9.4 +1.08% 46
Guatemala Guatemala 4.83 -8.56% 178
Guam Guam 6.87 +1.96% 112
Guyana Guyana 7.32 +0.15% 91
Hong Kong SAR China Hong Kong SAR China 7.3 -16.1% 92
Honduras Honduras 4.48 +0.81% 187
Croatia Croatia 13.3 -10.1% 9
Haiti Haiti 7.82 -5.5% 76
Hungary Hungary 13.4 -5.63% 7
Indonesia Indonesia 7.53 +0.521% 86
Isle of Man Isle of Man 10.5 +2.04% 30
India India 6.61 +0.532% 118
Ireland Ireland 6.6 -1.49% 119
Iran Iran 4.67 -4.59% 183
Iraq Iraq 4.13 -0.768% 189
Iceland Iceland 6.6 -5.71% 119
Israel Israel 5.2 -3.7% 168
Italy Italy 11.2 -7.44% 23
Jamaica Jamaica 8.08 +2.16% 70
Jordan Jordan 3.05 -3.6% 191
Japan Japan 13 +0.775% 11
Kazakhstan Kazakhstan 6.71 -4.05% 115
Kenya Kenya 7.21 -0.0139% 95
Kyrgyzstan Kyrgyzstan 4.4 -2.22% 188
Cambodia Cambodia 6.39 +1.06% 127
Kiribati Kiribati 7.05 -0.382% 103
St. Kitts & Nevis St. Kitts & Nevis 9.96 -14.5% 36
South Korea South Korea 6 -17.8% 144
Kuwait Kuwait 1.53 -12.5% 196
Laos Laos 6.22 -0.702% 134
Lebanon Lebanon 5.96 +3.35% 146
Liberia Liberia 8.07 -1.08% 71
Libya Libya 6.65 +38.4% 116
St. Lucia St. Lucia 8.61 +1.88% 61
Liechtenstein Liechtenstein 6.8 -4.23% 113
Sri Lanka Sri Lanka 8.2 +1.23% 67
Lesotho Lesotho 10.6 -2.47% 28
Lithuania Lithuania 12.9 -14.6% 12
Luxembourg Luxembourg 6.6 -2.94% 119
Latvia Latvia 14.9 -9.15% 3
Macao SAR China Macao SAR China 4.4 0% 188
Saint Martin (French part) Saint Martin (French part) 9.28 +2.89% 47
Morocco Morocco 5.64 +1.18% 156
Monaco Monaco 21 -10.7% 1
Moldova Moldova 13.6 +4.1% 5
Madagascar Madagascar 7.53 -2.59% 87
Maldives Maldives 2.34 +0.386% 193
Mexico Mexico 6.16 -5.52% 138
Marshall Islands Marshall Islands 6.97 +1.54% 107
North Macedonia North Macedonia 11 -10.6% 26
Mali Mali 8.63 -2.62% 60
Malta Malta 7.3 -8.75% 92
Myanmar (Burma) Myanmar (Burma) 9.15 -0.294% 51
Montenegro Montenegro 10.1 -10.6% 34
Mongolia Mongolia 5.5 -1.79% 160
Northern Mariana Islands Northern Mariana Islands 4.7 +4.42% 182
Mozambique Mozambique 7 -3.49% 106
Mauritania Mauritania 5.52 -1.9% 159
Mauritius Mauritius 9.4 -7.84% 46
Malawi Malawi 5.36 -7.58% 165
Malaysia Malaysia 5.16 -7.01% 169
Namibia Namibia 6.17 -17.4% 137
New Caledonia New Caledonia 6.27 -7.78% 130
Niger Niger 8.86 -3.42% 56
Nigeria Nigeria 11.7 -1.78% 19
Nicaragua Nicaragua 4.59 -2.24% 185
Netherlands Netherlands 9.5 -1.04% 44
Norway Norway 7.9 -5.95% 73
Nepal Nepal 6.93 +0.639% 108
Nauru Nauru 7.52 +0.629% 88
New Zealand New Zealand 7.23 -3.98% 94
Oman Oman 1.9 -10.8% 195
Pakistan Pakistan 6.47 -0.722% 124
Panama Panama 4.77 +0.421% 181
Peru Peru 5.49 -14.1% 161
Philippines Philippines 6.24 -0.479% 133
Palau Palau 11.5 -0.0609% 22
Papua New Guinea Papua New Guinea 6.52 -4.82% 121
Poland Poland 11.1 -9.02% 24
Puerto Rico Puerto Rico 10.7 -2.73% 27
North Korea North Korea 9.68 +2.11% 41
Portugal Portugal 11.2 -5.88% 23
Paraguay Paraguay 5.7 -10.3% 155
Palestinian Territories Palestinian Territories 7.2 +141% 96
French Polynesia French Polynesia 3.65 +3.4% 190
Qatar Qatar 0.93 -0.215% 198
Romania Romania 12.7 -11.2% 14
Russia Russia 12.1 -6.2% 17
Rwanda Rwanda 5.94 -0.968% 148
Saudi Arabia Saudi Arabia 2.34 -8.95% 192
Sudan Sudan 6.4 -1.81% 126
Senegal Senegal 5.58 -5.73% 157
Singapore Singapore 6.2 -1.59% 136
Solomon Islands Solomon Islands 5.14 -1.02% 170
Sierra Leone Sierra Leone 8.29 -2.77% 66
El Salvador El Salvador 7.52 +0.804% 88
San Marino San Marino 8.3 +6.41% 65
Somalia Somalia 9.84 -23.2% 37
Serbia Serbia 14.7 -9.82% 4
South Sudan South Sudan 9.61 -3% 42
São Tomé & Príncipe São Tomé & Príncipe 5.57 -2.79% 158
Suriname Suriname 6.65 -0.568% 117
Slovakia Slovakia 10 -9.09% 35
Slovenia Slovenia 10.2 -3.77% 32
Sweden Sweden 9 0% 54
Eswatini Eswatini 7.7 -4.94% 78
Sint Maarten Sint Maarten 8.13 +1.82% 68
Seychelles Seychelles 7.3 -6.41% 92
Syria Syria 5.04 +5.57% 174
Turks & Caicos Islands Turks & Caicos Islands 7.4 +0.393% 90
Chad Chad 11 -3.95% 25
Togo Togo 7.7 -2.16% 77
Thailand Thailand 8.89 -3.72% 55
Tajikistan Tajikistan 4.58 -0.801% 186
Turkmenistan Turkmenistan 5.78 -0.104% 153
Timor-Leste Timor-Leste 7.27 -1.24% 93
Tonga Tonga 6.44 -0.525% 125
Trinidad & Tobago Trinidad & Tobago 8.37 +1.74% 63
Tunisia Tunisia 6.07 -1.43% 142
Turkey Turkey 6.2 +5.08% 136
Tuvalu Tuvalu 9.14 +0.794% 52
Tanzania Tanzania 5.79 -0.907% 152
Uganda Uganda 4.84 -3.83% 177
Ukraine Ukraine 13.1 -7.46% 10
Uruguay Uruguay 9.78 -9.68% 39
United States United States 9.2 -6.12% 50
Uzbekistan Uzbekistan 6.21 +2.61% 135
St. Vincent & Grenadines St. Vincent & Grenadines 11.5 +0.428% 21
Venezuela Venezuela 7.56 +2.9% 85
British Virgin Islands British Virgin Islands 5.97 +1.08% 145
U.S. Virgin Islands U.S. Virgin Islands 9 +2.27% 54
Vietnam Vietnam 6.58 +1.37% 120
Vanuatu Vanuatu 5.08 -1.63% 172
Samoa Samoa 6.16 -0.388% 139
Kosovo Kosovo 5.87 -0.238% 150
Yemen Yemen 4.79 -8.41% 180
South Africa South Africa 9.24 -1.73% 49
Zambia Zambia 5.21 -6.73% 167
Zimbabwe Zimbabwe 7.61 -2.12% 82

The crude death rate, expressed as the number of deaths per 1,000 people in a given population, serves as a vital indicator of a country's overall health, social conditions, and the effectiveness of its healthcare system. This metric provides insights not only into the mortality patterns in a specific region but also into the underlying factors influencing these patterns. In 2022, the world median crude death rate was recorded at 7.83, reflecting an overall trend of improving public health over the decades, although it remains a crucial factor in understanding demographic shifts.

The significance of the crude death rate extends beyond the simple count of how many people die. It is a crucial component in assessing life expectancy, population growth, and public health policies. A high crude death rate can be indicative of several challenges, including inadequate healthcare access, high rates of infectious diseases, malnutrition, and social upheaval. Conversely, a lower crude death rate often correlates with better healthcare systems, economic stability, and overall improved living conditions across the populace.

Examining the data from 2022 reveals stark contrasts between various regions. Notably, Ukraine tops the list with a crude death rate of 21.4, significantly higher than the median value. This high figure can likely be attributed to ongoing conflict, economic hardship, and the resultant stress on healthcare services. Similarly, Bulgaria (18.4), Moldova (16.61), Latvia (16.4), and Serbia (16.2) exhibit higher death rates, often linked to aging populations, declining birth rates, and emigration trends that affect the demographics positively and negatively.

On the other end of the spectrum, countries like Qatar (1.08), the United Arab Emirates (1.86), Bahrain (2.48), Kuwait (2.61), and Saudi Arabia (2.75) showcase remarkably low crude death rates. These countries benefit from advanced healthcare systems, substantial investment in health infrastructure, and a younger population profile, which collectively contribute to lower mortality rates. The variance between these top and bottom regions illustrates how sociopolitical contexts and economic investment can shape public health outcomes.

The crude death rate is closely related to several other demographic indicators, such as birth rates, migration patterns, and life expectancy. For instance, a low crude death rate in a country often mirrors a low fertility rate, as a declining birth rate may be indicative of enhanced family planning and women’s health education. Migration trends also play a crucial role; countries experiencing an influx of young, healthy individuals may report lower death rates than those with aging populations and higher rates of emigration.

Several factors can affect the crude death rate, including healthcare access, socioeconomic status, lifestyle choices, and environmental conditions. For instance, access to quality healthcare can drastically reduce mortality from treatable diseases. Socioeconomic factors, including income levels, education, and occupation, also influence health outcomes. A well-educated population with access to healthcare tends to have lower mortality rates. Lifestyle choices, such as diet, exercise, and smoking, play a significant role in public health, affecting chronic disease prevalence and, subsequently, death rates.

To address high crude death rates, various strategies can be employed by governments and health organizations. Investments in healthcare infrastructure and increased access to essential medical services can significantly reduce mortality rates. Public health campaigns focusing on education about disease prevention, nutrition, and healthy lifestyles can foster a more health-conscious society. Furthermore, policies aimed at improving the living conditions, such as tackling poverty and providing better social services, are essential to reducing mortality.

However, while strides can be made in reducing crude death rates, some flaws in the methodology of calculating and interpreting these rates come to the forefront. For instance, the crude death rate does not account for the age distribution of a population; thus, countries with larger elderly populations may have higher crude death rates despite effective healthcare systems. Additionally, in regions affected by conflict or natural disasters, the data may not accurately reflect the real situation due to underreporting of deaths or disruptions in public health services.

In conclusion, the crude death rate serves as a fundamental barometer for assessing public health and the socioeconomic conditions of a nation. While global trends show some progress toward lower mortality rates, challenges remain, particularly in regions burdened by conflict or economic instability. Understanding this indicator in a broader context, considering its relations to other demographic indicators and focusing on both preventive and reactive measures, is crucial for fostering healthier populations worldwide.

                    
# Install missing packages
import sys
import subprocess

def install(package):
subprocess.check_call([sys.executable, "-m", "pip", "install", package])

# Required packages
for package in ['wbdata', 'country_converter']:
try:
__import__(package)
except ImportError:
install(package)

# Import libraries
import wbdata
import country_converter as coco
from datetime import datetime

# Define World Bank indicator code
dataset_code = 'SP.DYN.CDRT.IN'

# Download data from World Bank API
data = wbdata.get_dataframe({dataset_code: 'value'},
date=(datetime(1960, 1, 1), datetime.today()),
parse_dates=True,
keep_levels=True).reset_index()

# Extract year
data['year'] = data['date'].dt.year

# Convert country names to ISO codes using country_converter
cc = coco.CountryConverter()
data['iso2c'] = cc.convert(names=data['country'], to='ISO2', not_found=None)
data['iso3c'] = cc.convert(names=data['country'], to='ISO3', not_found=None)

# Filter out rows where ISO codes could not be matched — likely not real countries
data = data[data['iso2c'].notna() & data['iso3c'].notna()]

# Sort for calculation
data = data.sort_values(['iso3c', 'year'])

# Calculate YoY absolute and percent change
data['value_change'] = data.groupby('iso3c')['value'].diff()
data['value_change_percent'] = data.groupby('iso3c')['value'].pct_change() * 100

# Calculate ranks (higher GDP per capita = better rank)
data['rank'] = data.groupby('year')['value'].rank(ascending=False, method='dense')

# Calculate rank change from previous year
data['rank_change'] = data.groupby('iso3c')['rank'].diff()

# Select desired columns
final_df = data[['country', 'iso2c', 'iso3c', 'year', 'value',
'value_change', 'value_change_percent', 'rank', 'rank_change']].copy()

# Optional: Add labels as metadata (could be useful for export or UI)
column_labels = {
'country': 'Country name',
'iso2c': 'ISO 2-letter country code',
'iso3c': 'ISO 3-letter country code',
'year': 'Year',
'value': 'GDP per capita (current US$)',
'value_change': 'Year-over-Year change in value',
'value_change_percent': 'Year-over-Year percent change in value',
'rank': 'Country rank by GDP per capita (higher = richer)',
'rank_change': 'Change in rank from previous year'
}

# Display first few rows
print(final_df.head(10))

# Optional: Save to CSV
#final_df.to_csv("gdp_per_capita_cleaned.csv", index=False)
                    
                
                    
# Check and install required packages
required_packages <- c("WDI", "countrycode", "dplyr")

for (pkg in required_packages) {
  if (!requireNamespace(pkg, quietly = TRUE)) {
    install.packages(pkg)
  }
}

# Load the necessary libraries
library(WDI)
library(dplyr)
library(countrycode)

# Define the dataset code (World Bank indicator code)
dataset_code <- 'SP.DYN.CDRT.IN'

# Download data using WDI package
dat <- WDI(indicator = dataset_code)

# Filter only countries using 'is_country' from countrycode
# This uses iso2c to identify whether the entry is a recognized country
dat <- dat %>%
  filter(countrycode(iso2c, origin = 'iso2c', destination = 'country.name', warn = FALSE) %in%
           countrycode::codelist$country.name.en)

# Ensure dataset is ordered by country and year
dat <- dat %>%
  arrange(iso3c, year)

# Rename the dataset_code column to "value" for easier manipulation
dat <- dat %>%
  rename(value = !!dataset_code)

# Calculate year-over-year (YoY) change and percentage change
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(
    value_change = value - lag(value),                              # Absolute change from previous year
    value_change_percent = 100 * (value - lag(value)) / lag(value) # Percent change from previous year
  ) %>%
  ungroup()

# Calculate rank by year (higher value => higher rank)
dat <- dat %>%
  group_by(year) %>%
  mutate(rank = dense_rank(desc(value))) %>% # Rank countries by descending value
  ungroup()

# Calculate rank change (positive = moved up, negative = moved down)
dat <- dat %>%
  group_by(iso3c) %>%
  mutate(rank_change = rank - lag(rank)) %>% # Change in rank compared to previous year
  ungroup()

# Select and reorder final columns
final_data <- dat %>%
  select(
    country,
    iso2c,
    iso3c,
    year,
    value,
    value_change,
    value_change_percent,
    rank,
    rank_change
  )

# Add labels (variable descriptions)
attr(final_data$country, "label") <- "Country name"
attr(final_data$iso2c, "label") <- "ISO 2-letter country code"
attr(final_data$iso3c, "label") <- "ISO 3-letter country code"
attr(final_data$year, "label") <- "Year"
attr(final_data$value, "label") <- "GDP per capita (current US$)"
attr(final_data$value_change, "label") <- "Year-over-Year change in value"
attr(final_data$value_change_percent, "label") <- "Year-over-Year percent change in value"
attr(final_data$rank, "label") <- "Country rank by GDP per capita (higher = richer)"
attr(final_data$rank_change, "label") <- "Change in rank from previous year"

# Print the first few rows of the final dataset
print(head(final_data, 10))