Seuils de pauvreté mensuels - reve-pauv-seuil-mensuel

Données - INSEE

Le seuil de pauvreté est fixé à 60 % du niveau de vie médian (les seuils à 40, 50 et 70 % sont aussi publiés). Les séries comportent plusieurs ruptures : révision des données antérieures à 1996 (note 1), nouvelle estimation des revenus financiers en 2010 (note 2), recalcul à partir de 2012 (note 3), fragilité du point 2020 et changement de chaîne de production (notes 4 et 5). Les segments de courbe ne sont donc reliés qu’au sein d’une même série.

Seuil de pauvreté à 60 % en euros constants

Code
rup <- seuils |>
  filter(taux == 60, unite == "Euros 2024 constants", !is.na(notes))
seuils |>
  filter(taux == 60, unite == "Euros 2024 constants") |>
  ggplot(aes(x = year, y = value)) +
  geom_line(aes(group = segment), color = rose, linewidth = 1.2) +
  geom_point(color = rose, size = 1.8) +
  geom_point(data = rup, shape = 21, size = 3.2, fill = "white", color = "grey25", stroke = 1) +
  ggrepel::geom_text_repel(data = rup, aes(label = sprintf("%s (note %s)", year, notes)),
                           size = 3, color = "grey30", nudge_y = -120, segment.color = "grey70") +
  geom_text(data = ~ filter(.x, ordre == max(ordre)), aes(label = format(value, big.mark = " ")),
            hjust = -0.3, color = rose, fontface = "bold") +
  scale_x_continuous(breaks = seq(1975, 2025, 10), expand = expansion(mult = c(0.02, 0.14))) +
  scale_y_continuous(labels = ~ format(.x, big.mark = " ")) +
  theme_pauv() +
  labs(x = NULL, y = "Euros 2024 par mois",
       title = "Le seuil de pauvreté à 60 % a presque doublé depuis 1975",
       subtitle = "en euros 2024 constants, par mois ; cercles blancs : points de rupture de série")

Les quatre seuils

Code
seuils |>
  filter(unite == "Euros 2024 constants") |>
  mutate(taux = factor(taux)) |>
  ggplot(aes(x = year, y = value, color = taux, group = interaction(taux, segment))) +
  geom_line(linewidth = 1) +
  geom_text(data = ~ filter(.x, ordre == max(ordre)),
            aes(label = paste0(taux, " %  ", format(value, big.mark = " "))),
            hjust = -0.1, size = 3.4, show.legend = FALSE) +
  scale_color_manual(values = cols_taux, name = "Seuil, en % de la médiane",
                     labels = ~ paste0(.x, " %")) +
  scale_x_continuous(breaks = seq(1975, 2025, 10), expand = expansion(mult = c(0.02, 0.2))) +
  theme_pauv() +
  labs(x = NULL, y = "Euros 2024 par mois",
       title = "Seuils de pauvreté à 40, 50, 60 et 70 % de la médiane",
       subtitle = "en euros 2024 constants, par mois")

Inflation : euros courants contre euros constants

Code
seuils |>
  filter(taux == 60) |>
  mutate(unite = fct_relevel(unite, "Euros courants")) |>
  ggplot(aes(x = year, y = value, color = unite, group = interaction(unite, segment))) +
  geom_line(linewidth = 1.2) +
  scale_color_manual(values = c("Euros courants" = bleu, "Euros 2024 constants" = rose), name = NULL) +
  scale_x_continuous(breaks = seq(1975, 2025, 10)) +
  theme_pauv() +
  labs(x = NULL, y = "Euros par mois",
       title = "L'essentiel de la hausse nominale du seuil est de l'inflation",
       subtitle = "seuil de pauvreté à 60 % : euros courants et euros 2024 constants")

Les seuils les plus récents (2024)

Code
seuils |>
  filter(year == max(year), annee_brut == as.character(max(year))) |>
  select(unite, seuil, value) |>
  pivot_wider(names_from = unite, values_from = value) |>
  mutate(across(-seuil, ~ format(.x, big.mark = " "))) |>
  print_table_conditional()
seuil Euros 2024 constants Euros courants
Seuil à 40 % 891 891
Seuil à 50 % 1 114 1 114
Seuil à 60 % 1 337 1 337
Seuil à 70 % 1 560 1 560

seuil

Code
`reve-pauv-seuil-mensuel` |>
  group_by(unite, seuil) |>
  summarise(Nobs = n(), .groups = "drop") |>
  arrange(unite, seuil) |>
  print_table_conditional()
unite seuil Nobs
Euros 2024 constants Seuil à 40 % 37
Euros 2024 constants Seuil à 50 % 37
Euros 2024 constants Seuil à 60 % 37
Euros 2024 constants Seuil à 70 % 37
Euros courants Seuil à 40 % 37
Euros courants Seuil à 50 % 37
Euros courants Seuil à 60 % 37
Euros courants Seuil à 70 % 37

date

Code
`reve-pauv-seuil-mensuel` |>
  group_by(year, annee_brut) |>
  summarise(Nobs = n(), .groups = "drop") |>
  arrange(desc(year), annee_brut) |>
  print_table_conditional()