HICP - item weights

Data - Eurostat

Info

source dataset Title .html .rData
eurostat prc_hicp_inw HICP - item weights 2025-10-01 2025-09-26

Données sur l’inflation en France

source dataset Title .html .rData
insee ILC-ILAT-ICC Indices pour la révision d’un bail commercial ou professionnel 2025-09-30 2025-09-26
insee INDICES_LOYERS Indices des loyers - Base 2019 2025-09-30 2025-09-30
insee IPC-1970-1980 Indice des prix à la consommation - Base 1970, 1980 2025-09-30 2025-09-26
insee IPC-1990 Indices des prix à la consommation - Base 1990 2025-09-30 2025-09-26
insee IPC-2015 Indice des prix à la consommation - Base 2015 2025-10-01 2025-10-01
insee IPC-PM-2015 Prix moyens de vente de détail 2025-09-30 2025-09-26
insee IPCH-2015 Indice des prix à la consommation harmonisé (IPCH) 2025-10-07 2025-10-01
insee IPCH-IPC-2015-ensemble Indices des prix à la consommation harmonisés 2025-09-30 2025-10-07
insee IPGD-2015 Indice des prix dans la grande distribution 2025-09-30 2025-05-24
insee IPLA-IPLNA-2015 Indices des prix des logements neufs et Indices Notaires-Insee des prix des logements anciens 2025-09-30 2025-09-26
insee IPPI-2015 Indices de prix de production et d'importation dans l'industrie 2025-09-30 2025-09-26
insee IRL Indice pour la révision d’un loyer d’habitation 2025-09-30 2025-09-26
insee SERIES_LOYERS Variation des loyers 2025-09-30 2025-09-26
insee T_CONSO_EFF_FONCTION Consommation effective des ménages par fonction 2025-09-30 2024-07-18
insee bdf2017 Budget de famille 2017 2025-09-30 2023-11-21
insee echantillon-agglomerations-IPC-2024 Échantillon d’agglomérations enquêtées de l’IPC en 2024 2025-09-30 2025-04-02
insee liste-varietes-IPC-2024 Liste des variétés pour la mesure de l'IPC en 2024 2025-09-30 2025-04-02
insee ponderations-elementaires-IPC-2024 Pondérations élémentaires 2024 intervenant dans le calcul de l’IPC 2025-09-30 2025-04-02

Data on inflation

source dataset Title .html .rData
eurostat prc_hicp_inw HICP - item weights 2025-10-01 2025-09-26
bis CPI Consumer Price Index 2025-08-28 2025-08-28
ecb CES Consumer Expectations Survey 2025-08-28 2025-05-24
eurostat nama_10_co3_p3 Final consumption expenditure of households by consumption purpose (COICOP 3 digit) 2025-10-01 2025-09-26
eurostat prc_hicp_cow HICP - country weights 2025-10-01 2025-09-26
eurostat prc_hicp_ctrb Contributions to euro area annual inflation (in percentage points) 2025-10-01 2025-09-26
eurostat prc_hicp_manr HICP (2015 = 100) - monthly data (annual rate of change) 2025-10-01 2025-09-26
eurostat prc_hicp_midx HICP (2015 = 100) - monthly data (index) 2025-10-01 2025-09-26
eurostat prc_hicp_mmor HICP (2015 = 100) - monthly data (monthly rate of change) 2025-10-01 2025-09-26
eurostat prc_ppp_ind Purchasing power parities (PPPs), price level indices and real expenditures for ESA 2010 aggregates 2025-10-01 2025-09-26
eurostat sts_inpp_m Producer prices in industry, total - monthly data 2025-10-01 2025-09-26
eurostat sts_inppd_m Producer prices in industry, domestic market - monthly data 2025-10-01 2025-09-26
eurostat sts_inppnd_m Producer prices in industry, non domestic market - monthly data 2024-06-24 2025-09-26
fred cpi Consumer Price Index 2025-10-02 2025-10-01
fred inflation Inflation 2025-10-02 2025-10-01
imf CPI Consumer Price Index - CPI 2025-08-28 2020-03-13
oecd MEI_PRICES_PPI Producer Prices - MEI_PRICES_PPI 2025-09-29 2024-04-15
oecd PPP2017 2017 PPP Benchmark results 2024-04-16 2023-07-25
oecd PRICES_CPI Consumer price indices (CPIs) 2024-04-16 2024-04-15
wdi FP.CPI.TOTL.ZG Inflation, consumer prices (annual %) 2023-01-15 2025-09-27
wdi NY.GDP.DEFL.KD.ZG Inflation, GDP deflator (annual %) 2025-10-02 2025-09-27

LAST_COMPILE

LAST_COMPILE
2025-10-10

Last

Code
prc_hicp_inw %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  head(3) %>%
  print_table_conditional()
time Nobs
2025 18504
2024 18499
2023 18512

coicop

All

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

2-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 4) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()
coicop Coicop Nobs 2022, France 2022, Germany
CP00 All-items HICP 1232 1000.00 1000.00
CP01 Food and non-alcoholic beverages 1232 165.55 126.57
CP02 Alcoholic beverages, tobacco and narcotics 1232 44.94 44.96
CP03 Clothing and footwear 1232 39.81 43.16
CP04 Housing, water, electricity, gas and other fuels 1232 174.41 252.20
CP05 Furnishings, household equipment and routine household maintenance 1232 59.28 60.90
CP06 Health 1232 45.48 57.50
CP07 Transport 1232 158.40 149.44
CP08 Communications 1232 30.32 29.44
CP09 Recreation and culture 1232 80.25 97.20
CP10 Education 1232 3.76 9.72
CP11 Restaurants and hotels 1232 73.73 39.42
CP12 Miscellaneous goods and services 1232 124.05 89.49
FOOD Food including alcohol and tobacco 1185 210.49 171.53
FUEL Liquid fuels and fuels and lubricants for personal transport equipment 1183 47.34 53.47
SERV Services (overall index excluding goods) 1110 435.93 440.98

3-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 5) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

4-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 6) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

5-digit

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) == 7) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

Other

Code
prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(nchar(coicop) > 7) %>%
  group_by(coicop, Coicop) %>%
  summarise(Nobs = n(),
            `2022, France` = values[geo == "FR" & time == "2022"],
            `2022, Germany` = values[geo == "DE" & time == "2022"]) %>%
  print_table_conditional()

geo

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

time

Code
prc_hicp_inw %>%
  group_by(time) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(time)) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France

Table

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

2-digit

Code
`table1-2digit` <- prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         nchar(coicop) == 4,
         substr(coicop, 1, 2) == "CP" ,
         coicop != "CP00",
         time %in% c("2017", "2023")) %>%
  select(-geo) %>%
  spread(time, values)


`table1-2digit` %>%
  print_table_conditional()
freq coicop Coicop 2017 2023
A CP01 Food and non-alcoholic beverages 160.04 161.90
A CP02 Alcoholic beverages, tobacco and narcotics 42.41 40.95
A CP03 Clothing and footwear 49.60 40.13
A CP04 Housing, water, electricity, gas and other fuels 157.96 164.05
A CP05 Furnishings, household equipment and routine household maintenance 58.53 55.61
A CP06 Health 44.59 42.25
A CP07 Transport 159.15 164.75
A CP08 Communications 31.85 27.58
A CP09 Recreation and culture 89.23 80.92
A CP10 Education 3.81 4.80
A CP11 Restaurants and hotels 83.10 99.18
A CP12 Miscellaneous goods and services 119.73 117.87
Code
`table1-2digit` %>%
  gt::gt() %>%
  gt::gtsave(filename = "prc_hicp_inw_files/figure-html/table1-2digit-1.png")

3-digit: CP082_083

Code
`table1-3digit` <- prc_hicp_inw %>%
  left_join(coicop, by = "coicop") %>%
  filter(geo == "FR",
         nchar(coicop) == 5 | coicop == "CP082_083",
         substr(coicop, 1, 2) == "CP" ,
         coicop != "CP00",
         time %in% c("2017", "2023")) %>%
  select(-geo) %>%
  spread(time, values)


`table1-3digit` %>%
  print_table_conditional()
Code
`table1-3digit` %>%
  gt::gt() %>%
  gt::gtsave(filename = "prc_hicp_inw_files/figure-html/table1-3digit-1.png")

Goods, Services

CP

English

Code
prc_hicp_inw %>%
  filter(coicop %in% c(paste0("CP0", 1:9), paste0(paste0("CP1", 1:2))),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.38, 0.5),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

French

Code
load_data("eurostat/coicop_fr.RData")
prc_hicp_inw %>%
  filter(coicop %in% c(paste0("CP0", 1:9), paste0(paste0("CP1", 1:2))),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.38, 0.5),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

Goods vs. Services

Code
load_data("eurostat/coicop.RData")
prc_hicp_inw %>%
  filter(coicop %in% c("GD", "SERV"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

More Detail

Code
prc_hicp_inw %>%
  filter(coicop %in% c("IGD_NNRG_D", "IGD_NNRG_ND", "IGD_NNRG_SD", "SERV", "NRG"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.9),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 5),
               labels = percent_format(a = 1),
               limits = c(0, 1))

CP082, CP083, CP08, CP091, CP053

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820", "CP0830", "CP08", "CP091", "CP053"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = paste(coicop, Coicop))) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.35, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.005),
               labels = percent_format(a = .1))

CP082, CP083, CP08, CP091, CP053, CP071

All

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820", "CP0830", "CP08", "CP091", "CP053", "CP071"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = paste(coicop, Coicop))) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.8),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.005),
               labels = percent_format(a = .1))

Entre 10 et 15% sur lesquels effets qualité sont clés

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820", "CP0830", "CP091", "CP053", "CP071"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_area(aes(x = date, y = values/1000, fill = paste(coicop, Coicop)),
            position = "stack") +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.5, 0.85),
        legend.title = element_blank(),
        legend.direction = "vertical",
        legend.key.height = unit(0.5, "lines"),   # 🔽 Reduce vertical spacing
        legend.text = element_text(size = 9)) +
  scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
               labels = percent_format(a = 1),
               limits = c(0, 0.15))

CP01, CP04, CP07

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP01", "CP04", "CP07"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = Coicop)) +
  #scale_color_manual(values = viridis(4)[1:3]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.9),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP05, CP09, CP11, CP12

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP05", "CP09", "CP11", "CP12"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = Coicop)) +
  #scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.4, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP02, CP03, CP06, CP08

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP02", "CP03", "CP06", "CP08"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  ggplot() + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = values/1000, color = Coicop)) +
  #scale_color_manual(values = viridis(5)[1:4]) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.73, 0.85),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

Part Energie

2022

Code
prc_hicp_inw %>%
  filter(time %in% c("2022"),
         coicop %in% c("AP_NRG", "NRG", "CP045", "CP0722")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = round(values/10, 1)) %>%
  select(Geo, coicop, values) %>%
  spread(coicop, values) %>%
  transmute(Geo,
            `Energy, Non Adm` = NRG - AP_NRG,
            `Electricity, gas and other fuels` = CP045,
            `Fuels and lubricants` = CP0722,
            `Energy, Adm` = AP_NRG,
            Energy = NRG) %>%
  arrange(-`Energy, Non Adm`) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

France, Germany, Italy

2020

Code
prc_hicp_inw %>%
  filter(time == "2020",
         geo %in% c("FR", "DE", "IT")) %>%
  left_join(geo, by = "geo") %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, Geo, values) %>%
  mutate(values = values/10) %>%
  spread(Geo, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2010

Code
prc_hicp_inw %>%
  filter(time == "2010",
         geo %in% c("FR", "DE", "IT")) %>%
  left_join(geo, by = "geo") %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, Geo, values) %>%
  mutate(values = values/10) %>%
  spread(Geo, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2000

Code
prc_hicp_inw %>%
  filter(time == "2000",
         geo %in% c("FR", "DE", "IT")) %>%
  left_join(geo, by = "geo") %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, Geo, values) %>%
  spread(Geo, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France - 2022-2024

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2022", "2023", "2024"),
         geo %in% c("FR"),
         nchar(coicop) %in% c(4, 5) | coicop %in% c("CP0820", "CP0830")) %>%
  left_join(coicop, by = "coicop") %>%
  mutate(values = values/10) %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

France - 2020, 2010, 2000

2-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("FR"),
         nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("FR"),
         nchar(coicop) %in% c(4, 5)) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

All

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("FR")) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Germany - 2020, 2010, 2000

2-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("DE"),
         nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("DE"),
         nchar(coicop) %in% c(4,5)) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

All

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("DE")) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

Euro Area - 2020, 2010, 2000

2-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("EA"),
         nchar(coicop) == 4) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

3-digit

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("EA"),
         nchar(coicop) %in% c(4,5)) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

All

Code
prc_hicp_inw %>%
  filter(time %in% c("2000", "2010", "2020"),
         geo %in% c("EA")) %>%
  left_join(coicop, by = "coicop") %>%
  select(coicop, Coicop, time, values) %>%
  spread(time, values) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}

2020 - Housing

Javascript

Code
prc_hicp_inw %>%
  filter(time %in% c("2020"),
         coicop %in% c("CP04", "CP041", "CP043", "CP044", "CP045")) %>%
  left_join(coicop, by = "coicop") %>%
  left_join(geo, by = "geo") %>%
  select(geo, Geo, Coicop, values) %>%
  spread(Coicop, values) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

2020 - Total / Rents Housing

Javascript

Code
prc_hicp_inw %>%
  filter(time %in% c("2020"),
         coicop %in% c("CP04", "CP041")) %>%
  left_join(geo, by = "geo") %>%
  mutate(values = round(values/10, 1)) %>%
  select(Geo, coicop, values) %>%
  spread(coicop, values) %>%
  arrange(-CP041) %>%
  rename(Housing = CP04, `Actual rentals` = CP041) %>%
  mutate_at(vars(-Geo), funs(paste0(., "%"))) %>%
  mutate(Flag = gsub(" ", "-", str_to_lower(Geo)),
         Flag = paste0('<img src="../../icon/flag/vsmall/', Flag, '.png" alt="Flag">')) %>%
  select(Flag, everything()) %>%
  {if (is_html_output()) datatable(., filter = 'top', rownames = F, escape = F) else .}

png

Code
i_g("bib/eurostat/prc_hicp_inw_ex2.png")

Rent Share in HICP VS Share of renters

Code
i_g("data/eurostat/ilc_lvho02_files/figure-html/rent-share-CP041-correlation-1.png")

France, Germany, Italy, Europe, Spain

CP04 - Housing, water, electricity, gas and other fuels

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP04"),
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Housing, water, electricity, gas and other fuels ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_5flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP041 - Actual rentals for housing

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP041"),
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Actual rentals for housing") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_5flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP10 - Education

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP10"),
         geo %in% c("FR", "DE", "ES", "IT", "EA19")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  mutate(Geo = ifelse(geo == "EA19", "Europe", Geo)) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP10 - Education") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_5flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

France, Germany, Italy

CP071

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP071"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP071") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP0711

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0711"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP0711") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP0712

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0712"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP0712") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP0820

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0820"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP0820") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP091

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP091"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP091") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP092

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP092"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP092") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP09211

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP09211"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP09211") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP0921

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0921"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP0921") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

France - CP0921, CP0922, CP0923

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP0921", "CP0922", "CP0923"),
         geo %in% c("FR")) %>%
  year_to_date %>%
  left_join(coicop, by = "coicop") %>%
  mutate(values = values/1000) %>%
  ggplot() + theme_minimal() + ylab("CP092") + xlab("") +
  geom_line(aes(x = date, y = values, color = Coicop)) + 
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP10 - Education

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP10"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("CP10 - Education") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = 0.01*seq(0, 10, 0.1),
               labels = percent_format(a = .1))

CP06 - Health

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP06"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP061 - Medical products, appliances and equipment

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP061"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP062 - Out-patient services

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP062"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.01),
               labels = percent_format(a = 1))

CP063 - Hospital Services

Code
prc_hicp_inw %>%
  filter(coicop %in% c("CP063"),
         geo %in% c("FR", "DE", "IT")) %>%
  year_to_date %>%
  left_join(geo, by = "geo") %>%
  mutate(values = values/1000) %>%
  left_join(colors, by = c("Geo" = "country")) %>%
  ggplot() + theme_minimal() + ylab("Health ") + xlab("") +
  geom_line(aes(x = date, y = values, color = color)) + add_3flags +
  scale_color_identity() +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.45, 0.7),
        legend.title = element_blank()) +
  scale_y_continuous(breaks = seq(0, 1, 0.001),
               labels = percent_format(a = .1))