Salaire moyen par tête - SMPT (données CVS)

Data - Insee

Info

source dataset .html .RData
insee IPC-2015 2025-05-24 2025-05-24
insee IPCH-2015 2025-05-24 2025-05-24
insee t_salaire_val 2025-05-24 2025-05-28

Données sur les salaires

source dataset .html .RData
dares les-indices-de-salaire-de-base 2025-01-17 2024-12-15
insee CNA-2014-RDB 2025-05-24 2025-05-24
insee CNT-2014-CSI 2025-05-24 2025-05-24
insee ECRT2023 2025-05-24 2023-06-30
insee if230 2025-05-24 2021-12-04
insee INDICE-TRAITEMENT-FP 2025-05-24 2025-05-24
insee ir_salaires_SL_23_csv 2025-05-24 NA
insee ir_salaires_SL_csv 2025-05-24 NA
insee SALAIRES-ACEMO 2025-05-24 2025-05-24
insee SALAIRES-ACEMO-2017 2025-05-24 2025-05-24
insee SALAIRES-ANNUELS 2025-05-24 2025-05-24
insee t_7401 2025-05-24 2024-10-18
insee t_salaire_val 2025-05-24 2025-05-28

Structure

  • Comptes nationaux trimestriels au troisième trimestre 2023. html

  • Salaires. xls

  • Comptes de branches. html

  • PIB et ses composantes. html

  • Secteurs et ses composantes. html

Bibliographie

Français

  • “Mesurer”le” pouvoir d’achat”, F. Geerolf, Document de travail, Juillet 2024. [pdf]

  • “Inflation en France: IPC ou IPCH ?”, F. Geerolf, Document de travail, Juillet 2024. [pdf]

  • “La taxe inflationniste, le pouvoir d’achat, le taux d’épargne et le déficit public”, F. Geerolf, Document de travail, Juillet 2024. [pdf]

variable

Code
t_salaire_val %>%
  group_by(variable) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional
variable Nobs
(DE) à (C5) 305
(DE) à (MN), (RU) 305
(GZ) à (MN), (RU) 305
AZ 305
C 305
C1 305
C2 305
C3 305
C4 305
C5 305
DE 305
FZ 305
GZ 305
HZ 305
IZ 305
JZ 305
KZ 305
LZ 305
MN 305
OQ 305
RU 305
TOTAL 305

date

Code
t_salaire_val %>%
  group_by(date) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(date)) %>%
  print_table_conditional()

2021, Trimestre 3

Code
t_salaire_val %>%
  filter(date %in% c(as.Date("2023-01-01"), as.Date("2011-07-01"))) %>%
  spread(date, value) %>%
  mutate(evolution = 100*((`2023-01-01`/`2011-07-01`)^(1/10)-1)) %>%
  arrange(-`2023-01-01`) %>%
  print_table_conditional()
variable 2011-07-01 2023-01-01 evolution
JZ 12600.39 16507.55 2.7377058
C2 13346.46 15132.91 1.2641300
C4 11463.00 15024.41 2.7424490
KZ 11149.55 14808.45 2.8786428
C3 10573.18 12640.67 1.8020320
DE 10227.33 12166.89 1.7517134
LZ 10000.27 11792.02 1.6617656
C5 9069.15 11270.08 2.1965045
(DE) à (C5) 9035.44 11107.25 2.0858911
MN 8808.87 11045.24 2.2881904
C 8917.99 10992.63 2.1135707
FZ 8486.48 10510.05 2.1616078
(DE) à (MN), (RU) 8410.80 10480.01 2.2238984
(GZ) à (MN), (RU) 8249.73 10346.04 2.2900620
TOTAL 7851.70 9811.13 2.2528763
HZ 8201.26 9434.87 1.4111095
GZ 7305.34 9091.31 2.2112274
OQ 6745.82 8473.12 2.3059425
C1 6521.98 8209.90 2.3283192
RU 6267.76 7685.82 2.0605220
IZ 5848.47 7152.92 2.0338115
AZ 6218.48 5966.77 -0.4123451

Valeurs en Euros

KZ, JZ, C4

All

Code
t_salaire_val %>%
  filter(variable %in% c("KZ", "JZ", "C4")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("KZ", "JZ", "C4"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
t_salaire_val %>%
  filter(variable %in% c("KZ", "JZ", "C4"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-04-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

C2, C3, C4, C5

All

Code
t_salaire_val %>%
  filter(variable %in% c("C2", "C3", "C4", "C5")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("C2", "C3", "C4", "C5"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
t_salaire_val %>%
  filter(variable %in% c("C2", "C3", "C4", "C5"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-04-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

Agriculture, Industrie, Total

Value

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  ggplot() + ylab("Salaire moyen par tête - SMPT") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = 1000*seq(1, 300, 1),
                     labels = dollar_format(accuracy = 1, su = "€", pre = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1996-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("1996-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 10),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2012-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2012-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2012-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2017-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2017-04-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2019T4-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2019-10-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2019-10-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T3-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2021-07-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr()

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T4-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "AZ", "C"),
         date >= as.Date("2021-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr()

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 1),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

Services Marchands, Total, Non Marchands

1990-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("1990-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1990-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 5),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

1996-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("1996-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("1996-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 5),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2012-

Code
t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2012-01-01")) %>%
  group_by(variable) %>%
  mutate(value = 100*value/value[date == as.Date("2012-01-01")]) %>%
  ggplot() + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_date(breaks = seq(1920, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank()) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2017-01-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2017T2-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2017-04-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.5)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2019T4-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2019-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T2-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2021-04-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T3-

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2021-07-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))

2021T4-

Nominal

Code
df <- t_salaire_val %>%
  filter(variable %in% c("TOTAL", "OQ", "(GZ) à (MN), (RU)"),
         date >= as.Date("2021-10-01")) %>%
  group_by(variable) %>%
  arrange(date) %>%
  mutate(value = 100*value/value[1]) %>%
  date_to_yearqtr %>%
  ungroup

ggplot(data = df) + ylab("") + xlab("") + theme_minimal() +
  geom_line(aes(x = date, y = value, color = variable)) +
  scale_x_yearqtr(labels = date_format("%Y T%q"),
                  breaks = seq(from = min(df$date), to = max(df$date), by = 0.25)) +
  theme(legend.position = c(0.7, 0.2),
        legend.title = element_blank(),
        axis.text.x = element_text(angle = 45, vjust = 1, hjust = 1)) +
  scale_y_log10(breaks = seq(10, 300, 2),
                     labels = dollar_format(accuracy = 1, prefix = "")) +
  geom_label_repel(data = . %>% filter(date == max(date)),
             aes(x = date, y = value, color = variable, label = round(value, 1)))