2.101 – Revenu disponible brut des ménages et évolution du pouvoir d’achat par personne, par ménage et par unité de consommation (En milliards euros et %) - T_2101
Données - INSEE
Last observation: 2025 (N = 17)
First observation: 1959 (N = 13)
Last data update: 02 sept. 2026, 19:13
Last compile: 04 sept. 2026, 02:13
Structure
2021
Code
i_g("bib/insee/FPORSOC22/F29/table2.png")
2020
Code
i_g("bib/insee/FPS2021/revenu-primaire-RDB.png")
2020
- Comptes de la Nation 2020. html

2019
- Comptes de la Nation 2019. html
Bibliographie en lien
Français
« Mesurer “le” pouvoir d’achat », F. Geerolf, 9 juillet 2024. [ html] [ pdf] [ handouts] [ slides] [ slides] [ github]
« La taxe inflationniste, le pouvoir d’achat, le taux d’épargne et le déficit public », F. Geerolf, 9 juillet 2024. [ html] [ pdf] [ handouts] [ slides] [ slides] [ github]
« Inflation en France : IPC ou IPCH ? », F. Geerolf, 9 juillet 2024. [ html] [ pdf] [ handouts] [ slides] [ slides] [ github]
Line
Code
T_2101 |>
group_by(line, variable, Variable) |>
summarise(Nobs = n()) |>
print_table_conditional()| line | variable | Variable | Nobs |
|---|---|---|---|
| 1 | D11 | Salaires et traitements bruts | 67 |
| 2 | D613CE | Cotisations sociales effectives obligatoires à la charge des salariés | 67 |
| 3 | D11X613CE | Salaires et traitements nets | 67 |
| 4 | D62 | Prestations sociales autres que transferts sociaux en nature | 67 |
| 5 | RSS | Revenus salariaux et sociaux | 67 |
| 6 | B2A3G | Excédent brut d’exploitation et revenu mixte brut | 67 |
| 7 | D613NSI | Cotisations des non salariés | 67 |
| 8 | B6G | Revenu disponible brut | 134 |
| 9 | P31 | Dépense de consommation individuelle - indice du prix de la consommation des ménages | 67 |
| 10 | _PAM | Pouvoir d’achat du rdb des ménages (**) | 66 |
| 11 | _PAM_PERSONNE | Pouvoir d’achat du rdb par personne | 66 |
| 12 | _PAM_MENAGE | Pouvoir d’achat du rdb par ménage | 66 |
| 13 | _PAM_UC | Pouvoir d’achat du rdb par unité de consommation | 66 |
| 14 | POP | Population | 67 |
| 15 | MENF | Moyenne annuelle du nombre de ménages en France entière | 67 |
| 16 | UC | Unités de consommation | 67 |
Croissance, 2017-2024
Code
T_2101 |>
filter(year %in% c("2017", "2024")) |>
select(line, code, label, year, value) |>
distinct(line, code, label, year, .keep_all = TRUE) |>
spread(year, value) |>
mutate(croissance = round(100*(`2024`/`2017`-1), 2)) |>
arrange(desc(croissance)) |>
print_table_conditional()| line | code | label | 2017 | 2024 | croissance |
|---|---|---|---|---|---|
| 9 | P31 | Dépense de consommation individuelle - indice du prix de la consommation des ménages | 0.767 | 2.177 | 183.83 |
| 12 | _PAM_MENAGE | Pouvoir d’achat du rdb par ménage | 0.829 | 1.899 | 129.07 |
| 13 | _PAM_UC | Pouvoir d’achat du rdb par unité de consommation | 1.163 | 2.196 | 88.82 |
| 11 | _PAM_PERSONNE | Pouvoir d’achat du rdb par personne | 1.314 | 2.384 | 81.43 |
| 10 | _PAM | Pouvoir d’achat du rdb des ménages (**) | 1.720 | 2.717 | 57.97 |
| 8 | B6G | Revenu disponible brut | 1387.380 | 1868.043 | 34.65 |
| 3 | D11X613CE | Salaires et traitements nets | 760.073 | 1001.781 | 31.80 |
| 6 | B2A3G | Excédent brut d’exploitation et revenu mixte brut | 311.645 | 404.820 | 29.90 |
| 5 | RSS | Revenus salariaux et sociaux | 1256.715 | 1630.597 | 29.75 |
| 1 | D11 | Salaires et traitements bruts | 880.657 | 1137.217 | 29.13 |
| 4 | D62 | Prestations sociales autres que transferts sociaux en nature | 496.642 | 628.816 | 26.61 |
| 7 | D613NSI | Cotisations des non salariés | 29.549 | 36.202 | 22.52 |
| 2 | D613CE | Cotisations sociales effectives obligatoires à la charge des salariés | 120.584 | 135.436 | 12.32 |
| 16 | UC | Unités de consommation | 0.550 | 0.510 | -7.27 |
| 15 | MENF | Moyenne annuelle du nombre de ménages en France entière | 0.884 | 0.802 | -9.28 |
| 14 | POP | Population | 0.401 | 0.326 | -18.70 |
Salaires bruts, salaires nets
% du PIB
Code
T_2101 |>
filter(line %in% c(1, 3)) |>
left_join(gdp, by = "year") |>
year_to_date2() |>
ggplot() + geom_line(aes(x = date, y = value / gdp, color = Variable)) +
theme_minimal() + xlab("") + ylab("% du PIB") +
scale_x_date(breaks ="5 years",
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.2, 0.15),
legend.title = element_blank())
% du RDB
Code
T_2101 |>
filter(line %in% c(1, 3)) |>
left_join(rdb, by = "year") |>
year_to_date2() |>
ggplot() + geom_line(aes(x = date, y = value / rdb, color = Variable)) +
theme_minimal() + xlab("") + ylab("% du RDB") +
scale_x_date(breaks ="5 years",
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 1),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.15, 0.93),
legend.title = element_blank())
Base 100
2008-
Code
T_2101 |>
filter(line %in% c(1, 3)) |>
year_to_date2() |>
filter(date >= as.Date("2008-01-01")) |>
group_by(Variable) |>
mutate(value = 100*value/value[1]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() + xlab("") + ylab("Base 100 = 2008") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 2), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 200, 5)) +
theme(legend.position = c(0.3, 0.93),
legend.title = element_blank())
2017-
Code
T_2101 |>
filter(line %in% c(1, 3)) |>
year_to_date2() |>
filter(date >= as.Date("2017-01-01")) |>
group_by(Variable) |>
mutate(value = 100*value/value[1]) |>
ggplot() + geom_line(aes(x = date, y = value, color = Variable)) +
theme_minimal() + xlab("") + ylab("Base 100 = 2017") +
scale_x_date(breaks = as.Date(paste0(seq(1940, 2100, 1), "-01-01")),
labels = date_format("%Y")) +
scale_y_log10(breaks = seq(-10, 200, 5)) +
theme(legend.position = c(0.3, 0.93),
legend.title = element_blank()) +
geom_label(data = . %>% filter(date == max(date)),
aes(x = date, y = value, label = round(value, 1), color = Variable), show.legend = F)
Prestations / Salaires Nets
Part (%)
Code
T_2101 |>
filter(variable %in% c("D11", "D62")) |>
year_to_date2() |>
select(date, variable, value) |>
spread(variable, value) |>
mutate(value = D62/D11) |>
ggplot() + geom_line(aes(x = date, y = value)) +
theme_minimal() + xlab("") + ylab("Prestations sociales hors transferts en nature\n% des salaires nets") +
scale_x_date(breaks ="5 years",
labels = date_format("%Y")) +
scale_y_continuous(breaks = 0.01*seq(-10, 100, 2),
labels = percent_format(accuracy = 1)) +
theme(legend.position = c(0.5, 0.9),
legend.title = element_blank())



