Final consumption aggregates - namq_10_fcs

Data - Eurostat

Info

LAST_DOWNLOAD

Code
tibble(LAST_DOWNLOAD = as.Date(file.info("~/iCloud/website/data/eurostat/namq_10_fcs.RData")$mtime)) %>%
  print_table_conditional()
LAST_DOWNLOAD
2025-05-18

LAST_COMPILE

LAST_COMPILE
2025-05-18

Last

Code
namq_10_fcs %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(1) %>%
  print_table_conditional()
time Nobs
2025Q1 864

na_item

Code
namq_10_fcs %>%
  left_join(na_item, by = "na_item") %>%
  group_by(na_item, Na_item) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
na_item Na_item Nobs
P31_S14 Final consumption expenditure of households 191316
P311_S14 Final consumption expenditure of households, durable goods 183174
P312N_S14 Final consumption expenditure of households, semi-durable goods, non-durable goods and services 183174
P312_S14 Final consumption expenditure of households, semi-durable goods 165130
P313_S14 Final consumption expenditure of households, non-durable goods 165130
P314_S14 Final consumption expenditure of households, services 165130

s_adj

Code
namq_10_fcs %>%
  left_join(s_adj, by = "s_adj") %>%
  group_by(s_adj, S_adj) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
s_adj S_adj Nobs
NSA Unadjusted data (i.e. neither seasonally adjusted nor calendar adjusted data) 471542
SCA Seasonally and calendar adjusted data 454063
CA Calendar adjusted data, not seasonally adjusted data 80600
SA Seasonally adjusted data, not calendar adjusted data 46849

unit

Code
namq_10_fcs %>%
  left_join(unit, by = "unit") %>%
  group_by(unit, Unit) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
unit Unit Nobs
CLV15_MEUR Chain linked volumes (2015), million euro 61080
CLV15_MNAC Chain linked volumes (2015), million units of national currency 61080
CLV_I15 Chain linked volumes, index 2015=100 61080
CP_MEUR Current prices, million euro 60804
CP_MNAC Current prices, million units of national currency 60804
CLV10_MEUR Chain linked volumes (2010), million euro 59916
CLV10_MNAC Chain linked volumes (2010), million units of national currency 59916
CLV_I10 Chain linked volumes, index 2010=100 59916
PC_GDP Percentage of gross domestic product (GDP) 59238
CLV05_MEUR Chain linked volumes (2005), million euro 59004
CLV05_MNAC Chain linked volumes (2005), million units of national currency 59004
CLV_I05 Chain linked volumes, index 2005=100 59004
CLV_PCH_SM Chain linked volumes, percentage change compared to same period in previous year 57944
CLV20_MEUR NA 57918
CLV20_MNAC NA 57918
CLV_I20 NA 57918
PYP_MEUR Previous year prices, million euro 36042
PYP_MNAC Previous year prices, million units of national currency 36042
CLV_PCH_PRE Chain linked volumes, percentage change on previous period 28426

geo

Code
namq_10_fcs %>%
  left_join(geo, by = "geo") %>%
  group_by(geo, Geo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  mutate(Geo = ifelse(geo == "DE", "Germany", Geo)) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../bib/flags/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

time

Code
namq_10_fcs %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  print_table_conditional()

France

Table

Code
namq_10_fcs %>%
  filter(geo == "FR",
         time == "2021Q4",
         s_adj == "NSA") %>%
  select_if(~ n_distinct(.) > 1) %>%
  left_join(unit, by = "unit") %>%
  left_join(na_item, by = "na_item") %>%
  mutate(Na_item = paste0(na_item, " - ", Na_item)) %>%
  select(-na_item) %>%
  spread(Na_item, values) %>%
  print_table_conditional()
unit Unit P31_S14 - Final consumption expenditure of households P311_S14 - Final consumption expenditure of households, durable goods P312_S14 - Final consumption expenditure of households, semi-durable goods P312N_S14 - Final consumption expenditure of households, semi-durable goods, non-durable goods and services P313_S14 - Final consumption expenditure of households, non-durable goods P314_S14 - Final consumption expenditure of households, services
CLV_I05 Chain linked volumes, index 2005=100 122.761 146.780 114.200 120.613 112.638 126.335
CLV_I10 Chain linked volumes, index 2010=100 114.214 122.342 112.159 113.536 108.120 116.783
CLV_I15 Chain linked volumes, index 2015=100 110.081 119.923 110.764 109.237 107.315 109.940
CLV_I20 NA 112.031 113.084 115.844 111.938 108.794 113.111
CLV_PCH_SM Chain linked volumes, percentage change compared to same period in previous year 7.300 -1.200 8.300 8.100 0.200 13.000
CLV05_MEUR Chain linked volumes (2005), million euro 287954.900 33307.500 28009.200 255548.400 75436.600 152076.400
CLV05_MNAC Chain linked volumes (2005), million units of national currency 287954.900 33307.500 28009.200 255548.400 75436.600 152076.400
CLV10_MEUR Chain linked volumes (2010), million euro 306557.900 29482.900 28531.500 277376.500 83239.100 165693.600
CLV10_MNAC Chain linked volumes (2010), million units of national currency 306557.900 29482.900 28531.500 277376.500 83239.100 165693.600
CLV15_MEUR Chain linked volumes (2015), million euro 319142.300 28016.100 29189.300 291174.700 89681.900 172201.200
CLV15_MNAC Chain linked volumes (2015), million units of national currency 319142.300 28016.100 29189.300 291174.700 89681.900 172201.200
CLV20_MEUR NA 333559.900 27107.800 28846.300 306452.100 98022.000 179583.800
CLV20_MNAC NA 333559.900 27107.800 28846.300 306452.100 98022.000 179583.800
CP_MEUR Current prices, million euro 341579.000 28061.300 29888.000 313517.700 101809.400 181820.300
CP_MNAC Current prices, million units of national currency 341579.000 28061.300 29888.000 313517.700 101809.400 181820.300
PC_GDP Percentage of gross domestic product (GDP) 51.400 4.200 4.500 47.200 15.300 27.400
PYP_MEUR Previous year prices, million euro 333559.900 27107.800 28846.300 306452.100 98022.000 179583.800
PYP_MNAC Previous year prices, million units of national currency 333559.900 27107.800 28846.300 306452.100 98022.000 179583.800

France, Germany, Spain, Italy, Netherlands

All

Consumption

Code
namq_10_fcs %>%
  filter(geo %in% c("FR", "EA", "ES", "IT", "DE"),
         unit == "PC_GDP",
         s_adj == "NSA",
         na_item == "P31_S14") %>%
  quarter_to_date %>%
  mutate(values = values / 100) %>%
  left_join(geo, by = "geo") %>%
  mutate(Geo = ifelse(geo == "EA", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "EA", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") + 
  ylab("Final consumption expenditure of households (% of GDP)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-30, 100, 2),
                labels = percent_format(a = 1))

1995-

Consumption

Code
namq_10_fcs %>%
  filter(geo %in% c("FR", "NL", "ES", "IT", "DE"),
         unit == "PC_GDP",
         s_adj == "NSA",
         na_item == "P31_S14") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  mutate(values = values / 100) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") + 
  ylab("Final consumption expenditure of households (% of GDP)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-30, 100, 2),
                labels = percent_format(a = 1))

Durable goods

Code
namq_10_fcs %>%
  filter(geo %in% c("FR", "NL", "ES", "IT", "DE"),
         unit == "PC_GDP",
         s_adj == "NSA",
         na_item == "P311_S14") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  mutate(values = values / 100) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") + 
  ylab("Durable goods (% of GDP)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-30, 100, 1),
                labels = percent_format(a = 1))

Non-durable goods

Code
namq_10_fcs %>%
  filter(geo %in% c("FR", "NL", "ES", "IT", "DE"),
         unit == "PC_GDP",
         s_adj == "NSA",
         na_item == "P313_S14") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  mutate(values = values / 100) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") + 
  ylab("Non-durable goods (% of GDP)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-30, 100, 1),
                labels = percent_format(a = 1))

Services

Code
namq_10_fcs %>%
  filter(geo %in% c("FR", "NL", "ES", "IT", "DE"),
         unit == "PC_GDP",
         s_adj == "NSA",
         na_item == "P314_S14") %>%
  quarter_to_date %>%
  filter(date >= as.Date("1995-01-01")) %>%
  mutate(values = values / 100) %>%
  left_join(geo, by = "geo") %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  mutate(color = ifelse(geo == "NL", color2, color)) %>%
  ggplot + geom_line(aes(x = date, y = values, color = color)) +
  scale_color_identity() + theme_minimal()  + add_4flags + xlab("") + 
  ylab("Services (% of GDP)") +
  scale_x_date(breaks = as.Date(paste0(seq(1960, 2022, 5), "-01-01")),
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-30, 100, 1),
                labels = percent_format(a = 1))