2.103 – Dépense de consommation finale pré-engagée des ménages à prix courants (En milliards d’euros et %) - T_2103
Données - INSEE
Last observation: 2025 (N = 10)
First observation: 1959 (N = 10)
Last data update: 02 sept. 2026, 19:13
Last compile: 04 sept. 2026, 02:13
Structure
La dépense de consommation finale « pré-engagée » correspond aux dépenses qui sont réalisées dans le cadre d’un contrat difficilement renégociable à court terme.
Elle comprend :
- les dépenses liées au logement (y compris les loyers imputés aux propriétaires occupant leur logement), ainsi que les dépenses relatives à l’eau, au gaz, à l’électricité et aux autres combustibles utilisés dans les habitations,
- les services de télécommunications,
- les frais de cantines,
- les services de télévision (redevance télévisuelle, abonnements à des chaînes payantes),
- les assurances (hors assurance-vie),
- les services financiers (y compris les services d’intermédiation financière indirectement mesurés).
Le revenu disponible « arbitrable » est défini comme le revenu disponible une fois déduit la dépense de consommation finale « pré-engagée ».
L’évolution du pouvoir d’achat « arbitrable » rapporte l’évolution du revenu disponible « arbitrable » à celle du prix de la dépense de consommation finale « non pré-engagée ». L’évolution du pouvoir d’achat des ménages est ainsi appréhendée sur un champ plus étroit, en se focalisant sur les marges de manœuvre que les ménages estiment conserver pour effectuer librement des choix de consommation et d’épargne.
Logement VS dépenses pré-engagées
Code
T_2103 |>
filter(VARIABLE %in% c("_DEP_LOGT_REVENU", "_DEP_REVENU")) |>
year_to_date2() |>
ggplot() + theme_minimal() + xlab("") + ylab("% du revenu disponible brut") +
geom_line(aes(x = date, y = value / 100, color = Variable)) +
theme(legend.title = element_blank(),
legend.position = c(0.65, 0.15)) +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 30, 2),
labels = scales::percent_format(accuracy = 1))
Assurances, Services de TV
Code
T_2103 |>
filter(VARIABLE %in% c("_ASSUR_REVENU", "_TELE_REVENU")) |>
year_to_date2() |>
ggplot() + theme_minimal() + xlab("") + ylab("% du revenu disponible brut") +
geom_line(aes(x = date, y = value / 100, color = Variable)) +
theme(legend.title = element_blank(),
legend.position = c(0.65, 0.15)) +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 30, 1),
labels = scales::percent_format(accuracy = 1))
Assurances, Services de TV, Cantines
Code
T_2103 |>
filter(VARIABLE %in% c("_ASSUR_REVENU", "_TELE_REVENU", "_CANTINE_REVENU")) |>
year_to_date2() |>
ggplot() + theme_minimal() + xlab("") + ylab("% du revenu disponible brut") +
geom_line(aes(x = date, y = value / 100, color = Variable)) +
theme(legend.title = element_blank(),
legend.position = c(0.5, 0.9)) +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 30, 1),
labels = scales::percent_format(accuracy = 1))
Assurances, Services de TV, Cantines
Tous
Code
T_2103 |>
filter(VARIABLE %in% c("_ASSUR_REVENU")) |>
year_to_date2() |>
ggplot() + theme_minimal() + xlab("") + ylab("% du revenu disponible brut") +
geom_line(aes(x = date, y = value / 100, color = Variable)) +
theme(legend.title = element_blank(),
legend.position = c(0.5, 0.9)) +
scale_x_date(breaks = seq(1920, 2100, 5) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 30, 1),
labels = scales::percent_format(accuracy = 1))
2017-
Code
T_2103 |>
filter(VARIABLE %in% c("_ASSUR_REVENU")) |>
year_to_date2() |>
filter(date >= as.Date("2017-01-01")) |>
ggplot() + theme_minimal() + xlab("") + ylab("% du revenu disponible brut") +
geom_line(aes(x = date, y = value / 100, color = Variable)) +
theme(legend.title = element_blank(),
legend.position = c(0.5, 0.9)) +
scale_x_date(breaks = seq(1920, 2100, 1) |> paste0("-01-01") |> as.Date(),
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(0, 30, .1),
labels = scales::percent_format(accuracy = .1))