Structure of consumption expenditure by COICOP consumption purpose

Data - Eurostat

Info

source dataset .html .RData
eurostat hbs_str_t211 2025-01-05 2025-01-07

Data on housing

source dataset .html .RData
bdf RPP 2025-01-05 2024-11-19
bis LONG_PP 2024-12-29 2024-05-10
bis SELECTED_PP 2024-12-29 2024-10-31
ecb RPP 2024-12-29 2024-12-29
eurostat ei_hppi_q 2025-01-07 2025-01-07
eurostat hbs_str_t223 2025-01-05 2025-01-07
eurostat prc_hicp_midx 2024-11-01 2025-01-07
eurostat prc_hpi_q 2025-01-05 2024-10-09
fred housing 2025-01-07 2025-01-07
insee IPLA-IPLNA-2015 2025-01-07 2025-01-05
oecd housing 2024-09-15 2020-01-18
oecd SNA_TABLE5 2024-09-11 2023-10-19

LAST_COMPILE

LAST_COMPILE
2025-01-07

Last

Code
hbs_str_t211 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(2) %>%
  print_table_conditional()
time Nobs
2020 4788
2015 5928

coicop

All

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

2-digit

Code
hbs_str_t211 %>%
  filter(nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
coicop Coicop Nobs
CP01 Food and non-alcoholic beverages 203
CP02 Alcoholic beverages, tobacco and narcotics 203
CP03 Clothing and footwear 203
CP04 Housing, water, electricity, gas and other fuels 203
CP05 Furnishings, household equipment and routine household maintenance 203
CP06 Health 203
CP07 Transport 203
CP08 Communications 203
CP09 Recreation and culture 203
CP10 Education 202
CP11 Restaurants and hotels 203
CP12 Miscellaneous goods and services 203

3-digit

Code
hbs_str_t211 %>%
  filter(nchar(coicop) == 5) %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

4-digit

Code
hbs_str_t211 %>%
  filter(nchar(coicop) == 6) %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()

geo

Code
hbs_str_t211 %>%
  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
hbs_str_t211 %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
time Nobs
1988 1307
1994 2316
1999 2348
2005 8233
2010 7334
2015 5928
2020 4788

France

Table

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()

2-digit

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         nchar(coicop) == 4,
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()
freq coicop Coicop 2015 2020
A CP01 Food and non-alcoholic beverages 143 143
A CP02 Alcoholic beverages, tobacco and narcotics 25 25
A CP03 Clothing and footwear 40 40
A CP04 Housing, water, electricity, gas and other fuels 289 289
A CP05 Furnishings, household equipment and routine household maintenance 48 48
A CP06 Health 16 16
A CP07 Transport 132 132
A CP08 Communications 24 24
A CP09 Recreation and culture 77 77
A CP10 Education 6 6
A CP11 Restaurants and hotels 55 55
A CP12 Miscellaneous goods and services 147 147

3-digit

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         nchar(coicop) == 5,
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()

4-digit

Code
hbs_str_t211 %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         substr(coicop, 1, 2) == "CP",
         nchar(coicop) == 6,
         coicop != "CP00",
         time %in% c("2015", "2020")) %>%
  select(-unit) %>%
  select(-geo) %>%
  spread(time, values) %>%
  print_table_conditional()

Table

2015

Code
hbs_str_t211 %>%
  filter(time == "2015",
         coicop %in% c("CP04", "CP041", "CP042")) %>%
  left_join(geo, by = "geo") %>%
  select_if(~ n_distinct(.) > 1) %>%
  spread(coicop, values) %>%
  arrange(-CP04) %>%
  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 .}

2020

Code
hbs_str_t211 %>%
  filter(time == "2020",
         coicop %in% c("CP04", "CP041", "CP042")) %>%
  left_join(geo, by = "geo") %>%
  select_if(~ n_distinct(.) > 1) %>%
  spread(coicop, values) %>%
  arrange(-CP04) %>%
  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 .}