El presente documento consiste en un monitoreo mensual del empleo en el sector de las plataformas digitales de Chile, en base a la Encuesta Nacional de Empleo del Instituto Nacional de Estadísticas (INE). Esto, para el proyecto Hacia una regulación laboral efectiva para los trabajadores de plataformas digitales , financiado por la Friedrich-Ebert-Stiftung (FES) Chile.
Todos los datos son públicos y fueron descargados desde el sitio web del INE .
Cargar paquetes
Ver código
library (haven)
library (sjlabelled)
library (ggplot2)
library (dplyr)
library (lubridate)
library (magrittr)
library (scales)
library (knitr)
library (arrow)
if (! dir.exists ("output" )) {
dir.create ("output" )
}
if (! dir.exists ("output/graficos" )) {
dir.create ("output/graficos" )
}
if (! dir.exists ("output/tablas" )) {
dir.create ("output/tablas" )
}
Carga bases de datos
Ver código
ds <- open_dataset ("../../../../PROSPECTIVA SpA/minuta ENE/ene_empleo/output/data" )
pd <- ds %>%
filter (ano_trimestre>= 2020 ) %>%
select (periodo, fact_cal, plataformas_digitales) %>%
filter (plataformas_digitales == 1 ) %>%
group_by (periodo) %>%
summarise (plataformas = sum (fact_cal, na.rm = TRUE )) %>%
arrange (periodo) %>%
collect ()
ocupados <- ds %>%
filter (periodo>= "2020-02-01" ) %>%
filter (activ == 1 ) %>%
group_by (periodo) %>%
summarise (ocupados = sum (fact_cal, na.rm = TRUE )) %>%
arrange (periodo) %>%
collect ()
pd <- merge (pd,ocupados,by= "periodo" )
Segunda ocupación
Ver código
# library(haven)
# ene_last <- read_dta("~/Library/CloudStorage/OneDrive-UniversidadCatólicadeChile/PROSPECTIVA SpA/minuta ENE/ene_empleo/input/ene-2026-03-fma.dta")
# ene_last %>% select("plataformas_digitales", "pd_especifique", "b19" , "dependencia_segunda" , "sda_pd", "sda_pd_especifique" )
segunda <- ds %>%
filter (periodo>= "2020-02-01" & sda_pd == 1 & plataformas_digitales!= 1 ) %>%
filter (sda_pd_especifique %in% nombres_plataformas_para_filtrar$ pd_especifique) %>%
group_by (periodo) %>%
summarise (ocupados = sum (fact_cal, na.rm = TRUE )) %>%
collect ()
segunda <- segunda %>% arrange (- desc (periodo))
nombres_2da <- ds %>%
filter (periodo>= "2020-02-01" & sda_pd == 1 & plataformas_digitales!= 1 ) %>%
group_by (sda_pd_especifique) %>%
summarise (ocupados_acumulado = sum (fact_cal, na.rm = TRUE )) %>% filter (sda_pd_especifique %in% nombres_plataformas_para_filtrar$ pd_especifique) %>%
mutate (ocupados_acumulado= round (ocupados_acumulado/ nrow (aux))) %>%
arrange (- ocupados_acumulado) %>%
collect ()
head (nombres_2da,10 ) %>% kable (caption = "Principales empresas de plataformas reportadas, Ley 21431 (segunda ocupación)" , col.names = c ("Plataformas" ,"Ocupados mensualizado" ))
Principales empresas de plataformas reportadas, Ley 21431 (segunda ocupación)
UBER
2706
UBER EATS
545
CORNERSHOP
396
INDRIVER
303
MERCADOLIBRE
285
PEDIDOS YA
254
RAPPI
196
CABIFY
168
DIDI
167
UBER DIDI
89
Ver código
segunda <- segunda %>% select (periodo,ocupados) %>% mutate (tipo= "segunda_ley21431" )
pd_ley21431 <- bind_rows (pd_ley21431,segunda)
segunda <- pd %>% select (periodo) %>% mutate (ocupados = (pd_ley21431[pd_ley21431$ tipo == "ley21431" , "ocupados" ] + pd_ley21431[pd_ley21431$ tipo == "segunda_ley21431" , "ocupados" ])) %>% mutate (tipo= "ley21431_1y2" )
pd_ley21431 <- bind_rows (pd_ley21431,segunda)
pd_ley21431 %>%
filter (tipo!= "todas" ) %>%
ggplot (aes (x = periodo, y = ocupados, color = tipo, group = tipo)) +
geom_line (linewidth = 1.2 ) +
geom_point (size = 2.5 ) +
scale_color_manual (values = c ("segunda_ley21431" = "#2C3E50" ,
"ley21431" = "#E74C3C" ,
"ley21431_1y2" = "#6A0DAD" )) +
scale_y_continuous (labels = label_number (big.mark = "." , decimal.mark = "," ),
breaks = seq (0 , max (pd_ley21431$ ocupados, na.rm = TRUE ), by = 10000 )) +
labs (
title = "Ocupados en plataformas digitales Ley 21.431 (2020-2026)" ,
subtitle = "Primera y segunda ocupación" ,
x = NULL ,
y = "Número de personas" ,
color = NULL ,
caption = "Fuente: Elaboración propia en base a ENE"
) +
theme_minimal (base_size = 13 ) +
theme (
legend.position = "bottom" ,
plot.title = element_text (face = "bold" , size = 16 ),
plot.subtitle = element_text (color = "gray40" ),
axis.text = element_text (color = "gray30" ),
panel.grid.minor = element_blank (),
panel.grid.major.x = element_blank (),
plot.caption = element_text (size = 9 , color = "gray50" )
)
Ver código
ggsave (
filename = "output/graficos/grafico_ocupados_ley21431_1_2.png" ,
plot = last_plot (),
width = 13.33 ,
height = 7.5 ,
units = "in" ,
dpi = 300
)