Indices trimestriels de salaires dans le secteur privé

Data - INSEE

Info

source dataset .html .RData
insee SALAIRES-ACEMO 2025-05-18 2025-05-24
insee SALAIRES-ACEMO-2017 2025-05-18 2025-05-24

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-18 2025-05-24
insee SALAIRES-ACEMO-2017 2025-05-18 2025-05-24
insee SALAIRES-ANNUELS 2025-05-18 2025-05-24
insee t_7401 2025-05-18 2024-10-18
insee t_salaire_val 2025-05-18 2025-03-22

LAST_UPDATE

Code
`SALAIRES-ACEMO-2017` %>%
  group_by(LAST_UPDATE) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
LAST_UPDATE Nobs
2025-03-21 3995

LAST_COMPILE

LAST_COMPILE
2025-05-24

Last

Code
`SALAIRES-ACEMO-2017` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  head(1) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2024-Q4 129

First

Code
`SALAIRES-ACEMO-2017` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  tail(1) %>%
  print_table_conditional()
TIME_PERIOD Nobs
2017-Q2 128

Définitions

  • ACEMO: Activité et Conditions d’Emploi de la Main-d’Oeuvre. pdf

  • Le salaire mensuel de base (SMB) correspond au salaire brut avant déduction des cotisations sociales et avant versement des prestations sociales. Il ne comprend ni les primes ni les heures supplémentaires. Son montant correspond généralement à celui de la première ligne du bulletin de paye d’un salarié.

SMPT vs SMB

Code
ig_b("insee", "ndc-octobre-2021", "salaires")

Code
ig_b("insee", "ndc-octobre-2021", "salaires-evolution")

TITLE_FR

Code
`SALAIRES-ACEMO-2017` %>%
  group_by(IDBANK, TITLE_FR) %>%
  summarise(Nobs = n(),
            date1 = first(TIME_PERIOD),
            date2 = last(TIME_PERIOD)) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

INDICATEURS_ACEMO

Code
`SALAIRES-ACEMO-2017` %>%
  left_join(INDICATEURS_ACEMO, by = "INDICATEURS_ACEMO") %>%
  group_by(INDICATEURS_ACEMO, Indicateurs_acemo) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
INDICATEURS_ACEMO Indicateurs_acemo Nobs
ISMS Indice des salaires mensuels de base 1453
ITSHO Indice des taux de salaire horaire des ouvrier 1271
ITSHOE Indice des taux de salaire horaire des ouvriers et des employé 1271

NATURE

Code
`SALAIRES-ACEMO-2017` %>%
  left_join(NATURE, by = "NATURE") %>%
  group_by(NATURE, Nature) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()
NATURE Nature Nobs
INDICE Indice 3968
GLISSEMENT_ANNUEL Glissement annuel 27

NAF2

Code
`SALAIRES-ACEMO-2017` %>%
  left_join(NAF2, by = "NAF2") %>%
  group_by(NAF2, Naf2) %>%
  summarise(Nobs = n()) %>%
  arrange(-Nobs) %>%
  print_table_conditional()

TIME_PERIOD

Code
`SALAIRES-ACEMO-2017` %>%
  group_by(TIME_PERIOD) %>%
  summarise(Nobs = n()) %>%
  arrange(desc(TIME_PERIOD)) %>%
  print_table_conditional()

Ensemble des secteurs non agricoles

ACEMO, ACEMO-2017

Join

Code
`SALAIRES-ACEMO-2017` %>%
  bind_rows(`SALAIRES-ACEMO`) %>%
  filter(NAF2 == "ENS_H_AZ",
         NATURE == "INDICE",
         INDICATEURS_ACEMO == "ISMS") %>%
  quarter_to_date %>%
  arrange(date) %>%
  left_join(INDICATEURS_ACEMO, by = "INDICATEURS_ACEMO") %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ggplot(.) + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE, color = REF_AREA)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.8)) +
  scale_x_date(breaks = seq(1950, 2100, 2) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 200, 5))

Base 1999 = 100

Code
`SALAIRES-ACEMO-2017` %>%
  bind_rows(`SALAIRES-ACEMO`) %>%
  filter(NAF2 == "ENS_H_AZ",
         NATURE == "INDICE",
         INDICATEURS_ACEMO == "ISMS") %>%
  quarter_to_date %>%
  arrange(date) %>%
  left_join(INDICATEURS_ACEMO, by = "INDICATEURS_ACEMO") %>%
  group_by(REF_AREA) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ungroup %>%
  filter(date >= as.Date("1999-01-01")) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("1999-01-01")]) %>%
  ggplot(.) + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE, color = REF_AREA)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.8)) +
  scale_x_date(breaks = seq(1999, 2100, 5) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(10, 200, 5))

All

Code
`SALAIRES-ACEMO-2017` %>%
  filter(NAF2 == "ENS_H_AZ",
         NATURE == "INDICE") %>%
  quarter_to_date %>%
  arrange(date) %>%
  left_join(INDICATEURS_ACEMO, by = "INDICATEURS_ACEMO") %>%
  group_by(Indicateurs_acemo) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ggplot(.) + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE, color = Indicateurs_acemo)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.8)) +
  scale_x_date(breaks = seq(1950, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 200, 1))

Matériel de transport

All

Code
`SALAIRES-ACEMO-2017` %>%
  filter(NAF2 == "A17-C4",
         NATURE == "INDICE") %>%
  quarter_to_date %>%
  arrange(date) %>%
  left_join(INDICATEURS_ACEMO, by = "INDICATEURS_ACEMO") %>%
  group_by(Indicateurs_acemo) %>%
  mutate(OBS_VALUE = 100*OBS_VALUE/OBS_VALUE[date == as.Date("2017-04-01")]) %>%
  ggplot(.) + theme_minimal() + ylab("") + xlab("") +
  geom_line(aes(x = date, y = OBS_VALUE, color = Indicateurs_acemo)) +
  theme(legend.title = element_blank(),
        legend.position = c(0.3, 0.8)) +
  scale_x_date(breaks = seq(1950, 2100, 1) %>% paste0("-01-01") %>% as.Date,
               labels = date_format("%Y")) +
  scale_y_log10(breaks = seq(100, 200, 1))