Insertion professionnelle des diplômés des établissements d’enseignement supérieur (InserSup) - fr-esr-insersup

Données - SIES

Source : SIES, data.enseignementsup-recherche.gouv.fr. Base InserSup (SIES) : insertion dans l’emploi salarié des diplômés de licence, licence professionnelle, master et ingénieur, par mention, établissement, sexe, nationalité et régime d’inscription.

Insertion professionnelle des diplômés

Insertion des diplômés de l’enseignement supérieur dans l’emploi salarié en France, 6 à 30 mois après l’obtention du diplôme, d’après les déclarations sociales (DSN). Les séries ci-dessous sont des moyennes pondérées par le nombre de sortants des valeurs par mention de diplôme (promotions simples, diplômés, ensemble des régimes d’inscription et nationalités). Les salaires sont des salaires mensuels nets médians en équivalent temps plein (salaire_q2_*) ; nd : non disponible. Les salaires à 12 mois ne sont disponibles que pour les promotions 2020 à 2022. Les doublons entre établissements pour une même mention (certaines écoles d’ingénieurs) sont conservés.

Taux d’emploi salarié en France, 12 mois après le diplôme

Code
nat_ens |>
  group_by(type_diplome_long, promo) |>
  summarise(taux = wm(tx_sortants_en_emploi_sal_fr_12, nb_sortants_12), n = sum(nb_sortants_12), .groups = "drop") |>
  filter(n > 3000) |>
  mutate(date = as.Date(paste0(promo, "-01-01")), type_diplome_long = str_wrap(type_diplome_long, 30)) |>
  ggplot(aes(x = date, y = taux / 100, color = type_diplome_long)) +
  geom_line() + geom_point(size = 0.8) + theme_minimal() + xlab("Promotion") +
  ylab("Part en emploi salarié en France à 12 mois") +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
  theme(legend.position = "bottom", legend.title = element_blank()) + guides(color = guide_legend(nrow = 4))

Salaire mensuel net médian à 12 mois

Code
nat_ens |>
  group_by(type_diplome_long, promo) |>
  summarise(sal = wm(salaire_q2_12, nb_sortants_12), n = sum(nb_sortants_12), .groups = "drop") |>
  filter(n > 3000) |>
  mutate(date = as.Date(paste0(promo, "-01-01")), type_diplome_long = str_wrap(type_diplome_long, 30)) |>
  ggplot(aes(x = date, y = sal, color = type_diplome_long)) +
  geom_line() + geom_point(size = 0.8) + theme_minimal() + xlab("Promotion") +
  ylab("Euros par mois (net, médiane, ETP)") + scale_y_continuous(labels = fr) +
  scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
  theme(legend.position = "bottom", legend.title = element_blank()) + guides(color = guide_legend(nrow = 4))

Salaire à 30 mois, promotion 2021

Code
nat_ens |>
  filter(promo == "2021") |>
  group_by(type_diplome_long) |>
  summarise(`12 mois` = wm(salaire_q2_12, nb_sortants_12), `30 mois` = wm(salaire_q2_30, nb_sortants_30), n = sum(nb_sortants_12)) |>
  filter(n > 3000) |>
  pivot_longer(c(`12 mois`, `30 mois`)) |>
  mutate(type_diplome_long = fct_reorder(str_wrap(type_diplome_long, 35), value, .fun = max)) |>
  ggplot(aes(x = type_diplome_long, y = value, fill = name)) +
  geom_col(position = "dodge") + coord_flip() + theme_minimal() + xlab("") + ylab("Euros par mois (net, médiane)") +
  theme(legend.position = "bottom", legend.title = element_blank())

Écart entre femmes et hommes (masters LMD)

Code
nat |>
  filter(type_diplome_long == "Master LMD", genre %in% c("femme", "homme")) |>
  group_by(genre, promo) |>
  summarise(sal = wm(salaire_q2_12, nb_sortants_12), emploi = wm(tx_sortants_en_emploi_sal_fr_12, nb_sortants_12), .groups = "drop") |>
  pivot_longer(c(sal, emploi), names_to = "indicateur", values_to = "value") |>
  mutate(indicateur = recode(indicateur, sal = "Salaire mensuel net médian à 12 mois (€)", emploi = "Taux d'emploi salarié à 12 mois (%)"),
         date = as.Date(paste0(promo, "-01-01"))) |>
  ggplot(aes(x = date, y = value, color = genre)) +
  geom_line() + geom_point(size = 0.8) + facet_wrap(~ indicateur, scales = "free_y") +
  theme_minimal() + xlab("Promotion") + ylab("") +
  scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
  theme(legend.position = "bottom", legend.title = element_blank())

Masters : salaire à 30 mois par mention (promotion 2021)

Les 12 mentions les moins bien et les mieux rémunérées parmi celles qui comptent au moins 200 sortants.

Code
nat_ens |>
  filter(promo == "2021", type_diplome_long == "Master LMD", nb_sortants_30 >= 200, !is.na(salaire_q2_30)) |>
  mutate(libelle_diplome = str_trunc(str_to_sentence(libelle_diplome), 45)) |>
  arrange(salaire_q2_30) |>
  slice(c(1:12, (n() - 11):n())) |>
  mutate(libelle_diplome = fct_inorder(libelle_diplome)) |>
  ggplot(aes(x = libelle_diplome, y = salaire_q2_30)) +
  geom_col(fill = "#2166ac") + coord_flip() + theme_minimal() + xlab("") +
  ylab("Salaire mensuel net médian à 30 mois (€)")

Apprentissage et formation initiale

Code
`fr-esr-insersup` |>
  filter(uo_lib == "National", dom_lib == "Tous domaines disciplinaires", discipli_lib == "Toutes disciplines",
         sectdis_lib == "Tous secteurs disciplinaires", source == "insersup", obtention_diplome == "diplômé",
         nationalite == "ensemble", genre == "ensemble", !str_detect(promo, ","),
         type_diplome_long %in% c("Master LMD", "Licence professionnelle"), regime_inscription %in% c("ensemble", "apprentissage")) |>
  group_by(type_diplome_long, regime_inscription, promo) |>
  summarise(emploi = wm(tx_sortants_en_emploi_sal_fr_12, nb_sortants_12), .groups = "drop") |>
  mutate(date = as.Date(paste0(promo, "-01-01"))) |>
  ggplot(aes(x = date, y = emploi / 100, color = regime_inscription, linetype = type_diplome_long)) +
  geom_line() + theme_minimal() + xlab("Promotion") + ylab("Part en emploi salarié en France à 12 mois") +
  scale_y_continuous(labels = percent_format(accuracy = 1)) +
  scale_x_date(date_breaks = "1 year", labels = date_format("%Y")) +
  theme(legend.position = "bottom", legend.title = element_blank())