Private sector credit flow, consolidated - % GDP

Data - Eurostat

Info

Last observation: Annual: 2025 (N = 60)

First observation: Annual: 1995 (N = 52)

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

Structure

unit

Code
tipspc20 %>%
  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 926
PC_GDP Percentage of gross domestic product (GDP) 926

Ireland, Greece, Portugal

Percent

Code
tipspc20 %>%
  filter(geo %in% c("IE", "EL", "PT"),
         unit == "PC_GDP") %>%
  year_to_date %>%

  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(values = values/100) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) + theme_minimal() +
  scale_color_identity() + add_3flags +
  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(labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 0.14, linetype = "dashed") +
  geom_hline(yintercept = 0, linetype = "dashed", color = "black")

Latest Year: Ranking by % of GDP

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

tipspc20 %>%
  filter(unit == "PC_GDP",
         time == latest_y,
         !(geo %in% c("EA20", "EA21", "EU27_2020"))) %>%
  select(Geo, values) %>%
  arrange(-values) %>%
  print_table_conditional()
Geo values
Bulgaria 8.8
Denmark 8.8
Malta 7.7
Netherlands 6.5
Portugal 6.0
Lithuania 5.9
Latvia 5.8
Croatia 5.6
Slovakia 5.1
Estonia 4.9
Greece 4.9
Hungary 4.5
France 4.0
Czechia 3.6
Slovenia 3.6
Romania 3.3
Poland 3.0
Spain 2.5
Cyprus 2.2
Sweden 1.9
Germany 1.8
Belgium 1.4
Italy 1.4
Austria 0.7
Finland 0.2
Ireland -3.1
Luxembourg -9.0

France, Germany, Italy, Spain, Netherlands

Percent

Code
tipspc20 %>%
  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, 200, 5),
                     labels = scales::percent_format(accuracy = 1)) +
  geom_hline(yintercept = 0.14, linetype = "dashed")