Harmonised index of consumer prices (HICP) - ECOICOP ver.2 - indices and rates of change, monthly data (index)

Data - Eurostat

Info

Last observation: Monthly: 2026M04 (N = 93,581)

First observation: Monthly: 1996M01 (N = 10,036)

Last data update: 22 mai 2026, 10:53. Last compile: 04 jui 2026, 02:58

Structure

Weighted

Method 1

Code
prc_hicp_minr %>%
  filter(coicop18 %in% c("TOT_X_NRG_FOOD", "TOTAL"),
         unit == "RCH_A") %>%
  mutate(year = substr(time, 1, 4)) %>%
  left_join(geo, by = "geo") %>%
  #filter(!(Geo %in% intersect(eurozone_countries, CEEC_countries))) %>%
  left_join(prc_hicp_cw %>%
              filter(statinfo == "COWEA21", geo != "EA21") %>%
              transmute(geo, year = time, country_weights = values, uniform_weights = 1),
            by = c("geo", "year")) %>%
  month_to_date %>%
  filter(date >= as.Date("2000-01-01")) %>%
  group_by(coicop18, date) %>%
  summarise(values = sqrt(Hmisc::wtd.var(values/100, country_weights))) %>%
  rename(coicop = coicop18) %>%
  left_join(coicop, by = "coicop") %>%
  
  ggplot(.) + geom_line(aes(x = date, y = values, color = Coicop)) + 
  theme_minimal() + xlab("") + ylab("Standard Deviation of Inflation\nWeighted, EA-21 (%)") +
  scale_x_date(breaks = seq(1960, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_color_manual(values = c("#1E1C1C", "#A81630")) + 
  scale_y_continuous(breaks = 0.01*seq(-20, 20, .5),
                     labels = percent_format(a = .1)) + 
  theme(legend.position = c(0.55, 0.90),
        legend.title = element_blank())