Last observation: 2020 (N = 152)
First observation: 1959 (N = 94)
Last data update: 02 août 2026, 11:04
Last compile: 24 sept. 2026, 00:53
Les tableaux détaillés présentent la consommation effective des ménages depuis 1959 jusqu’à l’année du compte provisoire, déclinée aux niveaux diffusables les plus fins des nomenclatures de produits (Nomenclature agrégée), de fonction (COICOP) et de durabilité.
Pour chaque nomenclature (produit, fonction durabilité), les résultats détaillés ont le format suivant :
`dep-pre-eng` |>
group_by(variable) |>
summarise(Nobs = n()) |>
print_table_conditional()| variable | Nobs |
|---|---|
| Iprix2014 | 1798 |
| Ival | 1769 |
| Ivol | 1769 |
| M€2014 | 1798 |
| M€cour | 2232 |
`dep-pre-eng` |>
group_by(year) |>
summarise(Nobs = n()) |>
arrange(desc(year)) |>
print_table_conditional()`dep-pre-eng` |>
filter(variable == "M€cour") |>
year_to_date2() |>
left_join(gdp, by = "date") |>
filter(date == as.Date("2020-01-01")) |>
select(-date) %>%
mutate(`% du PIB` = (100*value/(1000*gdp)) |> round(digits = 2),
value = round(value) |> paste0(" Mds€")) |>
select(-gdp) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}`dep-pre-eng` |>
filter(variable == "M€cour") |>
year_to_date2() |>
left_join(gdp, by = "date") |>
filter(date == as.Date("2020-01-01")) |>
select(-date) |>
arrange(-value) %>%
mutate(`% du PIB` = (100*value/(1000*gdp)) |> round(digits = 2),
value = round(value) |> paste0(" Mds€")) |>
select(-gdp) %>%
{if (is_html_output()) datatable(., filter = 'top', rownames = F) else .}`dep-pre-eng` |>
filter(variable == "M€cour") |>
year_to_date2() |>
filter(fonction %in% c("04.1", "04.2", "04.5")) |>
left_join(gdp, by = "date") |>
ggplot() + theme_minimal() + ylab("Consommation (% du PIB)") + xlab("") +
geom_line(aes(x = date, y = value/(1000*gdp), color = Fonction)) +
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_color_manual(values = viridis(4)[1:3]) +
scale_y_continuous(breaks = 0.01*seq(0, 100, 0.5),
labels = scales::percent_format(accuracy = 0.1))