Claims on private sector (annual growth as % of broad money)

Source: worldbank.org, 03.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola 8.48 -17.7% 22
Albania Albania 5.04 +147% 52
United Arab Emirates United Arab Emirates 5.47 +25.3% 47
Argentina Argentina 77.8 +48.4% 1
Armenia Armenia 25.1 +40.4% 4
Antigua & Barbuda Antigua & Barbuda 5.52 +71.7% 45
Australia Australia 5.96 +25.5% 35
Azerbaijan Azerbaijan 8.29 -3.28% 24
Benin Benin 6.96 -30.8% 28
Burkina Faso Burkina Faso -1.53 -140% 99
Bangladesh Bangladesh 4.4 -34% 61
Bulgaria Bulgaria 8.17 +37.1% 25
Bosnia & Herzegovina Bosnia & Herzegovina 5.51 +26.2% 46
Belize Belize 1.76 -50.9% 83
Brazil Brazil 9.36 +48.9% 19
Brunei Brunei 1.34 -21.5% 87
Bhutan Bhutan -15.5 -232% 103
Botswana Botswana 6.65 +59% 32
Chile Chile 3.48 +12% 73
China China 5.76 -28.5% 40
Côte d’Ivoire Côte d’Ivoire 6.66 -25.4% 31
Colombia Colombia 1.9 +36.1% 81
Costa Rica Costa Rica 6.54 +224% 33
Czechia Czechia 3.28 -13.7% 75
Djibouti Djibouti 3.81 -30.1% 67
Dominica Dominica -0.794 -59.9% 97
Denmark Denmark 5.86 +95.9% 39
Dominican Republic Dominican Republic 10.4 -28.4% 15
Algeria Algeria 2.16 -1.95% 80
Ecuador Ecuador 6.68 -25.7% 30
Egypt Egypt 9.71 +30.1% 16
Fiji Fiji 9.39 +48.2% 18
United Kingdom United Kingdom 0.0559 -128% 91
Georgia Georgia 22.2 +14.5% 5
Guinea-Bissau Guinea-Bissau -3.15 +52.1% 101
Grenada Grenada 5.98 +181% 34
Guatemala Guatemala 4.17 -43.2% 64
Guyana Guyana 8.46 +12.6% 23
Hong Kong SAR China Hong Kong SAR China -0.604 +605% 96
Honduras Honduras 12.4 -28.7% 10
Haiti Haiti -1.16 -76.1% 98
Hungary Hungary 3.73 +64.1% 68
Indonesia Indonesia 5.68 -11.9% 42
Iraq Iraq 3.5 +26.6% 71
Iceland Iceland 11.2 +51.2% 13
Jamaica Jamaica 4.26 -46.5% 63
Jordan Jordan 1.68 +31.3% 84
Japan Japan 1.54 -16.5% 85
Kazakhstan Kazakhstan 15.8 +2.44% 8
Cambodia Cambodia 4.58 -8.11% 57
St. Kitts & Nevis St. Kitts & Nevis 5.59 +101% 44
South Korea South Korea 4.13 -0.607% 65
Kuwait Kuwait -0.436 -149% 94
St. Lucia St. Lucia 4.09 +67.8% 66
Macao SAR China Macao SAR China -3.34 -37.2% 102
Morocco Morocco 1.22 +406% 89
Moldova Moldova 10.6 +737% 14
Madagascar Madagascar 5.73 +209% 41
Maldives Maldives 3.58 -27.5% 70
Mexico Mexico 6.97 +116% 27
North Macedonia North Macedonia 8.68 +92.2% 21
Mali Mali 3.17 +1,224% 76
Montenegro Montenegro 11.8 +115% 12
Mozambique Mozambique 1.24 -443% 88
Mauritius Mauritius 4.53 +15.6% 58
Malaysia Malaysia 4.76 -4.59% 54
Niger Niger 5.9 -235% 37
Norway Norway 5.93 +11.1% 36
Nepal Nepal 5.32 +41.5% 49
New Zealand New Zealand 4.59 +71.8% 56
Pakistan Pakistan 5.61 +951% 43
Poland Poland 1.84 -214% 82
Paraguay Paraguay 18 +75% 6
Palestinian Territories Palestinian Territories -2.6 -159% 100
Qatar Qatar 5.11 -24.3% 51
Romania Romania 4.5 +31.5% 60
Rwanda Rwanda 12.1 -27% 11
Senegal Senegal -0.41 -113% 93
Solomon Islands Solomon Islands 2.32 +9.77% 79
Sierra Leone Sierra Leone 6.73 +55.2% 29
El Salvador El Salvador 5.14 +13.6% 50
Serbia Serbia 5.89 +374% 38
Suriname Suriname 4.51 +2.92% 59
Sweden Sweden 1.51 +316% 86
Togo Togo 3.1 -31.2% 77
Thailand Thailand 0.159 -87.3% 90
Timor-Leste Timor-Leste 12.5 +80.8% 9
Tonga Tonga 4.28 -15.2% 62
Trinidad & Tobago Trinidad & Tobago 5.44 +13.4% 48
Tunisia Tunisia 2.41 +41.4% 78
Turkey Turkey 32.1 -37.1% 3
Tanzania Tanzania 7.86 -31.4% 26
Uganda Uganda 4.63 -12.6% 55
Ukraine Ukraine 3.64 -2,102% 69
Uruguay Uruguay 9.47 +58.1% 17
United States United States -0.556 -147% 95
Uzbekistan Uzbekistan 32.6 -30.1% 2
St. Vincent & Grenadines St. Vincent & Grenadines -0.204 -108% 92
Vanuatu Vanuatu 3.31 -7.3% 74
Samoa Samoa 4.86 -388% 53
Kosovo Kosovo 15.8 +40.5% 7
South Africa South Africa 3.5 +4.39% 72
Zambia Zambia 8.77 -43.7% 20

The indicator 'Claims on private sector (annual growth as % of broad money)' provides insight into the evolution of credit extended to the private sector relative to the overall liquidity in the economy, measured as broad money. This metric is essential as it reflects how effectively financial institutions channel savings into investments, facilitating economic growth.

Understanding the movements within this indicator is critical in analyzing the health of the economy. A relatively high growth rate indicates a robust lending environment where businesses and consumers can access credit, thereby spurring growth and consumption. Conversely, low or negative growth may signal credit crunches where financial institutions limit lending, potentially leading to economic stagnation.

In 2023, the median value of this indicator stands at 4.36%. This figure points to a moderate level of growth in private sector credit relative to broad money. However, significant outliers exist, showcasing a diverse range of economic situations across different regions. The top five areas illustrate stark contrasts, with Zimbabwe leading at a staggering 425.49%. This explosive growth could imply a hyperinflationary environment, potentially characterized by monetary instability and a burgeoning informal economy. Such extreme figures can also suggest that businesses are turning to credit as a primary means of surviving in conditions where the value of currency is rapidly eroding.

Following Zimbabwe, Argentina, Turkey, Uzbekistan, and Burundi demonstrate impressive growth rates as well, with figures of 52.39%, 50.96%, 46.63%, and 23.46% respectively. These numbers may also point to economies that are experiencing significant inflation or monetary policy shifts aimed at stimulating growth through increased access to credit. In these contexts, the rapid expansion of credit can drive up inflationary pressures, necessitating careful monetary policy management to curb potential overheating of their respective economies.

On the other end of the spectrum, areas such as Equatorial Guinea, São Tomé & Príncipe, Macao SAR China, Haiti, and Niger exhibit negative growth rates of -25.95%, -11.16%, -5.32%, -4.84%, and -4.34%, respectively. Negative growth in claims on the private sector suggests a severe contraction in lending. This situation can arise from a variety of causes, including economic downturns, lack of consumer confidence, sharp increases in non-performing loans, or austerity measures that tighten lending standards. For these nations, negative growth in private sector claims can stifle economic recovery and lead to higher rates of unemployment and poverty.

The relationship between claims on the private sector and other economic indicators such as GDP growth, inflation rates, and unemployment is essential for understanding overall economic health. For instance, increased credit availability is often associated with higher GDP growth as businesses expand and consumers spend. Conversely, if inflation is high, excessive credit growth, such as that seen in some top-ranking nations, can exacerbate inflationary pressures, leading to further instability.

Moreover, factors such as regulatory frameworks, the stability of financial institutions, and the overall economic climate dramatically influence the growth rates of claims on the private sector. In stable economies, robust regulatory practices often lead to increased confidence in the banking system, which, in turn, encourages lending. In contrast, political instability or poor governance can deter both local and foreign investments, leading to contraction in credit availability.

Strategies to enhance claims on the private sector could involve streamlining lending processes, ensuring robust collateral frameworks, and improving financial literacy among consumers and businesses. Governments can also play a crucial role by implementing policies that encourage banks to lend more, such as providing guarantees or creating programs that enhance access to credit for underserved communities.

Solutions to address the challenges faced by regions with negative growth rates in claims may include monetary policy adjustments to increase liquidity in the banking system, targeted interventions to revive sectors that are lagging, or even international aid in cases of extreme economic distress.

However, flaws in this indicator may arise from economic contexts that exist outside typical measures. For example, in areas with highly informal economies, official lending figures may not reflect the true extent of credit being utilized by the private sector, as many transactions occur outside formal banking channels. Additionally, the measurement can be influenced by sudden political shifts or crises that lead to abrupt changes in credit conditions, skewing the data either positively or negatively.

In summary, the claims on the private sector indicator serves as a vital tool for assessing the economic vitality related to credit availability. It highlights the disparities across different economies, revealing both the challenges and opportunities present in the global economic landscape. Monitoring this indicator continually and understanding its dimensions will remain crucial for policymakers and financial institutions striving toward healthier, more sustainable economic environments.

                    
# 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 = 'FM.AST.PRVT.ZG.M3'

# 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 <- 'FM.AST.PRVT.ZG.M3'

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