| source | dataset | Title | Download | Compile |
|---|---|---|---|---|
| wdi | GC.XPN.INTP.RV.ZS | Interest payments (% of revenue) | NA | [2026-07-25] |
| eurostat | ei_mfir_m | Interest rates - monthly data | NA | [2026-07-23] |
| eurostat | gov_10q_ggdebt | Quarterly government debt | NA | [2026-07-22] |
| fred | r | Interest Rates | 2026-07-25 | [2026-07-24] |
| fred | saving | Saving - saving | 2026-07-25 | [2026-07-24] |
| gfd | debt | Debt | 2021-03-01 | [2021-08-22] |
| imf | FM | Fiscal Monitor (FM) | 2020-03-13 | [2026-07-25] |
| imf | GGXCNL_G01_GDP_PT | Net lending/borrowing (also referred as overall balance) (% of GDP) | 2025-08-05 | [2026-07-25] |
| imf | GGXONLB_G01_GDP_PT | Primary net lending/borrowing (also referred as primary balance) (% of GDP) | 2025-08-05 | [2026-07-25] |
| imf | GGXWDN_G01_GDP_PT | Net debt (% of GDP) | 2025-07-27 | [2026-07-25] |
| imf | HPDD | Historical Public Debt Database | NA | [2026-07-25] |
| oecd | QASA_TABLE7PSD | Quarterly Sector Accounts - Public Sector Debt, consolidated, nominal value | 2025-05-24 | [2024-09-15] |
| wdi | GC.DOD.TOTL.GD.ZS | Central government debt, total (% of GDP) | NA | [2026-07-25] |
| wdi | GC.XPN.INTP.CN | Interest payments (current LCU) | NA | [2026-07-25] |
| wdi | GC.XPN.INTP.ZS | Interest payments (% of expense) | NA | [2026-07-25] |
Interest payments (% of revenue)
Data - WDI
Info
LAST_DOWNLOAD
LAST_COMPILE
| LAST_COMPILE |
|---|
| 2026-07-26 |
Nobs - Javascript
Code
GC.XPN.INTP.RV.ZS %>%
left_join(iso2c, by = "iso2c") %>%
group_by(iso2c, Iso2c) %>%
mutate(value = round(value, 2)) %>%
summarise(Nobs = n(),
`Year 1` = first(year),
`HH Consumption 1 (%)` = first(value),
`Year 2` = last(year),
`HH Consumption 2 (%)` = last(value)) %>%
arrange(-Nobs) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}France, Germany, Italy
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("IT", "FR", "DE")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.1, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 100, 2),
labels = scales::percent_format(accuracy = 1))
Japan, Switzerland
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("JP", "CH")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.8, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 60, 2),
labels = scales::percent_format(accuracy = 1))
China, United States
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("CN", "US")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.2, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 100, 2),
labels = scales::percent_format(accuracy = 1))
China, France, Germany
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("CN", "FR", "DE")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.15, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 100, 2),
labels = scales::percent_format(accuracy = 1))
Spain, United Kingdom, United States
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("US", "GB", "ES")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.4, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 100, 2),
labels = scales::percent_format(accuracy = 1))
Argentina, Chile, Venezuela
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("AR", "CL", "VE")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(Iso2c = ifelse(iso2c == "VE", "Venezuela", Iso2c)) %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.8, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 100, 2),
labels = scales::percent_format(accuracy = 1))
Greece, Hong Kong, Mexico
Code
GC.XPN.INTP.RV.ZS %>%
filter(iso2c %in% c("GR", "HK", "MX")) %>%
left_join(iso2c, by = "iso2c") %>%
year_to_enddate %>%
mutate(Iso2c = ifelse(iso2c == "HK", "Hong Kong", Iso2c)) %>%
mutate(value = value/100) %>%
left_join(colors, by = c("Iso2c" = "country")) %>%
ggplot(.) + theme_minimal() + geom_line() +
aes(x = date, y = value, color = color) +
xlab("") + ylab("Expense (% of GDP)") +
scale_color_identity() + add_flags +
theme(legend.title = element_blank(),
legend.position = c(0.8, 0.9)) +
scale_x_date(breaks = seq(1950, 2100, 5) %>% paste0("-01-01") %>% as.Date,
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-60, 100, 2),
labels = scales::percent_format(accuracy = 1))