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())

EBE, Prestations sociales

% du PIB

Code
T_2101 |>
  filter(line %in% c(4, 6)) |>
  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.5, 0.9),
        legend.title = element_blank())

% du RDB

Code
T_2101 |>
  filter(line %in% c(4, 6)) |>
  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.5, 0.9),
        legend.title = element_blank())

Base 100

2008-

Code
T_2101 |>
  filter(line %in% c(4, 6)) |>
  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(4, 6)) |>
  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)