Évolution du revenu disponible brut et du pouvoir d’achat - Données trimestrielles - reve-niv-vie-pouv-achat-trim

Données - INSEE

Info

Last observation: 2025-07-01 (N = 6)

First observation: 1949-01-01 (N = 2)

Last data update: 02 aoû 2026, 11:05. Last compile: 18 aoû 2026, 02:21

Bibliographie en lien

« 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]

Info

  • Évolution du revenu disponible brut et du pouvoir d’achat. Données trimestrielles du T1-1949 au T2-2023. html / xlsx

Revenu disponible brut. Il s’agit de la part du revenu qui reste à la disposition du ménage pour consommer et épargner, une fois déduits les prélèvements sociaux et les impôts.

Les ressources comprennent : - les revenus d’activité (salaires, revenus des entrepreneurs individuels…), - les revenus du patrimoine (dividendes, intérêts, loyers), - les prestations sociales (y compris les pensions de retraite et les indemnités de chômage), - les transferts courants (notamment les indemnités d’assurance nette des primes). Les charges comprennent notamment les impôts directs (impôt sur le revenu, taxe d’habitation, CSG…).

Variable

Code
`reve-niv-vie-pouv-achat-trim` |>
  group_by(Variable) |>
  summarise(Nobs = n()) |>
  arrange(-Nobs) |>
  print_table_conditional()
Variable Nobs
Pouvoir d'achat du RDB 307
Pouvoir d'achat du RDB par UC 307
RDB par unité de consommation (UC) 307
Revenu disponible brut (RDB) 307
Taux d'épargne 307
Taux d'épargne financière 307

date

Code
`reve-niv-vie-pouv-achat-trim` |>
  group_by(date) |>
  summarise(Nobs = n()) |>
  arrange(desc(date)) |>
  print_table_conditional()

Evolution

2017T2-

% change

Code
`reve-niv-vie-pouv-achat-trim` |>
  filter(date %in% c(max(date), as.Date("2017-04-01"))) |>
  spread(date, value) |>
  print_table_conditional()
Variable 2017-04-01 2025-07-01
Pouvoir d'achat du RDB 0.61561755 -0.28346474
Pouvoir d'achat du RDB par UC 0.47495557 -0.40052821
RDB par unité de consommation (UC) 0.51002492 0.06271388
Revenu disponible brut (RDB) 0.65073599 0.18032181
Taux d'épargne 14.16146312 18.36857821
Taux d'épargne financière 4.14785128 9.22804245

Evolution pouvoir d’achat par UC

Tous

Linear

Code
plot_linear <- `reve-niv-vie-pouv-achat-trim` |>
  filter(grepl(pouvoir_achat_RDB_UC, Variable)) |>
  arrange(date) |>
  mutate(value = as.numeric(value)) |>
  filter(!is.na(value)) |>
  mutate(value = ifelse(date == min(date), 0, value)) |>
  mutate(index = 100*cumprod(1+value/100)) |>
  ggplot() + geom_line(aes(x = date, y = index)) +
  scale_y_continuous(breaks = seq(100, 1000, 10)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme_minimal() + xlab("") + ylab("Pouvoir d'achat du RDB par UC (Base 100 = 1980)")

plot_linear

Log

Code
plot_log <- plot_linear +
  scale_y_log10(breaks = seq(100, 900, 10))

plot_log

Linear, Log

Code
ggarrange(plot_linear, plot_log + ylab(""))

1980-

Linear

Code
plot_linear <- `reve-niv-vie-pouv-achat-trim` |>
  filter(grepl(pouvoir_achat_RDB_UC, Variable),
         date >= as.Date("1980-01-01")) |>
  arrange(date) |>
  mutate(value = as.numeric(value),
         value = ifelse(date == min(date), 0, value)) |>
  mutate(index = 100*cumprod(1+value/100)) |>
  ggplot() + geom_line(aes(x = date, y = index)) +
  scale_y_continuous(breaks = seq(100, 1000, 10)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme_minimal() + xlab("") + ylab("Pouvoir d'achat du RDB par UC (Base 100 = 1980)")

plot_linear

Log

Code
plot_log <- plot_linear +
  scale_y_log10(breaks = seq(100, 900, 10))

plot_log

Linear, Log

Code
ggarrange(plot_linear, plot_log + ylab(""))

2017-

Linear

Code
`reve-niv-vie-pouv-achat-trim` |>
  filter(grepl(pouvoir_achat_RDB_UC, Variable),
         date >= as.Date("2017-04-01")) |>
  arrange(date) |>
  mutate(value = as.numeric(value),
         value = ifelse(date == min(date), 0, value)) |>
  mutate(index = 100*cumprod(1+value/100)) |>
  ggplot() + geom_line(aes(x = date, y = index)) +
  scale_y_continuous(breaks = seq(100, 1000, 1)) +
  scale_x_date(breaks = seq(1950, 2100, 1) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme_minimal() + xlab("") + ylab("Pouvoir d'achat du RDB par UC\nBase 100 = 2017T2")

Evolution pouvoir d’achat

Tous

Linear

Code
plot_linear <- `reve-niv-vie-pouv-achat-trim` |>
  filter(Variable == "Pouvoir d'achat du RDB") |>
  arrange(date) |>
  mutate(value = as.numeric(value),
         value = ifelse(date == min(date), 0, value)) |>
  mutate(index = 100*cumprod(1+value/100)) |>
  ggplot() + geom_line(aes(x = date, y = index)) +
  scale_y_continuous(breaks = seq(100, 1000, 100)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme_minimal() + xlab("") + ylab("Pouvoir d'achat du RDB (Base 100 = 1949)")

plot_linear

Log

Code
plot_log <- plot_linear +
  scale_y_log10(breaks = seq(100, 900, 100))

plot_log

Linear, Log

Code
ggarrange(plot_linear, plot_log + ylab(""))

1960-

Linear

Code
plot_linear <- `reve-niv-vie-pouv-achat-trim` |>
  filter(Variable == "Pouvoir d'achat du RDB",
         date >= as.Date("1960-01-01")) |>
  arrange(date) |>
  mutate(value = as.numeric(value),
         value = ifelse(date == min(date), 0, value)) |>
  mutate(index = 100*cumprod(1+value/100)) |>
  ggplot() + geom_line(aes(x = date, y = index)) +
  scale_y_continuous(breaks = seq(100, 1000, 100)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme_minimal() + xlab("") + ylab("Pouvoir d'achat du RDB (Base 100 = 1960)")

plot_linear

Log

Code
plot_log <- plot_linear +
  scale_y_log10(breaks = seq(100, 900, 100))

plot_log

Linear, Log

Code
ggarrange(plot_linear, plot_log + ylab(""))

1980-

Linear

Code
plot_linear <- `reve-niv-vie-pouv-achat-trim` |>
  filter(Variable == "Pouvoir d'achat du RDB",
         date >= as.Date("1980-01-01")) |>
  arrange(date) |>
  mutate(value = as.numeric(value),
         value = ifelse(date == min(date), 0, value)) |>
  mutate(index = 100*cumprod(1+value/100)) |>
  ggplot() + geom_line(aes(x = date, y = index)) +
  scale_y_continuous(breaks = seq(100, 1000, 10)) +
  scale_x_date(breaks = seq(1950, 2100, 10) |> paste0("-01-01") |> as.Date(),
               labels = date_format("%Y")) +
  theme_minimal() + xlab("") + ylab("Pouvoir d'achat du RDB (Base 100 = 1980)")

plot_linear

Log

Code
plot_log <- plot_linear +
  scale_y_log10(breaks = seq(100, 900, 10))

plot_log

Linear, Log

Code
ggarrange(plot_linear, plot_log + ylab(""))