Private sector debt, consolidated - % of GDP - tipspd20

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 60)

First observation: Annual: 1995 (N = 56)

Last data update: 23 jul 2026, 22:14. Last compile: 24 jul 2026, 04:06

Structure

unit

Code
tipspd20 %>%
  select_if(~n_distinct(.) > 1) %>%
  
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
MIO_NAC Million units of national currency 928
PC_GDP Percentage of gross domestic product (GDP) 928

France, Germany, Italy, Spain, Netherlands

Percent

Code
tipspd20 %>%
  filter(geo %in% c("FR", "DE", "NL", "ES", "IT"),
         unit == "PC_GDP") %>%
  year_to_date %>%
  
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Private sector credit flow, consolidated - % GDP") +
  scale_y_continuous(breaks = 0.01*seq(-300, 600, 20),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 1.33, linetype = "dashed")

Level (Bn, national currency)

Code
tipspd20 %>%
  filter(geo %in% c("FR", "DE", "NL", "ES", "IT"),
         unit == "MIO_NAC") %>%
  year_to_date %>%

  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values/1000, color = color)) + theme_minimal() +
  scale_color_identity() + add_5flags +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  xlab("") + ylab("Private sector debt, consolidated (Bn)")

Latest Year: Private Sector Debt by Country

Code
latest_yr <- tipspd20 %>%
  filter(unit == "PC_GDP", !is.na(values)) %>%
  summarise(m = max(time)) %>%
  pull(m)

tipspd20 %>%
  filter(unit == "PC_GDP", time == latest_yr) %>%
  select(geo, Geo, `Private sector debt (% GDP)` = values) %>%
  arrange(desc(`Private sector debt (% GDP)`)) %>%
  print_table_conditional()
geo Geo Private sector debt (% GDP)
LU Luxembourg 311.5
NL Netherlands 199.8
DK Denmark 199.5
SE Sweden 190.9
CY Cyprus 161.6
FR France 151.1
BE Belgium 146.5
FI Finland 139.7
EA20 Euro area – 20 countries (2023-2025) 122.4
EA21 Euro area – 21 countries (from 2026) 122.1
EU27_2020 European Union - 27 countries (from 2020) 119.6
PT Portugal 118.8
MT Malta 110.4
DE Germany 108.0
AT Austria 107.5
ES Spain 105.4
IE Ireland 97.6
EL Greece 96.6
EE Estonia 96.1
IT Italy 91.1
SK Slovakia 84.3
CZ Czechia 76.8
BG Bulgaria 73.0
HR Croatia 72.3
HU Hungary 70.8
LV Latvia 57.5
SI Slovenia 57.2
LT Lithuania 55.0
PL Poland 52.8
RO Romania 39.8