Newer
Older
title: "Point d'actualité mensuel contrats aidés"
author: "DARES - Département insertion professionnelle"
date: "`r format(Sys.time(), '%d/%m/%Y')`"
output: html_document
params:
annee_iae: !r lubridate::year(lubridate::today()-months(3))
mois_iae: !r lubridate::month(lubridate::today()-months(3))
chemin_IAE: "./"
annee_cui: !r lubridate::year(lubridate::today()-months(2))
mois_cui: !r lubridate::month(lubridate::today()-months(2))
chemin_CUI: "./"
resume: "INSERER ICI LE RESUME DU MOIS"
<style>
p {
font-family: Arial, sans-serif;
}
h1 {
font-family: Arial, sans-serif;
}
h4 {
font-family: Arial, sans-serif;
}
</style>
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.width = 6, fig.height = 4)
library(dplyr)
library(tidyr)
library(openxlsx)
library(rmarkdown)
library(ggplot2)
library(lubridate)
library(plotly)
theme_set(theme_light())
theme_update(axis.title.x = element_blank(),
axis.title.y = element_blank(),
legend.title=element_blank(),
axis.text.x = element_text(angle = 45, hjust=1))
update_geom_defaults("line", list(size = 0.75))
d <- dmy(paste(1, params$mois_iae, params$annee_iae))-months(2)
d_m1 <- d-months(1)
d_a1 <- d-years(1)
d_cui <- dmy(paste(1, params$mois_cui, params$annee_cui))
d_cui_m1 <- d_cui-months(1)
d_cui_a1 <- d_cui-years(1)
# Mise en forme des chiffres : arrondis à la centaine et séparateur de milliers
mef <- function(x) {
y <- abs(round(x, digits = 1) * 1000)
y <- prettyNum(y, big.mark=" ")
mef_pourcent <- function(x) {
y <- paste0(prettyNum(y, decimal.mark = ","), " %")
return(y)
}
# + / - devant le chiffre suivant son signe
signe <- function(x) {
return(ifelse(x >= 0, "+", "-"))
NoteMens_IAE <- list()
NoteMens_IAE[["FE"]] <- read.xlsx(params$chemin_IAE, sheet = "NoteMens_FE")
NoteMens_IAE[["Jeune"]] <- read.xlsx(params$chemin_IAE, sheet = "NoteMens_Jeune")
totalFE_IAE <- NoteMens_IAE$FE %>%
summarise_at(vars(-Structure), sum)
totalJeune_IAE <- NoteMens_IAE$Jeune %>%
summarise_at(vars(-Structure), sum)
total_IAE <- bind_rows(
totalFE_IAE,
totalJeune_IAE
) %>%
mutate(across(everything(), round, 1))
Evol_Stock_a_IAE <- totalFE_IAE$Stock_m-totalFE_IAE$Stock_a_1
Evol_Stock_m_IAE <- totalFE_IAE$Stock_m-totalFE_IAE$Stock_m_1
colnames(total_IAE) <- c(
paste0(months(d_a1), " ", year(d_a1)),
paste0(months(d_m1), " ", year(d_m1)),
paste0(months(d), " ", year(d)),
"sur un an",
paste0("à fin ", months(d_a1), " " , year(d_a1)),
paste0("à fin ", months(d), " ", year(d)),
paste0(months(d_a1), " ", year(d_a1)),
paste0(months(d_m1), " ", year(d_m1)),
paste0(months(d), " ", year(d))
)
rownames(total_IAE) <- c("Ensemble de l'IAE", "Ensemble de l'IAE (moins de 26 ans)")
TdB <- read.xlsx(params$chemin_CUI, sheet = "TdB")
TdB_Jeunes <- read.xlsx(params$chemin_CUI, sheet = "TdB_Jeunes")
# On met le nom des indicateurs en nom de la ligne
row.names(TdB) <- TdB$Indicateur
row.names(TdB_Jeunes) <- TdB_Jeunes$Indicateur
# On enlève la colonne Indicateurs
TdB <- TdB[, -c(1)]
TdB_Jeunes <- TdB_Jeunes[, -c(1)]
# On ne sélectionne que les PEC et les CIE dans le tableau FE
TdB <- TdB[row.names(TdB) %in% c("PEC", "CUI-CIE"), ]
# On ajoute la somme par colonnes
TdB <- rbind(TdB, apply(TdB,2,sum))
rownames(TdB)[3] <- "Somme"
TdB_Jeunes <- rbind(TdB_Jeunes, apply(TdB_Jeunes,2,sum))
rownames(TdB_Jeunes)[3] <- "Somme"
TdB_fusion <- bind_rows(TdB, TdB_Jeunes) %>%
mutate(across(everything(), round, 1))
colnames(TdB_fusion) <- c(
paste0(months(d_cui_a1), " ", year(d_cui_a1)),
paste0(months(d_cui_m1), " ", year(d_cui_m1)),
paste0(months(d_cui), " ", year(d_cui)),
paste0("à fin ", months(d_cui_a1), " ", year(d_cui_a1)),
paste0("à fin ", months(d_cui) , " ", year(d_cui)),
paste0(months(d_cui_a1), " ", year(d_cui_a1)),
paste0(months(d_cui_m1), " ", year(d_cui_m1)),
paste0(months(d_cui), " ", year(d_cui))
)
rownames(TdB_fusion) <- c(
"PEC", "CUI-CIE", "Ensemble",
"PEC (moins de 26 ans)",
"CUI-CIE (moins de 26 ans)",
"Ensemble (moins de 26 ans)"
)
IAE_SL <- list(
FE = read.xlsx(params$chemin_IAE_SL, sheet = "IAE Red FE"),
Jeune = read.xlsx(params$chemin_IAE_SL, sheet = "IAE Red Jeune")
)
CUI_SL <- list(
FE = read.xlsx(params$chemin_CUI_SL, sheet = "Serie_Mensuelle_FE"),
Jeune = read.xlsx(params$chemin_CUI_SL, sheet = "Serie_Mensuelle_Jeunes")
)
Stock_FE_iae <- totalFE_IAE$Stock_m
Entree_FE_m_iae <- totalFE_IAE$Entree_m
Entree_Jeunes_m_iae <- totalJeune_IAE$Entree_m
## calcul des chiffres de la note mensuelle - CIE-CUI
Stock_FE_cui <- TdB["Somme", "Stock_m"]
Stock_FE_PEC <- TdB["PEC", "Stock_m"]
Stock_FE_CIE <- TdB["CUI-CIE", "Stock_m"]
Entree_FE_m_cui <- TdB["Somme", "Entree_m"]
Entree_FE_m_PEC <- TdB["PEC", "Entree_m"]
Entree_FE_m_CIE <- TdB["CUI-CIE", "Entree_m"]
Evol_Stock_m_cui <- TdB["Somme", "Stock_m"] - TdB["Somme", "Stock_m_1"]
Evol_Stock_a_cui <- TdB["Somme", "Stock_m"] - TdB["Somme", "Stock_a_1"]
Evol_Stock_m_PEC <- TdB["PEC", "Stock_m"] - TdB["PEC", "Stock_m_1"]
Evol_Stock_a_PEC <- TdB["PEC", "Stock_m"] - TdB["PEC", "Stock_a_1"]
Evol_Stock_m_CIE <- TdB["CUI-CIE", "Stock_m"] - TdB["CUI-CIE", "Stock_m_1"]
Evol_Stock_a_CIE <- TdB["CUI-CIE", "Stock_m"] - TdB["CUI-CIE", "Stock_a_1"]
Entree_Jeunes_m_cui <- TdB_Jeunes["Somme", "Entree_m"]
Entree_Jeunes_m_PEC <- TdB_Jeunes["PEC", "Entree_m"]
Entree_Jeunes_m_CIE <- TdB_Jeunes["CUI-CIE", "Entree_m"]
Audrey Farges
committed
Bonjour,
Vous trouverez ci-dessous le point d’actualité mensuel sur les effectifs en contrats aidés en `r months(d_cui)` `r year(d_cui)` et en insertion par l’activité économique en `r months(d)` `r year(d)`. Pour mémoire, ce point est établi à partir des données de l’ASP, redressées pour tenir compte des délais de remontée d'informations par les employeurs. Toutes les données détaillées, ainsi que le champ et les sources, sont présentés dans le fichier excel ci-joint.
Le nombre de personnes entrées en **contrats aidés** en `r months(d_cui)` `r year(d_cui)` s'élèverait à `r mef(Entree_FE_m_cui)`, dont `r mef(Entree_FE_m_PEC)` en PEC et `r mef(Entree_FE_m_CIE)` en CUI-CIE.
Le nombre total de bénéficiaires à la fin `r months(d_cui)` `r year(d_cui)` serait de `r mef(Stock_FE_cui)` (`r signe(Evol_Stock_m_cui)``r mef(Evol_Stock_m_cui)` sur un mois et `r signe(Evol_Stock_a_cui)``r mef(Evol_Stock_a_cui)` sur un an), dont `r mef(Stock_FE_PEC)` en PEC (`r signe(Evol_Stock_m_PEC)``r mef(Evol_Stock_m_PEC)` sur un mois et `r signe(Evol_Stock_a_PEC)``r mef(Evol_Stock_a_PEC)` sur un an) et `r mef(Stock_FE_CIE)` en CUI-CIE (`r signe(Evol_Stock_m_CIE)``r mef(Evol_Stock_m_CIE)` sur un mois et `r signe(Evol_Stock_a_CIE)``r mef(Evol_Stock_a_CIE)` sur un an).
```{r echo=FALSE}
CUI_SL$FE %>%
mutate(date = as_date(convertToDate(Mois))) %>%
filter(year(date) >= annee_cui-2 & date <= d_cui) %>%
pivot_longer(c(CIE_EntreeRec, PEC_EntreeRec)) %>%
mutate(Dispositif = factor(
ifelse(name=="PEC_EntreeRec", "PEC", "CUI-CIE"),
levels = c("PEC", "CUI-CIE"), ordered = TRUE)) %>%
mutate(
Année = fct_rev(as.factor(year(date))),
Mois = factor(
months(date), ordered = TRUE,
levels = map_chr(months(0:11), ~months(as_date(.)))
)
) %>%
ggplot(aes(Mois, value, col=Année, group=Année)) +
geom_line(aes(linetype=Année)) +
coord_cartesian(ylim = c(0, NA), clip = 'off') +
geom_point(data=~filter(., date==d_cui), show.legend = FALSE) +
geom_label(
aes(label = round(value,-2)), data=~filter(., date==d_cui),
hjust=-0.1, show.legend = FALSE
) +
facet_wrap(~Dispositif) +
scale_linetype_manual(values=c("solid", "22", "41")) +
scale_colour_brewer(palette="Dark2") +
labs(
title = "Nombre d'entrées mensuelles en contrats aidés",
caption = "Champ : France. Source : Agence de services et de paiement (ASP)"
)
Le nombre de personnes entrées en **insertion par l'activité économique** en `r months(d)` `r year(d)` s'élèverait à `r mef(Entree_FE_m_iae)`, pour un total de `r mef(Stock_FE_iae)` bénéficiaires à la fin `r months(d)` `r year(d)` (`r signe(Evol_Stock_m_IAE)``r mef(Evol_Stock_m_IAE)` sur un mois et `r signe(Evol_Stock_a_IAE)``r mef(Evol_Stock_a_IAE)` sur un an).
```{r echo=FALSE}
IAE_SL$FE %>%
mutate(date = as_date(convertToDate(Mois))) %>%
filter(year(date) >= annee_cui-2 & date <= d) %>%
mutate(entrees = EntreeRec_ACI+EntreeRec_EI+entree_AI+entree_ETTI+entree_EITI) %>%
Année = fct_rev(as.factor(year(date))),
Mois = factor(
months(date), ordered = TRUE,
levels = map_chr(months(0:11), ~months(as_date(.)))
)
) %>%
ggplot(aes(Mois, entrees, col=Année, group=Année)) +
geom_line(aes(linetype=Année)) +
coord_cartesian(ylim = c(0, NA), clip = 'off') +
geom_point(data=~filter(., date==d), show.legend = FALSE) +
geom_label(aes(label = round(entrees,-2)), data=~filter(., date==d), hjust=-0.1, show.legend = FALSE) +
scale_linetype_manual(values=c("solid", "22", "41")) +
scale_colour_brewer(palette="Dark2") +
labs(
title = "Nombre d'entrées mensuelles en insertion par l'activité économique",
caption = "Champ : France. Source : Agence de services et de paiement (ASP)"
)
`r mef(Entree_Jeunes_m_PEC)` jeunes de moins de 26 ans seraient entrés en **PEC** en `r months(d_cui)` `r year(d_cui)`, soit `r mef_pourcent(Entree_Jeunes_m_PEC/Entree_FE_m_PEC)` des entrées totales. `r mef(Entree_Jeunes_m_CIE)` jeunes de moins de 26 ans seraient entrés en **CUI-CIE** en `r months(d_cui)` `r year(d_cui)`, soit `r mef_pourcent(Entree_Jeunes_m_CIE/Entree_FE_m_CIE)` des entrées totales. Le nombre de jeunes bénéficiaires de contrats aidés s'élèverait à `r mef(TdB_Jeunes["Somme", "Stock_m"])` fin `r months(d_cui)`.
`r mef(Entree_Jeunes_m_iae)` jeunes de moins de 26 ans seraient entrés en **insertion par l'activité économique** en `r months(d)` `r year(d)`, soit `r mef_pourcent(Entree_Jeunes_m_iae/Entree_FE_m_iae)` des entrées totales. Le nombre de jeunes bénéficiaires s’élèverait à `r mef(totalJeune_IAE$Stock_m)` fin `r months(d)`.
### Tableaux récapitulatifs
#### Contrats aidés (en milliers de personnes)
```{r echo=FALSE}
kable(TdB_fusion, row.names = TRUE, format.args = list(decimal.mark = ',')) %>%
kable_styling(c("bordered", "striped")) %>%
add_header_above(
c("", "Entrées mensuelles" = 3, "Entrées cumulées" = 2, "Stock en fin de mois" = 3)
```
#### Insertion par l'activité économique (en milliers de personnes)
```{r echo=FALSE}
kable(total_IAE, row.names = TRUE, format.args = list(decimal.mark = ',')) %>%
kable_styling(c("bordered", "striped")) %>%
c("", "Entrées mensuelles" = 3, "Entrées cumulées" = 3, "Stock en fin de mois" = 3)
_Note :_ les proportions sont calculées avec les chiffres non arrondis et peuvent donc différer du calcul avec les chiffres affichés.