Consommation des ménages en biens

Data - Insee

Info

source dataset .html .RData
insee CONSO-MENAGES-2020 2025-08-26 2025-08-28

Données sur la macroéconomie en France

source dataset .html .RData
bdf CFT 2025-08-28 2025-03-09
insee CNA-2014-CONSO-SI 2025-08-28 2025-08-28
insee CNA-2014-CSI 2025-08-28 2025-08-28
insee CNA-2014-FBCF-BRANCHE 2025-08-28 2025-08-28
insee CNA-2014-FBCF-SI 2025-08-28 2025-08-28
insee CNA-2014-RDB 2025-08-28 2025-08-28
insee CNA-2020-CONSO-MEN 2025-08-28 2024-09-12
insee CNA-2020-PIB 2025-08-28 2025-05-28
insee CNT-2014-CB 2025-08-28 2025-08-28
insee CNT-2014-CSI 2025-08-28 2025-08-28
insee CNT-2014-OPERATIONS 2025-08-28 2025-08-28
insee CNT-2014-PIB-EQB-RF 2025-08-28 2025-08-28
insee CONSO-MENAGES-2020 2025-08-26 2025-08-28
insee conso-mensuelle 2025-08-26 2023-07-04
insee ICA-2015-IND-CONS 2025-08-26 2025-08-28
insee t_1101 2025-08-26 2022-01-02
insee t_1102 2025-08-26 2020-10-30
insee t_1105 2025-08-26 2020-10-30

LAST_UPDATE

Code
`CONSO-MENAGES-2020` %>%
  group_by(LAST_UPDATE) %>%
  summarise(Nobs = n()) %>%
  print_table_conditional()
LAST_UPDATE Nobs
2025-07-30 8736

Source

  • s1036 - Consommation des ménages (base 2014). html

PRODUIT_CONSO_MENAGES

Code
`CONSO-MENAGES-2020` %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  group_by(PRODUIT_CONSO_MENAGES, Produit_conso_menages) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
PRODUIT_CONSO_MENAGES Produit_conso_menages Nobs
ALIMENTAIRE Alimentaire 546
ALIMENTAIRE-HORS-TABAC Alimentation hors tabac 546
BIENS Biens 546
BIENS-DURABLES Biens durables 546
BIENS-DURABLES-EQUIPEMENT Biens durables d'équipement personnel 546
BIENS-FABRIQUES Biens fabriqués 546
BIENS-FABRIQUES-AUTRES Autres biens fabriqués 546
BIENS-MANUFACTURES Biens manufacturés 546
ENERGIE_C2 Cokéfaction et raffinage (C2) 546
ENERGIE_DE Énergie, eau et déchets (DE) 546
ENERGIE_DEC2 Énergie, eau, déchets, cokéfaction et raffinage (DE, C2) 546
ENERGIE_PETROLE Énergie hors produits pétroliers 546
EQUIPEMENT-LOGEMENT Équipement du logement 546
MATERIELS-TRANSPORT Matériels de transport 546
PRODUITS-PETROLIERS Produits pétroliers 546
TEXTILE Textile-cuir 546

TITLE_FR

Code
`CONSO-MENAGES-2020` %>%
  group_by(IDBANK, TITLE_FR) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
IDBANK TITLE_FR Nobs
011794482 Consommation mensuelle des ménages en biens - Alimentaire hors tabac - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794483 Consommation mensuelle des ménages en biens - Cokéfaction et raffinage - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794484 Consommation mensuelle des ménages en biens - Matériels de transport - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794485 Consommation mensuelle des ménages en biens - Énergie, eau et déchets - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794486 Consommation mensuelle des ménages en biens - Alimentaire - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794487 Consommation mensuelle des ménages en biens - Biens - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794488 Consommation mensuelle des ménages en biens - Produits pétroliers - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794489 Consommation mensuelle des ménages en biens - Biens manufacturés - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794490 Consommation mensuelle des ménages en biens - Énergie hors produits pétroliers - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794491 Consommation mensuelle des ménages en biens - Énergie, eau, déchets, cokéfaction et raffinage - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794492 Consommation mensuelle des ménages en biens - Autres biens durables - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794493 Consommation mensuelle des ménages en biens - Biens durables - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794494 Consommation mensuelle des ménages en biens - Textile-cuir - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794495 Consommation mensuelle des ménages en biens - Autres biens fabriqués - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794496 Consommation mensuelle des ménages en biens - Biens fabriqués - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546
011794497 Consommation mensuelle des ménages en biens - Équipement du logement - Volumes aux prix de l'année précédente, chaînés depuis 2020 - Série CVS-CJO 546

TIME_PERIOD

Code
`CONSO-MENAGES-2020` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  print_table_conditional()

Table

Exemple

Code
`CONSO-MENAGES-2020` %>%
  filter(TIME_PERIOD %in% c("1980-01", "2000-01", "2020-01")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  select_if(function(col) length(unique(col)) > 1) %>%
  select(-IDBANK, -TITLE_FR, -TITLE_EN) %>%
  spread(TIME_PERIOD, OBS_VALUE) %>%
  arrange(-`2020-01`) %>%
  print_table_conditional()
PRODUIT_CONSO_MENAGES OBS_REV Produit_conso_menages 1980-01 2000-01 2020-01
BIENS 1 Biens NA 38.037 47.771
BIENS-MANUFACTURES 1 Biens manufacturés NA 31.274 40.409
BIENS-FABRIQUES 1 Biens fabriqués NA 13.902 21.160
ALIMENTAIRE 1 Alimentaire NA NA 18.000
ALIMENTAIRE-HORS-TABAC 1 Alimentation hors tabac NA NA 15.953
BIENS-DURABLES 1 Biens durables NA 5.806 10.571
ENERGIE_DEC2 1 Énergie, eau, déchets, cokéfaction et raffinage (DE, C2) NA NA 8.570
BIENS-FABRIQUES-AUTRES NA Autres biens fabriqués 2.852 NA 6.156
MATERIELS-TRANSPORT 1 Matériels de transport NA 4.938 5.529
PRODUITS-PETROLIERS 1 Produits pétroliers NA NA 4.951
ENERGIE_DE NA Énergie, eau et déchets (DE) 2.403 4.295 4.514
TEXTILE NA Textile-cuir 4.031 4.076 4.430
ENERGIE_C2 1 Cokéfaction et raffinage (C2) NA NA 3.992
EQUIPEMENT-LOGEMENT 1 Équipement du logement NA NA 3.577
ENERGIE_PETROLE 1 Énergie hors produits pétroliers NA NA 3.558
BIENS-DURABLES-EQUIPEMENT NA Biens durables d'équipement personnel 0.745 1.066 1.472
ALIMENTAIRE NA Alimentaire 12.273 16.242 NA
ALIMENTAIRE-HORS-TABAC NA Alimentation hors tabac 9.829 13.281 NA
BIENS NA Biens 27.167 NA NA
BIENS-DURABLES NA Biens durables 3.192 NA NA
BIENS-FABRIQUES NA Biens fabriqués 9.491 NA NA
BIENS-FABRIQUES-AUTRES 1 Autres biens fabriqués NA 4.247 NA
BIENS-MANUFACTURES NA Biens manufacturés 22.693 NA NA
ENERGIE_C2 NA Cokéfaction et raffinage (C2) 4.134 4.582 NA
ENERGIE_DEC2 NA Énergie, eau, déchets, cokéfaction et raffinage (DE, C2) 6.556 9.016 NA
ENERGIE_PETROLE NA Énergie hors produits pétroliers 1.685 3.084 NA
EQUIPEMENT-LOGEMENT NA Équipement du logement 0.375 0.929 NA
MATERIELS-TRANSPORT NA Matériels de transport 3.119 NA NA
PRODUITS-PETROLIERS NA Produits pétroliers 4.818 5.793 NA

Total, Alimentaire, Alimentaire XTabac

All

Indice

Nouvelle version

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.9)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 300, 10))

Comparer version

Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, octobre 2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, septembre 2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.8)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 300, 10))

Baisse sur 6 mois

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  arrange((date)) %>%
  group_by(Produit_conso_menages) %>%
  mutate(OBS_VALUE2 = OBS_VALUE/lag(OBS_VALUE, 6)-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE2, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Evolution de la consommation sur 6 mois (%)") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
                labels = percent_format(accuracy = 1))

Baisse sur 12 mois

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  arrange((date)) %>%
  group_by(Produit_conso_menages) %>%
  mutate(OBS_VALUE2 = OBS_VALUE/lag(OBS_VALUE, 12)-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE2, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Evolution de la consommation sur 12 mois (%)") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
                labels = percent_format(accuracy = 1))

Baisse sur 18 mois

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  arrange((date)) %>%
  group_by(Produit_conso_menages) %>%
  mutate(OBS_VALUE2 = OBS_VALUE/lag(OBS_VALUE, 18)-1) %>%
  arrange(desc(date)) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE2, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Evolution de la consommation sur 18 mois (%)") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
                labels = percent_format(accuracy = 1))

Baisse sur 24 mois

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  arrange((date)) %>%
  group_by(Produit_conso_menages) %>%
  mutate(OBS_VALUE2 = OBS_VALUE/lag(OBS_VALUE, 24)-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE2, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Evolution de la consommation sur 24 mois (%)") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
                labels = percent_format(accuracy = 1))

Baisse sur 36 mois

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  arrange((date)) %>%
  group_by(Produit_conso_menages) %>%
  mutate(OBS_VALUE2 = OBS_VALUE/lag(OBS_VALUE, 36)-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE2, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Evolution de la consommation sur 36 mois (%)") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
                labels = percent_format(accuracy = 1))

Baisse sur 48 mois

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  arrange((date)) %>%
  group_by(Produit_conso_menages) %>%
  mutate(OBS_VALUE2 = OBS_VALUE/lag(OBS_VALUE, 48)-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE2, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Evolution de la consommation sur 4 ans (%)") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 500, 2),
                labels = percent_format(accuracy = 1))

Tous

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  #filter(date >= as.Date("1996-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.8)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 10))

1996-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("1996-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.8)) +
  scale_x_date(breaks = seq(1950, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 10))

2002-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2002-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.9)) +
  scale_x_date(breaks = seq(1950, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 10))

2005-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2005-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 10))

2010-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2010-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 5))

2017-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 5))

2010

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, 10/2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, 09/2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2010-01-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  select(date, OBS_VALUE, Produit_conso_menages, methode) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (vs Janvier 2010)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.8)) +
  scale_x_date(breaks = "6 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1),
                labels = percent(seq(10, 300, 1)/100-1, acc = 1)) + 
  geom_hline(yintercept = 100, linetype = "dashed")

Janvier 2018-

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, octobre 2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, septembre 2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2018-01-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  select(date, OBS_VALUE, Produit_conso_menages, methode) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (vs. Janvier 2018)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "3 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1),
                labels = percent(seq(10, 300, 1)/100-1, acc = 1)) + 
  geom_hline(yintercept = 100, linetype = "dashed")

Mai 2020-

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2020-05-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.15)) +
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %Y")) +
  scale_y_log10(breaks = seq(10, 300, 5))

Janvier 2019-

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, octobre 2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, septembre 2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2019-01-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  select(date, OBS_VALUE, Produit_conso_menages, methode) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Janvier 2019)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "3 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1),
                labels = percent(seq(10, 300, 1)/100-1, acc = 1))

Janvier 2020-

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, octobre 2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, septembre 2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2020-01-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  select(date, OBS_VALUE, Produit_conso_menages, methode) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Janvier 2020)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "3 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1),
                labels = percent(seq(10, 300, 1)/100-1, acc = 1))

Janvier 2022-

Nouvelle version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2022-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle\n(Base 100 = Janvier 2022)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "2 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))

Décembre 2019-

Nouvelle version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2019-12-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  mutate(OBS_VALUE = ifelse(year(date) == 2020 & month(date) %in% c(3, 4, 5, 10, 11), NA, OBS_VALUE)) %>%
  mutate(OBS_VALUE = ifelse(year(date) == 2021 & month(date) %in% c(3, 4), NA, OBS_VALUE)) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle\n(Base 100 = Décembre 2019)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "2 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1)) +
  geom_rect(data = data_frame(start = as.Date("2020-02-01"), 
                                end = as.Date("2020-06-01")), 
              aes(xmin = start, xmax = end, ymin = 0, ymax = +Inf), fill = viridis(4)[4], alpha = 0.2)+
  geom_rect(data = data_frame(start = as.Date("2020-09-01"), 
                                end = as.Date("2020-12-01")), 
              aes(xmin = start, xmax = end, ymin = 0, ymax = +Inf), fill = viridis(4)[4], alpha = 0.2)+
  geom_rect(data = data_frame(start = as.Date("2021-02-01"), 
                                end = as.Date("2021-05-01")), 
              aes(xmin = start, xmax = end, ymin = 0, ymax = +Inf), fill = viridis(4)[4], alpha = 0.2)

Juillet 2021-

Nouvelle version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2021-07-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle\n(Base 100 = Juillet 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "2 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, octobre 2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, septembre 2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2021-07-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  select(date, OBS_VALUE, Produit_conso_menages, methode) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Février 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))

Dec 2021-

Nouvelle version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2021-12-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Déc. 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "2 months",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Base 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Base 2014, méthode 10/2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Base 2014, méthode 09/2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2021-12-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Déc. 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Base 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Base 2014, méthode 10/2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Base 2014, méthode 09/2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2021-12-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Déc. 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1)) +
  geom_label(data = . %>% filter(date %in% c(as.Date("2023-08-01"))),
                                 aes(x = date, y = OBS_VALUE, label = percent(OBS_VALUE/100-1, acc = 0.1), color = methode))

Février 2022-

Comparer version

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  mutate(methode = "Méthode 2020") %>%
  bind_rows(`CONSO-MENAGES-2014` %>%
              mutate(methode = "Méthode 2014, octobre 2023")) %>%
  bind_rows(`CONSO-MENAGES-2014-vieux` %>%
              mutate(methode = "Méthode 2014, septembre 2023")) %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS","ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2022-02-01")) %>%
  group_by(Produit_conso_menages, methode) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  select(date, OBS_VALUE, Produit_conso_menages, methode) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages, linetype = methode)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Février 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))

Total, Alimentaire

All

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.9)) +
  scale_x_date(breaks = seq(1950, 2030, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 300, 10))

1996-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("1996-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.9)) +
  scale_x_date(breaks = seq(1950, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 10))

2005-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2005-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.9)) +
  scale_x_date(breaks = seq(1950, 2030, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 10))

2017-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2017-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
        legend.position = c(0.2, 0.3)) +
  scale_x_date(breaks = seq(1950, 2030, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 300, 5))

Mai 2020-

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2020-05-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.1)) +
  scale_x_date(breaks = "3 months",
               labels = date_format("%b %Y")) +
  scale_y_log10(breaks = seq(10, 300, 5))

Dec 2021-

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2022-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[1]-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (par rapport à Janvier 2022)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                labels = percent_format(acc = 1))

Feb 2022

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2022-02-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[1]-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (vs. Fév. 2022)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                labels = percent_format(acc = 1))

24 months

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= Sys.Date() - months(24)) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[1]-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (par rapport à Janvier 2022)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                labels = percent_format(acc = 1))

18 months

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= Sys.Date() - months(18)) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = OBS_VALUE/OBS_VALUE[1]-1) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (par rapport à Janvier 2022)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_continuous(breaks = 0.01*seq(-100, 300, 1),
                labels = percent_format(acc = 1))

Biens, Biens Manufacturés, Biens Fabriqués

All

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "BIENS-MANUFACTURES", "BIENS-FABRIQUES")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = "5 years",
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 120, 5)) +
  theme(legend.position = c(0.8, 0.2),
        legend.title = element_blank())

1996-

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("BIENS", "BIENS-MANUFACTURES", "BIENS-FABRIQUES")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("1996-01-01")) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 120, 5)) +
  
  theme(legend.position = c(0.8, 0.2),
        legend.title = element_blank())

Alimentaire, Alimentaire hors Tabac, Biens durables

All

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("ALIMENTAIRE", "ALIMENTAIRE-HORS-TABAC", "BIENS-DURABLES")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 120, 1)) +
  
  theme(legend.position = c(0.8, 0.2),
        legend.title = element_blank())

Equipement du logement, Matériels de Transport

Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("MATERIELS-TRANSPORT", "EQUIPEMENT-LOGEMENT")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  xlab("") + ylab("") +  theme_minimal() +
  scale_x_date(breaks = seq(1920, 2025, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(0, 120, 1)) +
  scale_color_manual(values = viridis(3)[1:2]) +
  theme(legend.position = c(0.8, 0.2),
        legend.title = element_blank())

Dec 2021

Table

Code
`CONSO-MENAGES-2020` %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  filter(TIME_PERIOD %in% c("2021-12", "2023-05")) %>%
  select(TIME_PERIOD, PRODUIT_CONSO_MENAGES, Produit_conso_menages, OBS_VALUE) %>%
  spread(TIME_PERIOD, OBS_VALUE) %>%
  mutate(croissance = round(100*(`2023-05`/`2021-12`-1), 1)) %>%
  arrange(croissance) %>%
  print_table_conditional()
PRODUIT_CONSO_MENAGES Produit_conso_menages 2021-12 2023-05 croissance
ALIMENTAIRE Alimentaire 18.090 16.938 -6.4
ALIMENTAIRE-HORS-TABAC Alimentation hors tabac 16.262 15.277 -6.1
EQUIPEMENT-LOGEMENT Équipement du logement 3.783 3.603 -4.8
ENERGIE_C2 Cokéfaction et raffinage (C2) 3.747 3.589 -4.2
PRODUITS-PETROLIERS Produits pétroliers 4.596 4.427 -3.7
BIENS-FABRIQUES-AUTRES Autres biens fabriqués 6.392 6.182 -3.3
BIENS Biens 47.753 46.344 -3.0
BIENS-MANUFACTURES Biens manufacturés 40.565 39.354 -3.0
TEXTILE Textile-cuir 4.328 4.241 -2.0
ENERGIE_DEC2 Énergie, eau, déchets, cokéfaction et raffinage (DE, C2) 8.237 8.077 -1.9
BIENS-DURABLES-EQUIPEMENT Biens durables d'équipement personnel 1.749 1.717 -1.8
BIENS-FABRIQUES Biens fabriqués 21.426 21.367 -0.3
ENERGIE_DE Énergie, eau et déchets (DE) 4.490 4.475 -0.3
ENERGIE_PETROLE Énergie hors produits pétroliers 3.641 3.660 0.5
BIENS-DURABLES Biens durables 10.706 10.947 2.3
MATERIELS-TRANSPORT Matériels de transport 5.174 5.623 8.7

Graph

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2022-01-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Déc. 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.5, 0.3)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1)) +
  guides(color=guide_legend(ncol=2))

Produits pétroliers

Code
Sys.setlocale("LC_TIME", "fr_CA.UTF-8")
# [1] "fr_CA.UTF-8"
Code
`CONSO-MENAGES-2020` %>%
  filter(PRODUIT_CONSO_MENAGES %in% c("PRODUITS-PETROLIERS", "ENERGIE_PETROLE")) %>%
  left_join(PRODUIT_CONSO_MENAGES,  by = "PRODUIT_CONSO_MENAGES") %>%
  month_to_date %>%
  filter(date >= as.Date("2021-12-01")) %>%
  group_by(Produit_conso_menages) %>%
  arrange(date) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) %>%
  ggplot + geom_line(aes(x = date, y = OBS_VALUE, color = Produit_conso_menages)) +
  theme_minimal() + ylab("Consommation mensuelle (Base 100 = Déc. 2021)") + xlab("") +
  theme(legend.title = element_blank(),
               axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1),
        legend.position = c(0.2, 0.2)) +
  scale_x_date(breaks = "1 month",
               labels = date_format("%B %Y")) +
  scale_y_log10(breaks = seq(10, 300, 1))