Human Capital Index (HCI) (scale 0-1)

Source: worldbank.org, 19.12.2024

Year: 2020

Flag Country Value Value change, % Rank
Afghanistan Afghanistan 0.4 +1.73% 147
Angola Angola 0.362 +0.615% 165
Albania Albania 0.634 +0.888% 50
United Arab Emirates United Arab Emirates 0.673 -0.442% 43
Argentina Argentina 0.602 -2.47% 69
Armenia Armenia 0.579 -0.469% 82
Antigua & Barbuda Antigua & Barbuda 0.596 +3.02% 73
Australia Australia 0.77 -1.36% 16
Austria Austria 0.747 -2.85% 26
Azerbaijan Azerbaijan 0.578 -8.19% 83
Burundi Burundi 0.386 -0.874% 152
Belgium Belgium 0.76 -0.307% 19
Benin Benin 0.4 +0.842% 146
Burkina Faso Burkina Faso 0.384 +1.43% 154
Bangladesh Bangladesh 0.464 +1.2% 122
Bulgaria Bulgaria 0.614 -8.41% 60
Bahrain Bahrain 0.652 -1.72% 46
Bosnia & Herzegovina Bosnia & Herzegovina 0.58 -6.39% 81
Belarus Belarus 0.7 36
Brazil Brazil 0.551 +1.06% 91
Brunei Brunei 0.626 56
Bhutan Bhutan 0.475 120
Botswana Botswana 0.414 +0.367% 140
Central African Republic Central African Republic 0.292 173
Canada Canada 0.798 -0.321% 5
Switzerland Switzerland 0.756 -1.3% 20
Chile Chile 0.652 -2.05% 47
China China 0.653 +0.928% 45
Côte d’Ivoire Côte d’Ivoire 0.38 +2.68% 157
Cameroon Cameroon 0.397 +1.04% 148
Congo - Kinshasa Congo - Kinshasa 0.366 +0.505% 163
Congo - Brazzaville Congo - Brazzaville 0.419 +0.342% 139
Colombia Colombia 0.604 +0.948% 66
Comoros Comoros 0.405 +0.932% 144
Costa Rica Costa Rica 0.629 +4.21% 54
Cyprus Cyprus 0.756 +0.12% 21
Czechia Czechia 0.752 -1.6% 24
Germany Germany 0.751 -1.65% 25
Dominica Dominica 0.545 -1.27% 95
Denmark Denmark 0.755 -2.04% 22
Dominican Republic Dominican Republic 0.503 -0.812% 111
Algeria Algeria 0.535 +0.482% 98
Ecuador Ecuador 0.594 -0.33% 74
Egypt Egypt 0.494 +0.378% 114
Spain Spain 0.728 -1.07% 29
Estonia Estonia 0.777 +0.398% 12
Ethiopia Ethiopia 0.383 -0.343% 155
Finland Finland 0.796 -2.27% 6
Fiji Fiji 0.509 105
France France 0.763 +0.896% 18
Micronesia (Federated States of) Micronesia (Federated States of) 0.506 +8.48% 108
Gabon Gabon 0.458 +0.268% 124
United Kingdom United Kingdom 0.783 +0.767% 11
Georgia Georgia 0.569 -6.59% 85
Ghana Ghana 0.45 +1.48% 128
Guinea Guinea 0.371 +0.504% 162
Gambia Gambia 0.422 +4.53% 136
Greece Greece 0.69 -0.691% 37
Grenada Grenada 0.565 +4.41% 87
Guatemala Guatemala 0.461 +0.985% 123
Guyana Guyana 0.495 +0.179% 113
Hong Kong SAR China Hong Kong SAR China 0.813 -1.09% 2
Honduras Honduras 0.481 +0.149% 118
Croatia Croatia 0.71 -2.7% 31
Haiti Haiti 0.447 +0.4% 130
Hungary Hungary 0.683 -3.12% 40
Indonesia Indonesia 0.54 +0.387% 96
India India 0.494 +1.8% 115
Ireland Ireland 0.793 -2.59% 9
Iran Iran 0.593 +0.202% 75
Iraq Iraq 0.408 +2.04% 142
Iceland Iceland 0.745 +0.249% 27
Israel Israel 0.734 -3.81% 28
Italy Italy 0.728 -3.33% 30
Jamaica Jamaica 0.535 -0.796% 97
Jordan Jordan 0.553 +1.14% 90
Japan Japan 0.805 -4.28% 3
Kazakhstan Kazakhstan 0.629 -19.1% 55
Kenya Kenya 0.547 +0.842% 93
Kyrgyzstan Kyrgyzstan 0.597 +0.517% 72
Cambodia Cambodia 0.492 +0.184% 117
Kiribati Kiribati 0.493 +4.65% 116
St. Kitts & Nevis St. Kitts & Nevis 0.586 +2.39% 77
South Korea South Korea 0.799 -4.29% 4
Kuwait Kuwait 0.563 -0.296% 88
Laos Laos 0.457 -0.0329% 125
Lebanon Lebanon 0.515 -1.81% 104
Liberia Liberia 0.319 +0.455% 168
St. Lucia St. Lucia 0.603 +2.37% 68
Sri Lanka Sri Lanka 0.598 +0.835% 71
Lesotho Lesotho 0.4 +0.477% 145
Lithuania Lithuania 0.706 -2.84% 34
Luxembourg Luxembourg 0.686 -0.899% 39
Latvia Latvia 0.707 -4.3% 33
Macao SAR China Macao SAR China 0.796 +4.24% 7
Morocco Morocco 0.504 +2.35% 110
Moldova Moldova 0.584 +0.411% 79
Madagascar Madagascar 0.392 +1.69% 150
Mexico Mexico 0.613 +0.211% 61
Marshall Islands Marshall Islands 0.423 +4.71% 135
North Macedonia North Macedonia 0.557 +4.1% 89
Mali Mali 0.318 -1.01% 169
Malta Malta 0.709 +0.107% 32
Myanmar (Burma) Myanmar (Burma) 0.478 +1.23% 119
Montenegro Montenegro 0.633 +1.66% 51
Mongolia Mongolia 0.614 -0.472% 59
Mozambique Mozambique 0.362 +1.87% 166
Mauritania Mauritania 0.382 +2.96% 156
Mauritius Mauritius 0.622 -0.226% 58
Malawi Malawi 0.413 +0.53% 141
Malaysia Malaysia 0.611 -3.41% 62
Namibia Namibia 0.446 +0.305% 131
Niger Niger 0.316 -0.737% 170
Nigeria Nigeria 0.361 +1.65% 167
Nicaragua Nicaragua 0.508 +0.141% 107
Netherlands Netherlands 0.79 -1.63% 10
Norway Norway 0.771 +0.327% 15
Nepal Nepal 0.505 +1.29% 109
Nauru Nauru 0.508 106
New Zealand New Zealand 0.776 +0.612% 13
Oman Oman 0.608 -0.502% 64
Pakistan Pakistan 0.406 +1.69% 143
Panama Panama 0.502 -2.4% 112
Peru Peru 0.605 +1.78% 65
Philippines Philippines 0.516 -6.02% 103
Palau Palau 0.588 +3.67% 76
Papua New Guinea Papua New Guinea 0.429 +1.04% 133
Poland Poland 0.753 -0.938% 23
Portugal Portugal 0.769 -1.85% 17
Paraguay Paraguay 0.528 +0.128% 101
Palestinian Territories Palestinian Territories 0.58 +1.45% 80
Qatar Qatar 0.638 +0.464% 49
Romania Romania 0.584 -1.72% 78
Russia Russia 0.681 -6.52% 41
Rwanda Rwanda 0.38 +0.701% 158
Saudi Arabia Saudi Arabia 0.576 -0.751% 84
Sudan Sudan 0.377 +0.374% 159
Senegal Senegal 0.42 -0.226% 137
Singapore Singapore 0.879 -0.897% 1
Solomon Islands Solomon Islands 0.42 -2.55% 138
Sierra Leone Sierra Leone 0.363 +2.67% 164
El Salvador El Salvador 0.546 +0.219% 94
Serbia Serbia 0.677 -10.9% 42
South Sudan South Sudan 0.307 +0.199% 171
Slovakia Slovakia 0.665 -2.21% 44
Slovenia Slovenia 0.775 -1.74% 14
Sweden Sweden 0.795 -0.891% 8
Eswatini Eswatini 0.373 +0.801% 161
Seychelles Seychelles 0.633 +0.352% 52
Chad Chad 0.3 +0.252% 172
Togo Togo 0.432 +2.63% 132
Thailand Thailand 0.609 -1.22% 63
Tajikistan Tajikistan 0.504 -7.01% 110
Timor-Leste Timor-Leste 0.454 +0.279% 127
Tonga Tonga 0.531 +2.53% 100
Trinidad & Tobago Trinidad & Tobago 0.603 +0.193% 67
Tunisia Tunisia 0.517 +1.41% 102
Turkey Turkey 0.649 +3.83% 48
Tuvalu Tuvalu 0.448 +1.6% 129
Tanzania Tanzania 0.39 +0.925% 151
Uganda Uganda 0.384 +0.537% 153
Ukraine Ukraine 0.631 -1.71% 53
Uruguay Uruguay 0.599 -0.599% 70
United States United States 0.702 -1.67% 35
Uzbekistan Uzbekistan 0.623 57
St. Vincent & Grenadines St. Vincent & Grenadines 0.533 -0.471% 99
Vietnam Vietnam 0.69 +0.397% 38
Vanuatu Vanuatu 0.455 +2.23% 126
Samoa Samoa 0.548 +4.98% 92
Kosovo Kosovo 0.567 -0.304% 86
Yemen Yemen 0.373 +0.0398% 160
South Africa South Africa 0.425 +0.687% 134
Zambia Zambia 0.397 +1.47% 149
Zimbabwe Zimbabwe 0.467 +1.23% 121

The Human Capital Index (HCI) is a nuanced metric designed to measure the potential productivity of individuals in a given country, reflecting their ability to contribute to economic growth and societal development. The index is scaled between 0 and 1, where a score closer to 1 signifies that a country has invested sufficiently in its human capital, resulting in higher expected productivity of future generations. In a rapidly globalizing world, understanding the HCI is imperative as it relates to various aspects such as economic performance, social stability, and overall quality of life.

The importance of the Human Capital Index cannot be overstated. It serves as a diagnostic tool for policymakers to gauge their country’s education and health systems. By revealing disparities in human capital, the HCI pushes countries to focus on essential areas such as health care, education accessibility, and overall well-being. This focus can lead to enhanced job opportunities, increased productivity, and ultimately sustainable economic growth. Therefore, investing in human capital becomes indispensable for nations aiming to enhance their competitive advantage on the global stage.

When it comes to relations to other indicators, the HCI connects directly with dimensions like Gross Domestic Product (GDP), income inequality, and employment rates. Countries scoring high on the HCI tend to have robust economies, characterized by higher GDPs and lower rates of unemployment. For example, nations like Singapore and Hong Kong, which boast some of the highest HCI scores globally, also report thriving economies with diverse industries and high incomes. Conversely, nations with lower HCI scores, such as the Central African Republic and Chad, often experience systemic challenges like high unemployment rates and lower economic growth, creating a vicious cycle of poverty and underdevelopment.

A range of factors affects a country’s Human Capital Index. Education quality and accessibility play a starring role. Nations investing heavily in equitable education systems usually see increased HCI scores. Health care availability and quality further amplify the potential of human capital. Improved health outcomes ensure a more productive workforce. Additionally, socio-economic conditions, cultural attitudes towards education, governmental policies focused on health and education, and even societal stability can influence HCI. Countries grappling with conflicts or economic instability often witness declines in human capital due to disrupted education and health services.

In terms of strategies and solutions to improve the HCI, governments and organizations should prioritize multi-faceted approaches. Formulating educational policies focusing on accessible, equitable, and high-quality education can greatly raise HCI scores. Initiatives might include investing in vocational education, modernizing curricula, and providing incentives for teachers in underserved areas. Additionally, enhancing health care services, especially maternal and child health programs, can provide a significant boost to HCI rankings. Embracing technology for distance learning can also play an important role, especially in regions where traditional education infrastructures are lacking.

Moreover, partnerships between government, private sectors, and non-profit organizations can mobilize resources effectively. Such collaborations can foster an environment where talent is nurtured, enabling local communities to flourish. International cooperation can also yield substantial benefits in knowledge transfer and resource allocation for countries striving to improve their HCI.

However, it is crucial to understand the flaws within the HCI framework. One notable limitation is that the index may not capture the qualitative aspects of human capital comprehensively. For instance, informal education, which plays a significant role in skill development in many regions, is often overlooked. Furthermore, the HCI does not account for the socio-political context, meaning countries might achieve high scores while still dealing with underlying issues such as corruption or inequality. Also, the use of median values can mask disparities between different regions or demographic groups within a country. These facets raise concerns regarding the index’s ability to truly reflect the depth of human capital.

In 2020, the worldwide median value for the HCI was recorded at 0.56. This figure indicates that, on average, human capital is still under-leveraging its potential across the globe. The leading areas in human capital development were Singapore with a remarkable score of 0.88, followed by Hong Kong SAR China (0.81), Japan (0.80), South Korea (0.80), and Canada (0.80). These countries highlight the positive outcomes of robust investments in education and health sectors. In stark contrast, the bottom-ranked nations were the Central African Republic (0.29), Chad (0.30), South Sudan (0.31), Niger (0.32), and Mali (0.32). The limited scores from these countries underscore the urgent need for systemic reforms in education and health to improve the prospects of human capital.

To summarize, the Human Capital Index offers invaluable insights into the potential productivity of populations around the world. Through strategically designed policies and sustained investments, nations can enhance their HCI, promoting not just economic growth but also equity and opportunity for future generations. Despite its limitations, the HCI remains a pivotal tool for assessment, urging countries to prioritize human capital development as the cornerstone of progress.

                    
# 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 = 'HD.HCI.OVRL'

# 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 <- 'HD.HCI.OVRL'

# 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))