Broad money growth (annual %)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola 4.96 -86.9% 63
United Arab Emirates United Arab Emirates 14.6 -22.3% 10
Argentina Argentina 123 -22.4% 1
Armenia Armenia 13.7 -21.5% 15
Antigua & Barbuda Antigua & Barbuda 4.61 +38.1% 66
Australia Australia 6.57 +67.1% 57
Azerbaijan Azerbaijan 3.15 -39.9% 77
Benin Benin 1.37 -448% 83
Burkina Faso Burkina Faso 6.85 -337% 53
Bangladesh Bangladesh 6.13 -12.6% 60
Bulgaria Bulgaria 8.74 +0.45% 40
Belize Belize 9.36 +13.9% 36
Brazil Brazil 13.7 -6.71% 14
Brunei Brunei 3.63 +35.1% 71
Botswana Botswana 4.8 -48.7% 64
Chile Chile -2.12 -181% 87
China China 6.81 -30.8% 54
Côte d’Ivoire Côte d’Ivoire 13.6 +309% 16
Costa Rica Costa Rica 11.2 +124% 26
Czechia Czechia 7.36 -24.4% 49
Dominica Dominica 3.31 -837% 74
Denmark Denmark 1.41 -70.7% 82
Dominican Republic Dominican Republic 11.3 -22.1% 24
Algeria Algeria 9.03 +50.8% 38
Ecuador Ecuador 12.4 +139% 21
Egypt Egypt 31.1 +56% 2
United Kingdom United Kingdom 2.53 -196% 78
Georgia Georgia 14.5 -2.93% 11
Guinea-Bissau Guinea-Bissau 6.23 -669% 59
Grenada Grenada 8.44 +520% 42
Guatemala Guatemala 8.21 +35.5% 43
Guyana Guyana 22.5 +1.98% 4
Hong Kong SAR China Hong Kong SAR China 7 +80.7% 51
Honduras Honduras 9.71 -11.5% 33
Hungary Hungary 9.37 +159% 35
Indonesia Indonesia 4.76 +36% 65
Iraq Iraq -3.76 -150% 88
Iceland Iceland 11.7 +40.5% 23
Jamaica Jamaica 8.09 -31.8% 44
Jordan Jordan 6.09 +192% 61
Japan Japan 0.135 -93.7% 85
Kazakhstan Kazakhstan 19.2 +64.5% 5
Cambodia Cambodia 17.5 +39.7% 7
St. Kitts & Nevis St. Kitts & Nevis 2.49 -234% 79
South Korea South Korea 6.55 +68.3% 58
Kuwait Kuwait 4.26 +323% 67
St. Lucia St. Lucia 10.8 -1.29% 28
Macao SAR China Macao SAR China 7.84 +615% 47
Morocco Morocco 8 +105% 45
Moldova Moldova 13.7 -25% 13
Maldives Maldives -0.0724 -101% 86
Mexico Mexico 13.8 +25.4% 12
North Macedonia North Macedonia 10.2 +73.1% 30
Mali Mali 1.75 -255% 80
Montenegro Montenegro 9.91 -17.2% 31
Mauritius Mauritius 12.7 +74.3% 19
Malaysia Malaysia 3.28 -43.8% 76
Niger Niger 6.92 -848% 52
Norway Norway 3.45 +696% 72
Nepal Nepal 11.2 -22.9% 25
New Zealand New Zealand 4.13 +16% 68
Pakistan Pakistan 12.5 -23% 20
Poland Poland 9.24 +8.26% 37
Paraguay Paraguay 10.9 +25.6% 27
Palestinian Territories Palestinian Territories 7.1 +4.47% 50
Rwanda Rwanda 18.8 -24.2% 6
Senegal Senegal 3.86 -59.9% 69
Solomon Islands Solomon Islands 3.83 -37.4% 70
El Salvador El Salvador 3.31 -62.7% 75
Serbia Serbia 13.5 +6.77% 17
Suriname Suriname 9.79 -50.1% 32
Sweden Sweden 0.301 -123% 84
Seychelles Seychelles 7.4 +29.2% 48
Togo Togo 8.66 +29.6% 41
Thailand Thailand 3.37 +72.8% 73
Tonga Tonga 7.99 +301% 46
Trinidad & Tobago Trinidad & Tobago 1.46 +4.59% 81
Tunisia Tunisia 10.4 +16.3% 29
Uganda Uganda 6.68 -37.4% 56
Ukraine Ukraine 13.4 -41.9% 18
Uruguay Uruguay 15.9 +1,092% 8
United States United States 5.39 +203% 62
Uzbekistan Uzbekistan 30.6 +152% 3
St. Vincent & Grenadines St. Vincent & Grenadines 15.8 +319% 9
Vanuatu Vanuatu 9.57 +60.9% 34
Samoa Samoa 8.88 -35.1% 39
Kosovo Kosovo 12.4 +10.1% 22
South Africa South Africa 6.71 -11.6% 55

Broad money growth is a vital economic indicator that reflects the annual percentage change in the total amount of money available in an economy. This includes currency in circulation and various forms of deposits like savings and checking accounts. Monitoring broad money growth provides insights into monetary policy effectiveness, inflation trends, and overall economic health. A robust understanding of this indicator helps economists and policymakers make informed decisions about interest rates, banking regulations, and fiscal policies.

The importance of broad money growth lies in its ability to indicate liquidity in the economy. When money supply grows at a healthy rate, it can stimulate economic activity; consumers and businesses are more likely to spend and invest. Conversely, if broad money growth slows down or enters negative territory, it could signal economic contraction, reduced consumer spending, and an impending recession. Investors closely monitor this indicator as it can influence stock markets, exchange rates, and investment strategies.

Broad money growth correlates closely with various other economic indicators. For instance, it often has a direct relationship with inflation. When the money supply increases significantly, it can lead to inflationary pressures as too much money chases too few goods. Conversely, a decline in broad money growth can indicate deflationary pressures, where prices fall due to reduced consumer demand. Furthermore, this indicator also interacts with interest rates; central banks use changes in broad money growth to guide their decisions on altering interest rates to stabilize the economy.

Several factors affect broad money growth, including interest rates, consumer confidence, and regulatory policies from central banks. A lower interest rate tends to encourage borrowing and spending, boosting broad money growth. On the other hand, higher interest rates may deter borrowing, contributing to lower money supply growth. Additionally, factors such as political stability and international economic conditions can also influence how much money flows through an economy.

Countries can adopt various strategies to manage broad money growth effectively. A balanced approach is necessary to accommodate both the need for liquidity and the risks associated with inflation. Central banks may implement monetary policy tools like open market operations, reserve requirements, and interest rate adjustments to control money supply growth. For example, increasing reserve requirements means that banks must hold a larger percentage of deposits as reserves, thereby reducing the amount available for lending and slowing broad money expansion.

In addressing broad money growth, some potential solutions can involve reforming banking practices, improving fiscal policy coordination, and enhancing communication between central banks and fiscal authorities. Ensuring that the monetary and fiscal policies are in harmony can help stabilize money supply growth and prevent inflation from spiraling out of control.

Despite its importance, broad money growth has its flaws as an economic indicator. It can be influenced by external shocks, which may not directly relate to the domestic economy's health – for instance, global commodity prices or international trade dynamics. Additionally, different countries have varying definitions of what constitutes "money," leading to discrepancies in data collection and interpretation. This variation can make international comparisons challenging and potentially misleading.

Analyzing the latest data for 2023, the global median value for broad money growth is 7.54%. This figure demonstrates a diverse landscape of economic conditions across different regions. At the top of the list, Zimbabwe shows a staggering broad money growth rate of 708.93%. However, this immense figure is likely indicative of severe hyperinflation, where the money supply's rapid increase fails to correspond to economic output, leading to rampant price increases and destroyed purchasing power.

Following Zimbabwe, other countries like Argentina at 158.55% and Turkey at 69.94% also display high levels of broad money growth, reflecting challenges such as inflation or economic instability. Argentina has faced multiple economic crises, leading to disastrous inflationary environments while Turkey has experienced currency depreciation and increased pressures on its central banking system.

In stark contrast, the bottom five areas present a concerning scenario. Countries like Haiti with -9.64% and Burkina Faso at -2.88% signify contractions in the money supply. This suggests severe economic distress, reduced investment, and stagnating consumer demand. The United Kingdom, with -2.64%, marks an interesting point of analysis as it reflects a major economy that may be adjusting to new economic realities influenced by factors such as Brexit and the economic aftermath of the pandemic. Other regions, like Sweden and St. Kitts & Nevis, also demonstrate negative growth, which might prompt policymakers to reevaluate monetary strategies to stimulate their respective economies.

Examining these figures underscores the diverse implications of broad money growth across different countries. While it fosters growth and economic dynamism in some regions, it illustrates the precarious balance of economic stability for others. Therefore, a nuanced understanding is essential. Policymakers and economists need to adopt flexible strategies to respond to the unique economic landscapes of their countries while remaining vigilant about the potential ramifications of broad money supply growth on overall economic health.

                    
# 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.LBL.BMNY.ZG'

# 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.LBL.BMNY.ZG'

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