Population ages 65 and above, female

Source: worldbank.org, 03.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Aruba Aruba 10,609 +4.68% 183
Afghanistan Afghanistan 589,850 +3.96% 76
Angola Angola 608,979 +4.56% 74
Albania Albania 244,476 +2.76% 118
Andorra Andorra 6,680 +4.67% 191
United Arab Emirates United Arab Emirates 84,905 +6.88% 145
Argentina Argentina 3,272,839 +1.82% 27
Armenia Armenia 263,450 +6.17% 112
American Samoa American Samoa 2,003 +5.14% 212
Antigua & Barbuda Antigua & Barbuda 6,536 +5.37% 192
Australia Australia 2,573,499 +4.14% 30
Austria Austria 1,059,688 +2.42% 54
Azerbaijan Azerbaijan 511,968 +7.04% 81
Burundi Burundi 200,579 +3.27% 126
Belgium Belgium 1,349,033 +2.52% 46
Benin Benin 248,033 +3.22% 117
Burkina Faso Burkina Faso 370,805 +3.33% 96
Bangladesh Bangladesh 5,759,826 +3.84% 16
Bulgaria Bulgaria 856,388 +0.827% 62
Bahrain Bahrain 28,972 +6.5% 167
Bahamas Bahamas 27,322 +3.16% 168
Bosnia & Herzegovina Bosnia & Herzegovina 434,517 +1.61% 90
Belarus Belarus 1,065,474 +2.62% 53
Belize Belize 10,893 +5.85% 182
Bermuda Bermuda 8,042 +3.93% 186
Bolivia Bolivia 388,077 +2.89% 92
Brazil Brazil 13,129,180 +4.28% 6
Barbados Barbados 26,925 +2.99% 169
Brunei Brunei 16,911 +6.59% 175
Bhutan Bhutan 25,921 +2.97% 170
Botswana Botswana 56,783 +3.16% 153
Central African Republic Central African Republic 66,319 +7.26% 149
Canada Canada 4,396,064 +5.23% 21
Switzerland Switzerland 987,577 +3.42% 57
Chile Chile 1,517,391 +3.55% 42
China China 113,585,198 +2.59% 1
Côte d’Ivoire Côte d’Ivoire 419,849 +4.31% 91
Cameroon Cameroon 449,894 +3.32% 88
Congo - Kinshasa Congo - Kinshasa 1,836,191 +3.51% 36
Congo - Brazzaville Congo - Brazzaville 102,987 +4.82% 138
Colombia Colombia 2,879,725 +5.32% 28
Comoros Comoros 20,996 +2.22% 172
Cape Verde Cape Verde 21,871 +3.96% 171
Costa Rica Costa Rica 344,221 +4.78% 98
Cuba Cuba 1,011,072 +2.09% 56
Curaçao Curaçao 16,346 +3.59% 176
Cayman Islands Cayman Islands 3,611 +7.53% 203
Cyprus Cyprus 106,904 +2.86% 137
Czechia Czechia 1,308,338 +1.5% 47
Germany Germany 10,777,828 +1.1% 8
Djibouti Djibouti 31,349 +3.84% 165
Dominica Dominica 4,498 +0.988% 197
Denmark Denmark 671,571 +1.78% 68
Dominican Republic Dominican Republic 508,496 +4.78% 82
Algeria Algeria 1,594,535 +4.54% 39
Ecuador Ecuador 833,629 +3.96% 63
Egypt Egypt 3,393,704 +4.53% 26
Eritrea Eritrea 85,620 +3.27% 144
Spain Spain 5,808,708 +3.18% 14
Estonia Estonia 188,196 +1.54% 129
Ethiopia Ethiopia 2,366,948 +4.67% 31
Finland Finland 750,509 +2.22% 65
Fiji Fiji 34,468 +2.75% 161
France France 8,592,817 +1.99% 9
Faroe Islands Faroe Islands 4,990 +0.767% 196
Micronesia (Federated States of) Micronesia (Federated States of) 3,936 +4.85% 201
Gabon Gabon 55,718 +3.17% 155
United Kingdom United Kingdom 7,343,245 +2.42% 11
Georgia Georgia 372,372 +0.918% 95
Ghana Ghana 705,108 +3.78% 66
Gibraltar Gibraltar 3,713 +3.08% 202
Guinea Guinea 295,016 +2.72% 107
Gambia Gambia 47,207 +6.13% 157
Guinea-Bissau Guinea-Bissau 43,139 +4.35% 158
Equatorial Guinea Equatorial Guinea 36,790 +3.72% 160
Greece Greece 1,409,854 +1.86% 45
Grenada Grenada 7,851 +3.19% 187
Greenland Greenland 2,787 +6.54% 208
Guatemala Guatemala 491,554 +4.35% 83
Guam Guam 11,406 +4.81% 181
Guyana Guyana 32,312 +4.76% 163
Hong Kong SAR China Hong Kong SAR China 904,748 +4.69% 60
Honduras Honduras 265,653 +5.02% 111
Croatia Croatia 529,228 +1.58% 80
Haiti Haiti 317,164 +3.13% 104
Hungary Hungary 1,235,107 +0.424% 50
Indonesia Indonesia 11,723,365 +4.06% 7
Isle of Man Isle of Man 10,300 +1.92% 184
India India 54,370,752 +4.04% 2
Ireland Ireland 453,088 +3.67% 87
Iran Iran 3,881,164 +5.18% 23
Iraq Iraq 930,371 +2.65% 59
Iceland Iceland 32,621 +4.81% 162
Israel Israel 691,988 +2.33% 67
Italy Italy 8,120,875 +1.44% 10
Jamaica Jamaica 132,116 +4.82% 134
Jordan Jordan 268,816 +5.83% 109
Japan Japan 20,686,478 +0.293% 4
Kazakhstan Kazakhstan 1,131,241 +4.89% 52
Kenya Kenya 948,603 +3.59% 58
Kyrgyzstan Kyrgyzstan 241,800 +6.7% 119
Cambodia Cambodia 663,786 +4.41% 69
Kiribati Kiribati 3,490 +3.9% 204
St. Kitts & Nevis St. Kitts & Nevis 2,925 +6.06% 206
South Korea South Korea 5,606,385 +4.81% 17
Kuwait Kuwait 72,034 +6.94% 147
Laos Laos 196,433 +4.4% 128
Lebanon Lebanon 330,305 +3.95% 102
Liberia Liberia 100,228 +3.17% 139
Libya Libya 200,367 +3.79% 127
St. Lucia St. Lucia 9,855 +3.78% 185
Liechtenstein Liechtenstein 4,444 +3.73% 198
Sri Lanka Sri Lanka 1,552,826 +2.67% 41
Lesotho Lesotho 58,385 +1.85% 152
Lithuania Lithuania 381,473 +1.74% 93
Luxembourg Luxembourg 56,659 +3.68% 154
Latvia Latvia 267,009 +0.683% 110
Macao SAR China Macao SAR China 51,060 +7.36% 156
Saint Martin (French part) Saint Martin (French part) 2,732 +2.25% 209
Morocco Morocco 1,635,180 +5.13% 38
Monaco Monaco 7,338 -1.19% 188
Moldova Moldova 251,178 +0.848% 115
Madagascar Madagascar 582,514 +4.53% 77
Maldives Maldives 11,673 +7.7% 180
Mexico Mexico 5,974,896 +4.29% 13
Marshall Islands Marshall Islands 878 +2.69% 214
North Macedonia North Macedonia 184,356 +0.7% 130
Mali Mali 316,230 +2.01% 105
Malta Malta 62,498 +6.04% 151
Myanmar (Burma) Myanmar (Burma) 2,281,155 +3.7% 33
Montenegro Montenegro 66,070 +1.96% 150
Mongolia Mongolia 110,617 +7.15% 136
Northern Mariana Islands Northern Mariana Islands 2,111 +9.21% 210
Mozambique Mozambique 640,168 +3.45% 72
Mauritania Mauritania 90,723 +3.83% 142
Mauritius Mauritius 93,130 +4.42% 141
Malawi Malawi 329,817 +2.49% 103
Malaysia Malaysia 1,429,512 +5.22% 44
Namibia Namibia 69,961 +5.17% 148
New Caledonia New Caledonia 17,878 +4.01% 174
Niger Niger 374,075 +3.83% 94
Nigeria Nigeria 3,726,427 +2.73% 24
Nicaragua Nicaragua 223,871 +4.15% 123
Netherlands Netherlands 1,970,076 +2.15% 34
Norway Norway 552,933 +2.04% 79
Nepal Nepal 1,043,886 +2.23% 55
Nauru Nauru 213 +9.79% 216
New Zealand New Zealand 487,630 +4.22% 84
Oman Oman 72,268 +3.95% 146
Pakistan Pakistan 5,778,612 +3.98% 15
Panama Panama 231,552 +4.54% 121
Peru Peru 1,697,710 +3.83% 37
Philippines Philippines 3,716,448 +4.87% 25
Palau Palau 1,073 +3.87% 213
Papua New Guinea Papua New Guinea 178,173 +5.91% 131
Poland Poland 4,388,244 +2.34% 22
Puerto Rico Puerto Rico 453,283 +2.3% 86
North Korea North Korea 1,900,173 +2.55% 35
Portugal Portugal 1,501,644 +2.9% 43
Paraguay Paraguay 252,107 +4.09% 114
Palestinian Territories Palestinian Territories 112,243 +4.69% 135
French Polynesia French Polynesia 16,320 +5.82% 177
Qatar Qatar 18,946 +12.4% 173
Romania Romania 2,297,275 +1.24% 32
Russia Russia 16,295,061 +3.03% 5
Rwanda Rwanda 332,985 +4.78% 100
Saudi Arabia Saudi Arabia 467,421 +9.46% 85
Sudan Sudan 809,762 +4.9% 64
Senegal Senegal 343,604 +3.94% 99
Singapore Singapore 444,563 +6.05% 89
Solomon Islands Solomon Islands 15,151 +2.84% 178
Sierra Leone Sierra Leone 156,075 +3.32% 133
El Salvador El Salvador 315,267 +2.69% 106
San Marino San Marino 4,082 +3.21% 199
Somalia Somalia 272,314 +4.61% 108
Serbia Serbia 875,021 +1.39% 61
South Sudan South Sudan 208,457 +6.75% 125
São Tomé & Príncipe São Tomé & Príncipe 5,107 +3.07% 195
Suriname Suriname 29,521 +4.26% 166
Slovakia Slovakia 597,918 +2.31% 75
Slovenia Slovenia 259,404 +1.94% 113
Sweden Sweden 1,164,975 +1.24% 51
Eswatini Eswatini 31,924 +4.21% 164
Sint Maarten Sint Maarten 3,055 +6.04% 205
Seychelles Seychelles 5,537 +3.05% 194
Syria Syria 652,261 +5.81% 71
Turks & Caicos Islands Turks & Caicos Islands 2,877 +3.68% 207
Chad Chad 232,377 +6.08% 120
Togo Togo 161,787 +3.79% 132
Thailand Thailand 6,229,007 +4.39% 12
Tajikistan Tajikistan 227,666 +7.48% 122
Turkmenistan Turkmenistan 220,010 +6.62% 124
Timor-Leste Timor-Leste 39,744 +0.128% 159
Tonga Tonga 4,047 +1.91% 200
Trinidad & Tobago Trinidad & Tobago 96,131 +4.48% 140
Tunisia Tunisia 640,090 +4.56% 73
Turkey Turkey 4,921,728 +3.09% 19
Tuvalu Tuvalu 394 +5.35% 215
Tanzania Tanzania 1,255,417 +3.75% 48
Uganda Uganda 653,239 +4.58% 70
Ukraine Ukraine 4,728,553 +2.03% 20
Uruguay Uruguay 330,569 +1.26% 101
United States United States 33,024,975 +3.68% 3
Uzbekistan Uzbekistan 1,246,869 +4.71% 49
St. Vincent & Grenadines St. Vincent & Grenadines 6,218 +2.34% 193
Venezuela Venezuela 1,569,442 +4.05% 40
British Virgin Islands British Virgin Islands 2,085 +5.62% 211
U.S. Virgin Islands U.S. Virgin Islands 13,678 +2.52% 179
Vietnam Vietnam 5,569,213 +5.48% 18
Vanuatu Vanuatu 7,150 +6.19% 189
Samoa Samoa 6,927 +3.5% 190
Kosovo Kosovo 87,167 -5.18% 143
Yemen Yemen 577,323 +3.47% 78
South Africa South Africa 2,627,648 +3.81% 29
Zambia Zambia 248,172 +5.1% 116
Zimbabwe Zimbabwe 359,728 +1.89% 97

                    
# 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.POP.65UP.FE.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.POP.65UP.FE.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))