El país seleccionado para este trabajo es Bolivia, el Instituto Nacional de Estadística (INE) de dicho país realiza una Encuesta continua de Empleo con una marco muestral “mixto”, es decir con una muestra fija y otra rotativa que permite el seguimiento por panel y análisis longitudinal. Esta encuesta también tiene la ventaja de tener cobertura nacional abarcando áreas urbanas y rurales, a diferencia de, por ejemplo, la EPH en Argentina. Esto también puede deberse a una mayor incidencia de la población rural en el país de estudio. El objetivo propuesto por el INE es: “Proporcionar información estadística mensual, que refleje el comportamiento de la desocupación urbana, la oferta y movilidad de trabajo urbano y rural, permitiendo establecer un sistema de monitoreo continuo y oportuno de las variables del mercado laboral.”
La base usuaria fue provista por la cátedra, a continuación se muestran las variables que fueron seleccionadas para la elaboración del trabajo. También se puede ver y descargar en este link.
(var_sel <- read_csv("var_sel - Hoja 1.csv"))
## Rows: 45 Columns: 2
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (2): Variable, Descripcion
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
| Variable | Descripcion |
|---|---|
| id_persona | Identificador de Persona |
| id_hogar | Identificador por Trimestre del Hogar |
| nro | Número de la Persona dentro del Hogar |
| gestion | Año de Entrevista |
| trimestre | Trimestre de la Entrevista |
| depto | Departamento |
| area | Área |
| s1_02 | Sexo |
| s1_03a | Edad |
| s1_05 | Parentesco |
| s1_07a | Nivel Educativo |
| s1_16 | Estado Civil |
| s1_17 | Pueblo Indígena |
| s2_01 | ¿Trabajó la Semana Pasada? |
| s2_02 | Dedicó una hora a: |
| s2_03 | No Trabajó por: |
| s2_18 | Trabaja como |
| s2_21 | Contrato |
| s2_22 | Tipo de Administración |
| s2_23 | NIT |
| s2_24 | Contabilidad |
| s2_28 | ¿Días de Trabajo? |
| s2_29_h | Horas Trabajo |
| s2_36a | Seguro de Salud |
| s2_36b | Vacaciones |
| s2_36c | Aguinaldo |
| fact_trim | Factor de Expansión Trimestral |
| tipohogar | Tipología del hogar |
| niv_ed | Nivel Educativo Detallado |
| pet | Población en Edad de Trabajar (14+ años) |
| pea | Población Económicamente Activa (14+ años) |
| pei | Población Económicamente Inactiva (14+ años) |
| peao | Población Ocupada (14+ años) |
| pead | Población Desocupada (14+ años) |
| peadces | Población Desocupada Cesante (14+ años) |
| peadasp | Población Desocupada Aspirante (14+ años) |
| peit | Población Económicamente Inactiva Temporal (14+ años) |
| peip | Población Económicamente Inactiva Permanente (14+ años) |
| condact | Condición de Actividad Ocupacion Principal (14+ años) |
| cob_op | C. O. B. Ocupación principal (14+ años) |
| caeb_op | C. A. E. B. Ocupación principal (14+ años) |
| tothrs | Horas trabajadas a la semana (14+ años) |
| tothrs_ef | Horas efectivas semanales |
| psubocup | Población Subocupada |
| ylab | Ingreso laboral (Bs/Mes) (14+ años) |
Por otro lado, el diseño de registro completo puede consultarse en este enlace.
Las variables seleccionadas nos servirán a lo largo del trabajo para aproximarnos a una descripción de la dinámica del mercado de trabajo, la precaridad y la informalidad en Bolivia.
Bolivia <- readRDS("Bolivia_1a4T2019.RDS") %>%
select(c(all_of(var_sel$Variable)))
head(Bolivia[1:10])
| id_persona | id_hogar | nro | gestion | trimestre | depto | area | s1_02 | s1_03a | s1_05 |
|---|---|---|---|---|---|---|---|---|---|
| 2242047 | 2242038 | 1 | 2019 | 1 | 8 | 1 | 2 | 52 | 1 |
| 2242048 | 2242038 | 2 | 2019 | 1 | 8 | 1 | 1 | 55 | 2 |
| 2242049 | 2242038 | 3 | 2019 | 1 | 8 | 1 | 2 | 12 | 3 |
| 2242050 | 2242038 | 4 | 2019 | 1 | 8 | 1 | 1 | 7 | 3 |
| 2242051 | 2242038 | 5 | 2019 | 1 | 8 | 1 | 2 | 6 | 3 |
| 2242052 | 2242039 | 1 | 2019 | 1 | 8 | 1 | 2 | 48 | 1 |
También vamos a generar la variable Asalariado, variable dicotómica con valores 0 y 1 (No Asalariado y Asalariado, respectivamente).
Bolivia <- Bolivia %>%
mutate(asalariado =
case_when(ylab > 1 & peao == 1 ~ 1,
peao == 1 ~ 0))
Para este punto generaremos un nuevo dataframe con las tasas básicas para lugar mostrar en forma tabulada, teniendo en cuenta las siguientes definiciones:
Tasa de actividad: calculada como porcentaje entre la población económicamente activa y la población total de referencia.
Tasa de empleo: calculada como porcentaje entre la población ocupada y la población total de referencia.
Tasa de desocupación: calculada como porcentaje entre la población desocupada y la población económicamente activa.
Tasa de Subocupación Horaria: calculada como porcentaje entre la población subocupada y la población económicamente activa.
Fuente: INDEC. Mercado de trabajo. Tasas e indicadores socioeconómicos (EPH) Primer trimestre de 2022. Página 22, “Cálculo de tasas”
(Tasas <- Bolivia %>%
summarise(pea = sum(fact_trim*pea, na.rm = T),
pei = sum(fact_trim*pei, na.rm = T),
peao = sum(fact_trim*peao, na.rm = T),
pead = sum(fact_trim*pead, na.rm = T),
psubocup = sum(fact_trim*psubocup, na.rm = T),
pt = pea+pei,
"Tasa de actividad" = pea/pt,
"Tasa de empleo" = peao/pt,
"Tasa de desocupación" = pead/pea,
"Tasa de subocupación" = psubocup/pea) %>%
select(-c(1:6))
)
| Tasa de actividad | Tasa de empleo | Tasa de desocupación | Tasa de subocupación |
|---|---|---|---|
| 0.7300531 | 0.7031 | 0.0369193 | 0.0398638 |
Realizar una caracterización del Sector Informal tiene distintas aristas en la literatura. En nuestro caso, tomaremos las siguientes variables:
var_sel[c(18,20,21),]
| Variable | Descripcion |
|---|---|
| s2_21 | Contrato |
| s2_23 | NIT |
| s2_24 | Contabilidad |
Nuestro enfoque parte en medir la informalidad laboral aludiendo a todas las actividades económicas y ocupaciones que -en la legislación o en la práctica- no están cubiertas o están insuficientemente contempladas por sistemas formales (OIT, 2012).
Partiendo de la base del contrato de trabajo, instrumento legal donde se definen las tareas, responsabilidades y obligaciones de empleado y empleador. Mientras que la identificación tributaria y el tratamiento contable del negocio nos indican la exposición y cumplimiento de la firma a las normas legales y demás requisitos del sistema formal.
Este abordaje nos permite no caer en tautologías definiendo al Sector Informal por sus mismas características: generalmente empresas con menos de 5 empleados, remuneraciones más bajas que en el mercado formal, tipo de empleo (ej.: cuentapropistas), entre otras.
A continuación presentamos las categorías de las variables, con negrita en las que se consideraría al Sector Formal:
s2_21 - PREGUNTA TEXTUAL En éste trabajo, usted… 1. ¿Firmó contrato con fecha de vencimiento o término? 2. ¿No firmó contrato pero tiene compromiso por obra o trabajo terminado? 3. ¿No firmó contrato, pero tiene un acuerdo verbal? 4. ¿Es personal de planta con ítem? 5. No firmó contrato
s2_23 - PREGUNTA TEXTUAL La empresa, negocio, taller o establecimiento donde trabaja, ¿cuenta con NIT (Número de Identificación Tributaria)? 1. Si, en régimen general 2. Si, en régimen simplificado 3. No tiene/En proceso 4. No sabe
s2_24 - PREGUNTA TEXTUAL En esta empresa, negocio, taller o establecimiento, donde trabaja… 1. Se llevan libros de contabilidad o se acude a los servicios de un contador 2. Sólo se utiliza un cuaderno personal para llevar las cuentas 3. No se lleva registro contable 4. No sabe / No responde
Bolivia_inf <- Bolivia %>%
mutate(formal = case_when(
peao == 1 & s2_21 == 1 | s2_23 == 1 | s2_23 == 2 |
s2_24 == 1 ~ 1,
peao == 1 ~ 0))
1 - mean(Bolivia_inf$formal, na.rm = T)
## [1] 0.7934904
Esto nos indica que alrededor del \(79.35\%\) de los trabajadores pertenecerían al Sector Informal.
Para realizar esta operacionalización, nos valdremos de variables clásicas para evaluar la precariedad de una relación laboral. La encuesta del INE nos proporciona tres posibilidades:
var_sel[24:26,]
| Variable | Descripcion |
|---|---|
| s2_36a | Seguro de Salud |
| s2_36b | Vacaciones |
| s2_36c | Aguinaldo |
El enfoque adoptado es el de derechos laborales, se entiende que cuando un trabajar se encuentra en una relación laboral que vulnera 1 o más de sus derechos fundamentales, este se encuentra en situación de precariedad.
Para las tres variables las respuestas posibles son 1 = si y 2 = no. En una vista rápida de las variables vemos que hay diferencias en los resultados, en el caso del aguinaldo es sustantiva:
summary(Bolivia[,24:26])
## s2_36a s2_36b s2_36c
## Min. :1.00 Min. :1.00 Min. :1.00
## 1st Qu.:1.00 1st Qu.:1.00 1st Qu.:1.00
## Median :2.00 Median :2.00 Median :1.00
## Mean :1.59 Mean :1.62 Mean :1.47
## 3rd Qu.:2.00 3rd Qu.:2.00 3rd Qu.:2.00
## Max. :2.00 Max. :2.00 Max. :2.00
## NA's :189419 NA's :189419 NA's :189419
El promedio nos da una primera aproximación a la vulneración de estos derechos mientras se acerca al número 2. Vemos que el que aguinaldo marca una diferencia: hay más trabajadores que gozan del mismo que los que tienen vacaciones o seguro de salud. En este instancia, y debido al carácter exploratorio de este trabajo, vamos a utilizar las tres variables pero no de forma exhaustiva.
Entonces, para considerar como precaria una relación laboral tendremos en cuenta la ausencia de al menos una de las prestaciones sociales mencionadas. En el futuro, podría considerarse algún enfoque con distintos niveles de precariedad.
Bolivia_prec <- Bolivia_inf %>%
mutate(prec = case_when(
s2_36a == 2 | s2_36b == 2 | s2_36c == 2~ 1,
s2_36a == 1 | s2_36b == 1 | s2_36c == 1 ~ 0))
mean(Bolivia_prec$prec, na.rm = T)
## [1] 0.6570153
Siendo los valores de referencia de esta variable:
1 = Precario 0 = No precario
Esto nos indica que alrededor del \(65.7\%\) de los trabajadores tiene algún nivel de precariedad.
Se presenta de forma resumida la siguiente tabla:
(inf_prec <- Bolivia_prec %>%
summarise(pea = sum(fact_trim*pea, na.rm = T),
peao = sum(fact_trim*peao, na.rm = T),
asal = sum(fact_trim*asalariado, na.rm = T),
prec = sum(fact_trim*prec, na.rm = T),
formal = sum(fact_trim*formal, na.rm = T),
"Precariedad Laboral" = prec/asal,
"Sector Formal" = formal/peao,
"Sector Informal" = 1-(formal/peao)) %>%
select(c(6:8)) %>%
t()
)
## [,1]
## Precariedad Laboral 0.2624154
## Sector Formal 0.1781660
## Sector Informal 0.8218340
Generamos la variable Edad Categórica para agrupar por grupos de edad y seco. Se presenta la siguiente tabla:
Bolivia_prec <- Bolivia_prec %>%
mutate(EDAD_CAT = case_when(s1_03a <= 15 ~ "15 años o menos",
s1_03a >= 16 & s1_03a <= 30 ~ "16 a 30 años",
s1_03a >= 31 & s1_03a <= 45 ~ "31 a 45 años",
s1_03a >= 46 & s1_03a <= 60 ~ "46 a 60 años",
s1_03a >= 61 ~ "Mayor de 60 años"),
Sexo = s1_02)
(inf_prec_edad_sexo <- Bolivia_prec %>%
group_by(Sexo, EDAD_CAT) %>%
select(c(EDAD_CAT, Sexo, pea, peao, asalariado, prec, formal, fact_trim)) %>%
summarise(pea = sum(fact_trim*pea, na.rm = T),
peao = sum(fact_trim*peao, na.rm = T),
asal = sum(fact_trim*asalariado, na.rm = T),
prec = sum(fact_trim*prec, na.rm = T),
formal = sum(fact_trim*formal, na.rm = T),
"Precariedad Laboral" = prec/asal,
"Sector Formal" = formal/peao,
"Sector Informal" = 1-(formal/peao)) %>%
select(-c(3:7))
)
## `summarise()` has grouped output by 'Sexo'. You can override using the
## `.groups` argument.
| Sexo | EDAD_CAT | Precariedad Laboral | Sector Formal | Sector Informal |
|---|---|---|---|---|
| 1 | 15 años o menos | 1.0332067 | 0.0582630 | 0.9417370 |
| 1 | 16 a 30 años | 0.4919389 | 0.2472501 | 0.7527499 |
| 1 | 31 a 45 años | 0.2303730 | 0.2440818 | 0.7559182 |
| 1 | 46 a 60 años | 0.1497513 | 0.1720848 | 0.8279152 |
| 1 | Mayor de 60 años | 0.0781939 | 0.0745626 | 0.9254374 |
| 2 | 15 años o menos | 1.0005671 | 0.0617633 | 0.9382367 |
| 2 | 16 a 30 años | 0.4867395 | 0.2116269 | 0.7883731 |
| 2 | 31 a 45 años | 0.2207322 | 0.1838710 | 0.8161290 |
| 2 | 46 a 60 años | 0.1309596 | 0.0932175 | 0.9067825 |
| 2 | Mayor de 60 años | 0.0420381 | 0.0254468 | 0.9745532 |
Casi sin mediar análisis, vemos que el peso de la precariedad laboral en menores de 15 años es mayor al \(100\%\). Lo que nos sugiere que debemos revisar la metodología utilizada. Más allá de eso, podemos tomar por válidos el resto de los resultados que arroja la tabla y hacer algunos comentarios:
inf_prec_edad_sexo %>%
pivot_longer(-c(1:2), names_to = "Nombre", values_to = "Tasas") %>%
ggplot(aes(x = Tasas, y = EDAD_CAT,
color = Nombre, group = Nombre)) +
geom_point()+geom_path()+
facet_grid(rows = vars(Sexo))+
coord_flip()+
theme_bw()+
theme(axis.text.x = element_text(angle = 30, vjust = 0.5, hjust=1),
axis.title.y = element_blank(),
axis.title.x = element_blank())