Consommation des ménages - CNA-2014-CONSO-MEN
Données - INSEE
Last observation: 2022 (N = 13)
First observation: 1949 (N = 6)
Last data update: 04 sept. 2026, 00:36
Last compile: 04 sept. 2026, 01:48
Structure
LAST_DOWNLOAD
| dataset | LAST_DOWNLOAD |
|---|---|
| CNA-2014-CONSO-MEN | 2026-07-23 03:40:48 |
| CNA-2014-PIB | 2026-07-04 12:44:09 |
| IPC-PM-2015 | NA |
% de la consommation des ménages, postes
FON01, FON02, FON03, FON04
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON01", "FON02", "FON03", "FON04"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") |>
#select_if(~ n_distinct(.) > 1) %>%
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation des ménages)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.4, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
labels = scales::percent_format(accuracy = 1))
FON05, FON06, FON07, FON08
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON05", "FON06", "FON07", "FON08"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") |>
#select_if(~ n_distinct(.) > 1) %>%
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation des ménages)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.4, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
labels = scales::percent_format(accuracy = 1))
FON09, FON10, FON11, FON12
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON09", "FON10", "FON11", "FON12"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") |>
#select_if(~ n_distinct(.) > 1) %>%
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation des ménages)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.4, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
labels = scales::percent_format(accuracy = 1))
FON081, FON082, FON083
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON081", "FON082", "FON083", "FON08"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") |>
#select_if(~ n_distinct(.) > 1) %>%
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation des ménages)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.4, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
labels = scales::percent_format(accuracy = 1))
Définitions de la consommation
% du PIB
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FONDEPHSI", "FONDEP", "FONTOTAL"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(gdp, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(gdp), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.5, 0.5)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
labels = scales::percent_format(accuracy = 1))
% de la conso finale
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FONDEPHSI", "FONDEP", "FONTOTAL"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_finale_effective, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la conso finale effective)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_finale_effective), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.5, 0.5)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 2),
labels = scales::percent_format(accuracy = 1))
% de la consommation des ménages hors SIFIM
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FONDEPHSI", "FONDEP", "FONTOTAL"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation des ménages)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.5, 0.5)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 200, 5),
labels = scales::percent_format(accuracy = 1))
Santé
% du PIB
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON06", "FON1253", "FON142"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(gdp, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(gdp), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))
% de la consommation finale effective
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON06", "FON1253", "FON142"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_finale_effective, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation finale effective)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_finale_effective), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))
% de la consommation des ménages hors SIFIM
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON06", "FON1253", "FON142"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation des ménages)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))
Loyers réels, loyers imputés
% du PIB
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON041", "FON042"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(gdp, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(gdp), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))
% de la consommation finale effective
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON041", "FON042"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_finale_effective, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_finale_effective), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))
% de la consommation des ménages hors SIFIM
Tous
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON041", "FON042"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_menages, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% de la consommation)") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))
-2020
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON041", "FON042"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL") %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
left_join(conso_menages, by = "date") |>
filter(date <= as.Date("2020-01-01")) |>
ggplot() + theme_minimal() + ylab("Consommation de loyers\n% de la consommation des ménages hors SIFIM") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE/(conso_menages), color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.91)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 1),
labels = scales::percent_format(accuracy = 1))
Tables 2020
Tous
Code
`CNA-2014-CONSO-MEN` |>
filter(TIME_PERIOD == "2020",
OPERATION == "P4") |>
select_if(function(col) length(unique(col)) > 1) |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()Tables 2019
Tous
Code
`CNA-2014-CONSO-MEN` |>
filter(TIME_PERIOD == "2019",
OPERATION == "P4") |>
select_if(function(col) length(unique(col)) > 1) |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()A10
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A10", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()| CNA_PRODUIT | EUR2014 | EUROS_COURANTS | SO |
|---|---|---|---|
| A10-AZ | 31388 | 37961 | 120.9 |
| A10-BE | 578729 | 590072 | 102.0 |
| A10-FZ | 18355 | 19949 | 108.7 |
| A10-GI | 149994 | 161801 | 107.9 |
| A10-JZ | 47850 | 46810 | 97.8 |
| A10-KZ | 63668 | 69731 | 109.5 |
| A10-LZ | 255168 | 258910 | 101.5 |
| A10-MN | 27674 | 27870 | 100.7 |
| A10-OQ | 370420 | 384739 | 103.9 |
| A10-RU | 87036 | 88859 | 102.1 |
A17
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A17", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()| CNA_PRODUIT | EUR2014 | EUROS_COURANTS | SO |
|---|---|---|---|
| A17-AZ | 31388 | 37961 | 120.9 |
| A17-C1 | 175245 | 186526 | 106.4 |
| A17-C2 | 46549 | 49859 | 107.1 |
| A17-C3 | 38603 | 32220 | 83.5 |
| A17-C4 | 73249 | 75510 | 103.1 |
| A17-C5 | 192860 | 187893 | 97.4 |
| A17-DE | 52498 | 58064 | 110.6 |
| A17-FZ | 18355 | 19949 | 108.7 |
| A17-GZ | 14655 | 16063 | 109.6 |
| A17-HZ | 45388 | 48046 | 105.9 |
| A17-IZ | 89924 | 97692 | 108.6 |
| A17-JZ | 47850 | 46810 | 97.8 |
| A17-KZ | 63668 | 69731 | 109.5 |
| A17-LZ | 255168 | 258910 | 101.5 |
| A17-MN | 27674 | 27870 | 100.7 |
| A17-OQ | 370420 | 384739 | 103.9 |
| A17-RU | 87036 | 88859 | 102.1 |
A38
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A38", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()A88
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A88", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()DUR - Par durabilité
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("DUR", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()| CNA_PRODUIT | EUR2014 | EUROS_COURANTS | SO |
|---|---|---|---|
| DUR1 | 113326 | 109143 | 96.3 |
| DUR11 | 40467 | 41159 | 101.7 |
| DUR12 | 15625 | 15550 | 99.5 |
| DUR13 | 7923 | 7221 | 91.1 |
| DUR14 | 49365 | 45214 | 91.6 |
| DUR2 | 94188 | 92842 | 98.6 |
| DUR21 | 47808 | 47423 | 99.2 |
| DUR22 | 46389 | 45419 | 97.9 |
| DUR3 | 384514 | 406918 | 105.8 |
| DUR31 | 180554 | 192568 | 106.7 |
| DUR32 | 91241 | 99623 | 109.2 |
| DUR33 | 112671 | 114727 | 101.8 |
| DUR4 | 1038362 | 1077799 | 103.8 |
| DUR41 | 252449 | 256083 | 101.5 |
| DUR42 | 169548 | 171654 | 101.2 |
| DUR43 | 76222 | 77221 | 101.3 |
| DUR44 | 90026 | 97725 | 108.6 |
| DUR45 | 107062 | 110931 | 103.6 |
| DUR46 | 342942 | 364184 | 106.2 |
| DUR5 | -14495 | -15056 | 103.9 |
| DURTOTAL | 1615941 | 1671646 | 103.4 |
FON
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("FON", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()GG
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("GG", CNA_PRODUIT),
TIME_PERIOD == "2019") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, UNIT_MEASURE, OBS_VALUE) |>
spread(UNIT_MEASURE, OBS_VALUE) |>
print_table_conditional()Loyers réels, loyers imputés, Tous
Montant
1990-2020
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON041", "FON042", "NNTOTAL"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "VAL",
OPERATION %in% c("P4")) %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
filter(date >= as.Date("1990-01-01"),
date <= as.Date("2020-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + ylab("Consommation en valeur") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(80, 1000, 10)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = OBS_VALUE, label = round(OBS_VALUE, 1), color = CNA_PRODUIT), show.legend = F)
PCH (Prix chaîné année de base (non équilibré))
1990-2020
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON041", "FON042", "NNTOTAL"),
NATURE == "VALEUR_ABSOLUE",
PRIX_REF == "PCH",
OPERATION %in% c("P4")) %>%
select_if(~ n_distinct(.) > 1) |>
year_to_date() |>
filter(date >= as.Date("1990-01-01"),
date <= as.Date("2020-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + ylab("Consommation en volume\nPrix chaîné année de base") + xlab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
theme(legend.title = element_blank(),
legend.position = c(0.3, 0.8)) +
scale_x_date(breaks = seq(1950, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(80, 1000, 5)) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = OBS_VALUE, label = round(OBS_VALUE, 1), color = CNA_PRODUIT), show.legend = F)
Remontées mécaniques
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("remontées", TITLE_FR)) |>
year_to_date() |>
arrange(date) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = UNIT_MEASURE)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 5, 10, 20, 50, 100, 200, 300, 500, 1000)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank())
Loyers effectifs, loyers imputés
1959-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "NNTOTAL", "FON041"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
arrange(date) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(100, 200, 300, 500, 1000, 2000)) +
#
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank())
1990-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "NNTOTAL", "FON041"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
#
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
1992-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "FON041", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
bind_rows(baguette) |>
filter(date >= as.Date("1992-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = Cna_produit)) +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
1996-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "FON041", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
bind_rows(baguette) |>
filter(date >= as.Date("1996-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = Cna_produit)) +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
#
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
1998-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "FON041", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
filter(date >= as.Date("1998-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
FON
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "FON041"),
NATURE == "INDICE") |>
year_to_date() |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 5, 10, 20, 50, 100, 200, 300, 500, 1000)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank())
GG
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("GGL68I", "GGL68R", "GGL68A"),
NATURE == "INDICE") |>
year_to_date() |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(1, 5, 10, 20, 50, 100, 200, 300, 500, 1000)) +
theme(legend.position = c(0.55, 0.15),
legend.title = element_blank())
Immobilier, Loyers
1992-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("FON042", "FON041", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
filter(date >= as.Date("1992-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
bind_rows(baguette) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = Cna_produit)) +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
Activités immobilières, Ensemble
1959-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("A88-68", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
arrange(date) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = c(100, 200, 300, 500, 1000, 2000)) +
theme(legend.position = c(0.2, 0.9),
legend.title = element_blank())
1990-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("A88-68", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
2000-
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("A88-68", "NNTOTAL"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
filter(date >= as.Date("2000-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 2) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
Comparaisons
Immobilier, Pain, Ensemble
Code
`CNA-2014-CONSO-MEN` |>
filter(CNA_PRODUIT %in% c("A88-68", "HIHC10G1A", "NNTOTAL", "FON0111"),
NATURE == "INDICE",
OPERATION == "P4") |>
year_to_date() |>
filter(date >= as.Date("1990-01-01")) |>
group_by(CNA_PRODUIT) |>
arrange(date) |>
mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[1]) |>
ggplot() + theme_minimal() + xlab("") + ylab("") +
geom_line(aes(x = date, y = OBS_VALUE, color = CNA_PRODUIT)) +
scale_x_date(breaks = seq(1960, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(100, 300, 10)) +
theme(legend.position = c(0.25, 0.9),
legend.title = element_blank())
Price Deflator
A10
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A10", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()| CNA_PRODUIT | 1959 | 2019 | Avg growth |
|---|---|---|---|
| A10-FZ | 4.0 | 108.7 | 5.7 |
| A10-GI | 4.3 | 107.9 | 5.5 |
| A10-RU | 4.1 | 102.1 | 5.5 |
| A10-LZ | 4.4 | 101.5 | 5.4 |
| A10-OQ | 6.4 | 103.9 | 4.8 |
| A10-MN | 8.7 | 100.7 | 4.2 |
| A10-KZ | 9.8 | 109.5 | 4.1 |
| A10-AZ | 11.6 | 120.9 | 4.0 |
| A10-BE | 14.9 | 102.0 | 3.3 |
| A10-JZ | 22.1 | 97.8 | 2.5 |
A17
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A17", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()| CNA_PRODUIT | 1959 | 2019 | Avg growth |
|---|---|---|---|
| A17-GZ | 1.6 | 109.6 | 7.3 |
| A17-FZ | 4.0 | 108.7 | 5.7 |
| A17-IZ | 4.3 | 108.6 | 5.5 |
| A17-RU | 4.1 | 102.1 | 5.5 |
| A17-LZ | 4.4 | 101.5 | 5.4 |
| A17-C2 | 6.6 | 107.1 | 4.8 |
| A17-HZ | 6.5 | 105.9 | 4.8 |
| A17-OQ | 6.4 | 103.9 | 4.8 |
| A17-MN | 8.7 | 100.7 | 4.2 |
| A17-KZ | 9.8 | 109.5 | 4.1 |
| A17-AZ | 11.6 | 120.9 | 4.0 |
| A17-C1 | 10.7 | 106.4 | 3.9 |
| A17-DE | 11.3 | 110.6 | 3.9 |
| A17-C4 | 13.6 | 103.1 | 3.4 |
| A17-C5 | 15.9 | 97.4 | 3.1 |
| A17-JZ | 22.1 | 97.8 | 2.5 |
| A17-C3 | 315.2 | 83.5 | -2.2 |
A38
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A38", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()A88
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("A88", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()DUR
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("DUR", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()| CNA_PRODUIT | 1959 | 2019 | Avg growth |
|---|---|---|---|
| DUR44 | 4.3 | 108.6 | 5.5 |
| DUR41 | 4.4 | 101.5 | 5.4 |
| DUR45 | 5.2 | 103.6 | 5.1 |
| DUR46 | 5.7 | 106.2 | 5.0 |
| DUR4 | 6.0 | 103.8 | 4.9 |
| DUR32 | 8.7 | 109.2 | 4.3 |
| DUR42 | 8.2 | 101.2 | 4.3 |
| DURTOTAL | 9.5 | 103.4 | 4.1 |
| DUR3 | 11.6 | 105.8 | 3.8 |
| DUR31 | 11.9 | 106.7 | 3.7 |
| DUR5 | 11.8 | 103.9 | 3.7 |
| DUR12 | 12.7 | 99.5 | 3.5 |
| DUR21 | 13.4 | 99.2 | 3.4 |
| DUR33 | 15.2 | 101.8 | 3.2 |
| DUR11 | 15.9 | 101.7 | 3.1 |
| DUR2 | 15.7 | 98.6 | 3.1 |
| DUR43 | 16.7 | 101.3 | 3.1 |
| DUR22 | 20.1 | 97.9 | 2.7 |
| DUR1 | 33.6 | 96.3 | 1.8 |
| DUR14 | 74.5 | 91.6 | 0.3 |
| DUR13 | 85.3 | 91.1 | 0.1 |
FON
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("FON", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()GG
Code
`CNA-2014-CONSO-MEN` |>
filter(grepl("GG", CNA_PRODUIT),
TIME_PERIOD %in% c("2019", "1959"),
UNIT_MEASURE == "SO") |>
arrange(CNA_PRODUIT) |>
select(CNA_PRODUIT, CNA_PRODUIT, TIME_PERIOD, OBS_VALUE) |>
spread(TIME_PERIOD, OBS_VALUE) |>
mutate(`Avg growth` = round(100*((`2019`/`1959`)^(1/60)-1), 1)) |>
arrange(-`Avg growth`) |>
print_table_conditional()





