Newer
Older
title: "Point d'actualité mensuel sur les contrats aidés"
author: "Dares - Département de l'insertion professionnelle"
date: "`r format(Sys.time(), '%d/%m/%Y')`"
output: html_document
params:
annee_iae: !r ANNEE_IAE
mois_iae: !r MOIS_IAE
chemin_IAE: !r chemin_IAE
chemin_IAE_SL: !r chemin_IAE_SL
annee_cui: !r annee_cui
mois_cui: !r mois_cui
chemin_CUI: !r chemin_CUI
chemin_CUI_SL: !r chemin_CUI_SL
resume: !r resume_du_mois
table {
border: 1px solid #000;
font-size: 10pt;
h1 {font-size: 18pt;}
h1.title {font-size: 18pt;}
h2 {font-size: 16pt;}
h3 {font-size: 14pt;}
h4 {font-size: 12pt;}
h5 {font-size: 11pt;}
h6 {font-size: 11pt;}
p {font-size: 11pt;}
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, fig.width = 6, fig.height = 4)
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
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(months(d_a1), " " , year(d_a1)),
paste0(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 (tous âges)", "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"
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(months(d_cui_a1), " ", year(d_cui_a1)),
paste0(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)",
"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
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
## 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-3 & 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", "11")) +
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) >= year(d)-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}
TdB_fusion2 <- TdB_fusion
TdB_fusion2[,1] <- TdB_fusion[,3]-TdB_fusion[,1]
TdB_fusion2[,2] <- TdB_fusion[,3]-TdB_fusion[,2]
TdB_fusion2[,4] <- TdB_fusion[,5]-TdB_fusion[,4]
TdB_fusion2[,6] <- TdB_fusion[,8]-TdB_fusion[,6]
TdB_fusion2[,7] <- TdB_fusion[,8]-TdB_fusion[,7]
TdB_fusion2 <- TdB_fusion2[,c(3,2,1,5,4,8,7,6)]
TdB_fusion2[c(1,4,6)] <- lapply(TdB_fusion2[c(1,4,6)], round, 1)
TdB_fusion2[c(2,3,5,7,8)] <- lapply(
TdB_fusion2[c(2,3,5,7,8)],
function(x) paste0(signe(x), format(abs(round(x, 1)), decimal.mark=",", trim=TRUE, nsmall=1))
)
colnames(TdB_fusion2)[c(2,3,7,8)] <- paste0(
"variation depuis ", colnames(TdB_fusion2)[c(2,3,7,8)]
)
colnames(TdB_fusion2)[5] <- paste0("variation par rapport à ", colnames(TdB_fusion2)[5])
colnames(TdB_fusion2) <- sub("\\.[1-2]", "", colnames(TdB_fusion2))
kable(align="c", row.names = TRUE, format.args = list(decimal.mark = ',')) %>%
c("", "Entrées mensuelles" = 3, "Entrées cumulées depuis janvier" = 2, "Stock en fin de mois" = 3),
extra_css = "border-left: 1px solid #000; border-bottom: 1px solid #000; "
column_spec(c(2,5,7), border_left = TRUE, include_thead = TRUE) %>%
row_spec(0, extra_css = "border-bottom: 1px solid #000; ") %>%
row_spec(3, extra_css = "border-bottom: 1px solid #000;")
```
#### Insertion par l'activité économique (en milliers de personnes)
```{r echo=FALSE}
total_IAE2 <- total_IAE
total_IAE2[,1] <- total_IAE[,3]-total_IAE[,1]
total_IAE2[,2] <- total_IAE[,3]-total_IAE[,2]
total_IAE2[,5] <- total_IAE[,6]-total_IAE[,5]
total_IAE2[,7] <- total_IAE[,9]-total_IAE[,7]
total_IAE2[,8] <- total_IAE[,9]-total_IAE[,8]
total_IAE2 <- total_IAE2[,c(3,2,1,6,5,9,8,7)]
total_IAE2[c(1,4,6)] <- lapply(total_IAE2[c(1,4,6)], round, 1)
total_IAE2[c(2,3,5,7,8)] <- lapply(
total_IAE2[c(2,3,5,7,8)],
function(x) paste0(signe(x), format(abs(round(x, 1)), decimal.mark=",", trim=TRUE, nsmall=1))
colnames(total_IAE2)[c(2,3,7,8)] <- paste0(
"variation par rapport à ", colnames(total_IAE2)[c(2,3,7,8)]
colnames(total_IAE2)[5] <- paste0("variation par rapport à ", colnames(total_IAE2)[5])
colnames(total_IAE2) <- sub("\\.[1-2]", "", colnames(total_IAE2))
kable(align="c", row.names = TRUE, format.args = list(decimal.mark = ',')) %>%
c("", "Entrées mensuelles" = 3, "Entrées cumulées depuis janvier" = 2, "Stock en fin de mois" = 3),
extra_css = "border-left: 1px solid #000; border-bottom: 1px solid #000; "
column_spec(c(2,5,7), border_left = TRUE, include_thead = TRUE) %>%
row_spec(0, extra_css = "border-bottom: 1px solid #000;")
_Note :_ Les chiffres des entrées mensuelles correspondent à la somme des entrées initiales et des reconductions. Les proportions et évolutions sont calculées avec les chiffres non arrondis et peuvent donc différer des calculs effectués avec les chiffres affichés dans les tableaux.