Traitement indiciaire de la fonction publique - FT6.2-SL_Traitement_indiciaire

Données - DGAFP

Valeur du point d’indice depuis 1996

Code
point_indice |>
  ggplot(aes(x = annee, y = valeur_indice_100_euros)) +
  geom_line(linewidth = 1, color = "#1B3F8B") +
  geom_point() +
  theme_minimal(base_size = 11) +
  labs(x = NULL, y = "€ (valeur de 100 points)",
       title = "Valeur du point d'indice de la fonction publique",
       subtitle = "à la dernière revalorisation de chaque année, depuis 1996") +
  theme(panel.grid.minor = element_blank())

Code
# Même principe que data/ipp/indicefp.qmd : comparer l'évolution du point
# d'indice réel selon qu'on le déflate par l'IPC (convention Insee, "euros
# constants") ou par l'IPCH (Eurostat), indexée à 100 en 1996.
point_indice |>
  left_join(ipc_ipch, by = "annee") |>
  transmute(annee,
            `Point d'indice réel (IPC, Insee)` = valeur_indice_100_euros / IPC,
            `Point d'indice réel (IPCH, Eurostat)` = valeur_indice_100_euros / IPCH) |>
  pivot_longer(-annee, names_to = "deflateur", values_to = "valeur") |>
  group_by(deflateur) |>
  mutate(valeur = 100 * valeur / valeur[1]) |>
  ungroup() |>
  ggplot(aes(x = annee, y = valeur, color = deflateur)) +
  geom_line(linewidth = 1) +
  geom_point() +
  scale_color_manual(values = colors_fp, name = NULL) +
  theme_minimal(base_size = 11) +
  labs(x = NULL, y = "Base 100 en 1996",
       title = "Valeur réelle du point d'indice depuis 1996",
       subtitle = "selon le déflateur utilisé, comme dans data/ipp/indicefp.qmd") +
  theme(legend.position = "bottom", panel.grid.minor = element_blank())

Minimum de traitement de la fonction publique et Smic

Code
smic |>
  filter(serie %in% c("Salaire minimum interprofessionnel de croissance (Smic) - Montant mensuel brut (en euros)",
                       "Minimum de traitement de la fonction publique hors indemnité différentielle - Montant mensuel brut (en euros)",
                       "Minimum de traitement de la fonction publique y compris indemnité différentielle - Montant mensuel brut (en euros)")) |>
  mutate(serie = recode(serie,
                         "Salaire minimum interprofessionnel de croissance (Smic) - Montant mensuel brut (en euros)" = "Smic",
                         "Minimum de traitement de la fonction publique hors indemnité différentielle - Montant mensuel brut (en euros)" = "Minimum FP (hors indemnité différentielle)",
                         "Minimum de traitement de la fonction publique y compris indemnité différentielle - Montant mensuel brut (en euros)" = "Minimum FP (y compris indemnité différentielle)"),
         date = parse_date_fr(date)) |>
  filter(!is.na(date)) |>
  ggplot(aes(x = date, y = valeur, color = serie)) +
  geom_step(linewidth = 1) +
  scale_color_brewer(palette = "Set1", name = NULL) +
  theme_minimal(base_size = 10) +
  labs(x = NULL, y = "€ par mois (brut)",
       title = "Minimum de traitement de la fonction publique vs. Smic",
       subtitle = "montant mensuel brut, depuis 1985") +
  theme(legend.position = "bottom", panel.grid.minor = element_blank()) +
  guides(color = guide_legend(ncol = 1))

Code
smic |>
  filter(str_ends(serie, "Indice majoré")) |>
  mutate(date = parse_date_fr(date),
         serie = str_remove(serie, " - Indice majoré")) |>
  filter(!is.na(date)) |>
  ggplot(aes(x = date, y = valeur, color = serie)) +
  geom_step(linewidth = 1) +
  scale_color_brewer(palette = "Set1", name = NULL) +
  theme_minimal(base_size = 10) +
  labs(x = NULL, y = "Indice majoré",
       title = "Indice majoré du minimum de traitement de la fonction publique",
       subtitle = "depuis 1985") +
  theme(legend.position = "bottom", panel.grid.minor = element_blank())

Traitements indiciaires caractéristiques (2015-2021)

Code
carac |>
  filter(indicateur == "Traitement mensuel brut") |>
  mutate(niveau = fct_reorder(niveau, valeur, .fun = max)) |>
  ggplot(aes(x = annee, y = valeur, color = niveau)) +
  geom_line(linewidth = 1) +
  scale_color_brewer(palette = "Set2", name = NULL) +
  theme_minimal(base_size = 10) +
  labs(x = NULL, y = "€ par mois (brut)",
       title = "Traitements indiciaires caractéristiques de la fonction publique",
       subtitle = "2015-2021") +
  theme(legend.position = "bottom", panel.grid.minor = element_blank()) +
  guides(color = guide_legend(ncol = 1))

Retenue pour pension civile

Code
retenue |>
  ggplot(aes(x = annee, y = valeur / 100)) +
  geom_line(linewidth = 1, color = "#1B3F8B") +
  geom_point() +
  scale_y_continuous(labels = scales::percent_format(accuracy = 0.1)) +
  theme_minimal(base_size = 12) +
  labs(x = NULL, y = NULL,
       title = "Taux de retenue pour pension civile",
       subtitle = "en % du traitement brut, 2009-2015") +
  theme(panel.grid.minor = element_blank())