Key indicators and growth rates of selected transactions - nasq_10_ki

Data - Eurostat

Info

Last observation: 2026Q1 (N = 221)

First observation: 1980Q1 (N = 9)

Last data update: 14 aoû 2026, 21:29. Last compile: 18 aoû 2026, 03:06

Structure

Adjusted gross disposable income of households in real terms per capita (2010=100) - B7G

France, Germany, Spain, Italy, Europe

All

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B7G_R_HAB_2010",
         s_adj == "SCA") |>
  quarter_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

1999-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B7G_R_HAB_2010",
         s_adj == "SCA") |>
  quarter_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

2010-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B7G_R_HAB_2010",
         s_adj == "SCA") |>
  quarter_to_date() |>
  filter(date >= as.Date("2010-01-01")) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

Gross disposable income of households in real terms per capita (2010=100) - B6G

France, Germany, Spain, Italy, Europe

All

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB_2010",
         s_adj == "SCA") |>
  quarter_to_date() |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

1999-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB_2010",
         s_adj == "SCA") |>
  quarter_to_date() |>
  filter(date >= as.Date("1999-01-01")) |>
  
  group_by(geo) |>
  arrange(date) |>
  mutate(values = 100*values/values[1]) |>
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1999, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

2010-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B6G_R_HAB_2010",
         s_adj == "SCA") |>
  quarter_to_date() |>
  filter(date >= as.Date("2010-01-01")) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 1000, 5))

Gross profit share of non-financial corporations (B2G_B3G/B1Q*100)

France, Germany, Spain, Italy, Europe

All

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2G_B3G_RAT_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
                labels = percent_format(a = 1))

1999-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2G_B3G_RAT_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("1999-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
                labels = percent_format(a = 1))

2015-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "B2G_B3G_RAT_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

Gross household saving rate (B8G/(B6G+D8Net)*100)

France, Germany, Spain, Italy, Europe

All

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "SRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
                labels = percent_format(a = 1))

1999-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "SRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("1999-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
                labels = percent_format(a = 1))

2015-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "SRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2019-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "SRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2019-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq.Date(from = as.Date("2018-01-01"), to = as.Date("2100-01-01"), by = "6 months"),
               labels = date_format("%b %Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

Gross investment rate of households (P51/(B6G+D8Net)*100)

France, Germany, Spain, Italy, Europe

All

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
                labels = percent_format(a = 1))

1999-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("1999-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
                labels = percent_format(a = 1))

France, Germany, Eurozone

2015-

English

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "EA20"),
         na_item == "IRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Gross investment rate of households") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, .5),
                labels = percent_format(a = .1),)

French

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "EA20"),
         na_item == "IRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("Investissement brut des ménages") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, .5),
                labels = percent_format(a = .1),)

2019-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S14_S15",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2019-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq.Date(from = as.Date("2018-01-01"), to = as.Date("2100-01-01"), by = "3 months"),
               labels = date_format("%b %Y")) +
  theme(axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

Gross investment rate of non-financial corporations (P51/B1G*100)

France, Germany, Spain, Italy, Europe

All

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
                labels = percent_format(a = 1))

1999-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("1999-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
                labels = percent_format(a = 1))

2015-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2015-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))

2019-

Code
nasq_10_ki |>
  filter(geo %in% c("FR", "DE", "IT", "ES", "EA20"),
         na_item == "IRG_S11",
         s_adj == "SCA") |>
  quarter_to_date() |>
  mutate(values = values/100) |>
  
  mutate(Geo = ifelse(geo == "EA20", "Europe", Geo)) |>
  left_join(colors, by = c("Geo" = "country")) |>
  filter(date >= as.Date("2019-01-01")) |>
  ggplot() + theme_minimal() + xlab("") + ylab("") +
  geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + add_flags +
  scale_x_date(breaks = seq.Date(from = as.Date("2018-01-01"), to = as.Date("2100-01-01"), by = "6 months"),
               labels = date_format("%b %Y")) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
                labels = percent_format(a = 1))