Deposit interest rate (%)

Source: worldbank.org, 01.09.2025

Year: 2024

Flag Country Value Value change, % Rank
Angola Angola 7.4 +7.58% 18
Albania Albania 1.86 +38.3% 54
Argentina Argentina 54.2 -42.9% 2
Armenia Armenia 8.15 -2.56% 15
Antigua & Barbuda Antigua & Barbuda 1.35 -7% 66
Azerbaijan Azerbaijan 8.59 -0.706% 12
Bangladesh Bangladesh 8.52 +30.7% 13
Bulgaria Bulgaria 0.325 +234% 78
Bahamas Bahamas 0.543 +0.813% 74
Bosnia & Herzegovina Bosnia & Herzegovina 1.61 +37% 60
Belarus Belarus 5.56 +14.6% 27
Belize Belize 2.07 -0.691% 52
Brazil Brazil 7.7 -36.5% 17
Brunei Brunei 0.388 +102% 77
Bhutan Bhutan 4.5 +20% 34
Botswana Botswana 2.35 -20.3% 48
Switzerland Switzerland 0.93 -14.9% 70
Chile Chile 6.07 -41.7% 24
China China 1.5 0% 65
Colombia Colombia 10.2 -23% 7
Cape Verde Cape Verde 1.67 +119% 58
Costa Rica Costa Rica 3.69 -27.3% 38
Czechia Czechia 2.03 -15.6% 53
Dominica Dominica 1.6 -1.85% 61
Dominican Republic Dominican Republic 9.77 +6.65% 8
Algeria Algeria 1.75 0% 55
Ecuador Ecuador 7.09 +20.9% 20
Egypt Egypt 19.2 +51.4% 3
Fiji Fiji 1.67 +39% 56
Georgia Georgia 10.6 -8.93% 5
Grenada Grenada 0.954 +6.07% 69
Guatemala Guatemala 4.93 +17.3% 32
Guyana Guyana 0.775 0% 71
Hong Kong SAR China Hong Kong SAR China 0.534 +9.01% 76
Honduras Honduras 8.91 +50.1% 11
Hungary Hungary 6.18 -52.9% 23
Indonesia Indonesia 5.43 +17.1% 29
Jamaica Jamaica 6.23 +7.14% 22
Jordan Jordan 6.04 +8.13% 25
Kyrgyzstan Kyrgyzstan 1.67 +28.8% 57
Cambodia Cambodia 1.52 +0.885% 64
St. Kitts & Nevis St. Kitts & Nevis 2.1 +4.82% 51
South Korea South Korea 3.48 -9.43% 39
Kuwait Kuwait 2.7 +8.24% 43
St. Lucia St. Lucia 1.21 -1.84% 68
Lesotho Lesotho 2.46 +1.02% 45
Macao SAR China Macao SAR China 0.661 +4.03% 72
Morocco Morocco 2.85 +2.24% 42
Moldova Moldova 3.34 -52.1% 40
Maldives Maldives 3.72 -6.91% 37
Mexico Mexico 4.55 -4.7% 33
North Macedonia North Macedonia 2.41 +33% 46
Montenegro Montenegro 0.249 -6.92% 79
Mozambique Mozambique 8.24 -11.7% 14
Mauritius Mauritius 4.14 -9.65% 35
Malaysia Malaysia 2.65 -0.125% 44
Namibia Namibia 5.38 -0.299% 30
Nicaragua Nicaragua 2.25 +6.01% 50
Norway Norway 3.26 +36.1% 41
New Zealand New Zealand 5.73 +3.84% 26
Qatar Qatar 5.2 +3.89% 31
Romania Romania 5.53 -14% 28
Rwanda Rwanda 10.3 +7.04% 6
Sierra Leone Sierra Leone 6.7 +17.6% 21
San Marino San Marino 2.29 +14.6% 49
South Sudan South Sudan 0.139 +8.65% 80
Suriname Suriname 9.61 +10.9% 9
Eswatini Eswatini 3.9 -12.1% 36
Seychelles Seychelles 2.39 +25.4% 47
Thailand Thailand 1.63 +18.9% 59
Timor-Leste Timor-Leste 0.535 -10.8% 75
Tonga Tonga 1.55 +0.676% 63
Trinidad & Tobago Trinidad & Tobago 1.5 0% 65
Turkey Turkey 71 +38.4% 1
Ukraine Ukraine 9.11 -26.2% 10
Uruguay Uruguay 7.3 -9.87% 19
Uzbekistan Uzbekistan 18.1 +0.58% 4
St. Vincent & Grenadines St. Vincent & Grenadines 1.25 +0.777% 67
Vanuatu Vanuatu 0.622 +56.1% 73
Samoa Samoa 1.59 -11% 62
South Africa South Africa 7.92 +19.1% 16

The deposit interest rate is a critical economic indicator that measures the return on deposits paid by banks to their customers. It is typically expressed as a percentage and serves as a fundamental gauge of the monetary policy stance of a country, reflecting the cost of borrowing and saving in an economy. Understanding this rate is vital for individual savers, investors, and policymakers as it influences spending, lending, and investment decisions.

The importance of deposit interest rates can't be overstated. They directly impact consumer behavior, as higher rates can encourage savings by providing better returns, while lower rates might drive individuals toward spending or investing in riskier assets to seek higher returns. For businesses, deposit interest rates can affect financing conditions and investment decisions. Central banks utilize this rate as a tool for influencing monetary policy, affecting inflation, economic growth, and overall stability in the financial system.

Deposit interest rates are intrinsically linked to other economic indicators such as inflation rates, GDP growth, and employment levels. For instance, when inflation is high, central banks may raise deposit interest rates to curb spending and inflation, in an effort to stabilize the economy. Conversely, in an economic downturn, lowering deposit interest rates may stimulate borrowing and spending to encourage growth. Therefore, monitoring deposit interest rates in conjunction with these indicators allows for a comprehensive understanding of the overall economic landscape.

Several factors influence deposit interest rates. One prominent factor is the central bank’s policy. When a central bank sets its benchmark interest rate, it directly affects deposit rates across the banking system. Additionally, inflation expectations play a crucial role; when inflation is anticipated to rise, banks may increase deposit rates to offer returns that outpace inflation. Supply and demand for credit, the overall state of the banking sector, and international economic conditions can also exert pressure on deposit rates.

To navigate varying deposit interest rates, individuals and businesses can employ various strategies. Savers should seek high-yield saving accounts or fixed deposits to maximize returns, particularly in high-interest rate environments. On the flip side, borrowers may want to lock in lower interest rates when they are available, thereby shielding themselves from potential future increases. It’s also beneficial for consumers to remain informed about economic forecasts to anticipate shifts in deposit interest rates and adjust their financial plans accordingly.

While deposit interest rates offer essential insights into the financial landscape, they are not without flaws. For instance, the rates can be influenced by government intervention or manipulation, which may not accurately reflect market conditions. In addition, deposit interest rates sometimes fail to account for all financial products, leading to a potential misunderstanding of the true cost of borrowing or the income from savings. Furthermore, in some regions, particularly where banking systems are underdeveloped, the variability in rates can be substantial, leading to confusion for consumers trying to find the best options for saving or borrowing.

Looking at the latest data for 2023, the median deposit interest rate worldwide stood at 3.84%, suggesting a relatively stable environment for savers. However, a deeper analysis into the top and bottom five areas reveals stark contrasts. For instance, Argentina exhibits a staggering deposit interest rate of 95.0%, which reflects hyperinflation and an unstable economic climate, where savers are compensated for the risk of holding money in banks rather than spending it. Zimbabwe, with a rate of 62.82%, finds itself similarly burdened by economic instability. Turkey and Uzbekistan also present high rates, indicative of their efforts to tackle inflation and encourage savings amidst economic challenges. Colombia’s 13.21% rate, while considerably lower than others in this list, still indicates a cautious approach to manage inflation and encourage savings.

Conversely, the bottom five areas depict a completely different scenario. Bulgaria's 0.1% rate, South Sudan's 0.13%, and Brunei's 0.19% reflect a stable economy where low rates might encourage spending rather than saving. Such low rates can signify confidence in economic growth and stability, but they can also be detrimental if they do not adequately compensate savers for the risks associated with inflation. Montenegro and Papua New Guinea, with rates of 0.27% and 0.34% respectively, further illustrate how different economic contexts can yield significantly divergent deposit interest rates.

In conclusion, deposit interest rates serve as a vital economic barometer for understanding the overall financial environment. Their importance lies in their ability to influence saving behaviors, borrowing costs, and the general economic activity of nations. While various factors affect these rates, individuals and businesses can adopt strategies to adapt to changing conditions effectively. Though there are some inherent flaws in how these rates are perceived and reported, the examination of both high and low rates worldwide underlines the complexities of global economic dynamics.

                    
# 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 = 'FR.INR.DPST'

# 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 <- 'FR.INR.DPST'

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