Last observation: janv. 2021 (N = 388)
First observation: janv. 2021 (N = 388)
Last data update: 01 oct. 2026, 23:04
Last compile: 01 oct. 2026, 23:08
Source : DSED, ministère de l’Intérieur, d’après l’Enquête emploi en continu 2021 de l’Insee : « Le déclassement des actifs occupés : un immigré sur trois occupe un emploi d’un niveau inférieur à celui de ses diplômes ». Champ : France (hors Mayotte), actifs occupés de 15 ans ou plus ayant au moins le diplôme du brevet des collèges et ayant fini leurs études. Un actif occupé est déclassé s’il occupe un emploi d’un niveau inférieur à celui de son diplôme. Colonne figure : Figure 1 à Figure 4, Encadré 1 (répartition en % par classe d’âge variable, catégorie socio-professionnelle modalite et diplôme groupe), Encadré 2 (rapports de chances, signif : seuil de significativité) et Données complémentaires.
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Figure 1") |>
mutate(modalite = fct_reorder(modalite, value)) |>
ggplot(aes(x = modalite, y = value)) +
geom_col(fill = "#2166ac") + coord_flip() + theme_minimal() +
xlab("") + ylab("Taux de déclassement des actifs occupés, 2021") +
scale_y_continuous(labels = percent_format(accuracy = 1))
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Figure 2", groupe %in% c("Nés en France", "Immigrés"), modalite != "Ensemble") |>
mutate(modalite = fct_reorder(str_trunc(modalite, 45), value, .fun = max),
variable = str_remove(variable, " \\(\\*\\)")) |>
ggplot(aes(x = value, y = modalite, color = groupe)) +
geom_line(aes(group = modalite), color = "grey70") +
geom_point(size = 2) +
facet_grid(variable ~ ., scales = "free_y", space = "free_y", labeller = label_wrap_gen(15)) +
theme_minimal() + xlab("Taux de déclassement, 2021") + ylab("") +
scale_x_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = "bottom", legend.title = element_blank(), strip.text.y = element_text(angle = 0))
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Figure 2", groupe %in% c("Immigrés UE", "Immigrés non UE"), variable %in% c("Genre", "Secteur d'activité")) |>
mutate(modalite = fct_reorder(str_trunc(modalite, 45), value, .fun = max)) |>
ggplot(aes(x = value, y = modalite, color = groupe)) +
geom_point(size = 2) + theme_minimal() + xlab("Taux de déclassement, 2021") + ylab("") +
scale_x_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = "bottom", legend.title = element_blank())
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Figure 3") |>
mutate(modalite = fct_reorder(str_trunc(modalite, 60), value)) |>
ggplot(aes(x = value, y = modalite, color = variable)) +
geom_point(size = 2) + theme_minimal() + xlab("Taux de déclassement des immigrés, 2021") + ylab("") +
scale_x_continuous(labels = percent_format(accuracy = 1), limits = c(0, NA)) +
theme(legend.position = "bottom", legend.title = element_blank()) +
guides(color = guide_legend(nrow = 4))
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Données complémentaires", variable %in% c("Pays de naissance", "Nationalité")) |>
mutate(modalite = fct_reorder(modalite, value)) |>
ggplot(aes(x = modalite, y = value, fill = variable)) +
geom_col() + coord_flip() + theme_minimal() + xlab("") +
ylab("Taux de déclassement des immigrés, 2021") +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = "bottom", legend.title = element_blank())
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Figure 4") |>
mutate(modalite = fct_reorder(modalite, value, .fun = max)) |>
ggplot(aes(x = modalite, y = value, fill = groupe)) +
geom_col(position = "dodge") + coord_flip() + theme_minimal() + xlab("") +
ylab("Répartition des actifs occupés déclassés selon la spécialité de leur diplôme") +
scale_y_continuous(labels = percent_format(accuracy = 1)) +
theme(legend.position = "bottom", legend.title = element_blank())
Rapport de chances d’être déclassé, immigrés par rapport aux personnes nées en France (valeur supérieure à 1 : les immigrés ont plus de risques d’être déclassés), toutes choses égales par ailleurs. Les points pleins sont significativement différents de 1 (seuil de 10 %).
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Encadré 2", modalite != "Ensemble", value > 1e-6) |>
mutate(modalite = fct_reorder(str_trunc(paste0(variable, " : ", modalite), 60), value),
significatif = signif != "n.s") |>
ggplot(aes(x = value, y = modalite, shape = significatif, color = significatif)) +
geom_vline(xintercept = 1, linetype = "dashed") +
geom_point(size = 2) + theme_minimal() + xlab("Rapport de chances") + ylab("") +
scale_shape_manual(values = c(`TRUE` = 16, `FALSE` = 1)) +
scale_color_manual(values = c(`TRUE` = "#2166ac", `FALSE` = "grey50")) +
theme(legend.position = "none", axis.text.y = element_text(size = 7))
Répartition (%) des actifs occupés par diplôme, pour chaque catégorie socio-professionnelle et classe d’âge.
`le-declassement-des-actifs-occupes-immigres` |>
filter(figure == "Encadré 1") |>
mutate(groupe = fct_inorder(str_wrap(groupe, 18)),
modalite = fct_rev(fct_inorder(str_trunc(modalite, 50)))) |>
ggplot(aes(x = groupe, y = modalite, fill = value)) +
geom_tile(color = "white") +
geom_text(aes(label = percent(value, accuracy = 1)), size = 2.5) +
facet_wrap(~ variable, ncol = 1) +
scale_fill_gradient(low = "white", high = "#2166ac", labels = percent_format()) +
theme_minimal() + xlab("") + ylab("") + theme(legend.position = "none", axis.text.x = element_text(size = 7))