Reproducción y reconstruccion del porcentaje de pobreza laboral con microdatos de la ENOE de INEGI
Resumen ejecutivo
El proyecto desarrolla una biblioteca reproducible en Python para procesar los microdatos históricos de la Encuesta Nacional de Ocupación y Empleo (ENOE) y reconstruir el porcentaje de población en pobreza laboral.
Se automatizó el procesamiento de archivos trimestrales, validación de esquemas y llaves, integración de las tablas COE2 y SDEM, construcción del ingreso laboral individual y del hogar, identificación de hogares con información incompleta, incorporación de las líneas de pobreza extrema por ingresos y cálculo ponderado del indicador.
La implementación fue evaluada sobre 80 trimestres disponibles entre 2006T1 y 2026T1, comparando los resultados reproducidos contra la serie oficial.
La serie calculada reproduce prácticamente por completo la dinámica histórica del indicador, con una correlación y un R^2 cercanos a 1. La diferencia media fue de apenas −0.0166 puntos porcentuales, aunque se identificó un pequeño sesgo sistemático de subestimación.
Una prueba TOST permitió establecer equivalencia estadística para la serie completa utilizando un margen práctico de ±0.05 puntos porcentuales. Sin embargo, el análisis detectó también un hallazgo relevante: las discrepancias aumentan en los periodos recientes analizados. Hasta 2024T1 ambas series mantienen equivalencia bajo dicho margen, mientras que desde 2024T2 ya no existe evidencia suficiente para establecerla.
El resultado es una infraestructura auditable y reutilizable para transformar más de dos décadas de microdatos ENOE en una base histórica homogénea, preparada para análisis posteriores de pobreza laboral.
La reproducción captura prácticamente toda la evolución histórica del indicador
Los microdatos históricos de ENOE abarcan numerosos trimestres, distintas estructuras de archivos y múltiples tablas que deben integrarse correctamente antes de poder analizar pobreza laboral.
Reproducir un indicador histórico implica resolver varios problemas simultáneamente:
estandarizar archivos provenientes de distintos periodos;
validar esquemas y llaves de identificación;
integrar información individual y sociodemográfica;
reconstruir ingresos laborales bajo las reglas metodológicas correspondientes;
detectar hogares con información de ingreso incompleta;
incorporar líneas de pobreza específicas por ámbito rural y urbano;
aplicar correctamente factores de expansión;
garantizar trazabilidad y auditoría del procesamiento;
y validar que el indicador resultante reproduce de manera confiable la serie oficial.
El objetivo del proyecto no fue únicamente calcular nuevamente el indicador, sino construir un pipeline reproducible capaz de generar y auditar toda la serie histórica.
Se desarrolló una biblioteca modular en Python que automatiza el flujo de procesamiento:
Microdatos ENOE → Parquet → Validacio → COE2 + SDEM → Dataset analitico → Pobreza laboral
La arquitectura permite separar claramente las etapas de:
Ingesta y conversión: Lectura de microdatos históricos y conversión a formatos columnares eficientes.
Control de calidad: Validación de columnas requeridas, llaves personales y del hogar, duplicados, consistencia entre periodos y calidad de las uniones.
Integración: Unión entre SDEM y COE2 utilizando llaves de identificación a nivel persona.
Construcción analítica: Aplicación de reglas para residencia, condición de ocupación, trabajo no remunerado, recuperación e imputación del ingreso laboral y agregación por hogar.
Estimación Integración de las líneas de pobreza por ámbito rural/urbano y cálculo ponderado del porcentaje de población cuyo ingreso laboral per cápita se encuentra por debajo de la línea correspondiente.
Auditoría: Generación de métricas intermedias, metadatos y paradata para identificar pérdidas de información y evaluar cada etapa del procesamiento.
El pipeline genera tres productos principales:
Archivos Parquet con estructuras homogéneas para cada periodo.
Información a nivel persona con variables construidas para:
ingreso laboral individual;
ingreso laboral del hogar;
ingreso laboral per cápita;
condición de elegibilidad;
ámbito rural/urbano;
línea de pobreza aplicable;
condición de pobreza laboral;
factor de expansión.
Un único dataset persona–trimestre preparado para análisis longitudinales y exploratorios sobre pobreza laboral entre 2006 y 2026.
La reproducción fue contrastada trimestre a trimestre contra el porcentaje oficial de población en pobreza laboral.
La relación entre los valores calculados y oficiales resultó prácticamente perfecta:
r≈1
R^2≈1
Esto indica que el procedimiento reproduce prácticamente toda la dinámica histórica del indicador.
Sin embargo, se realizó una validación adicional porque correlación no implica igualdad ni equivalencia.
Correspondencia prácticamente perfecta entre ambas estimaciones
−0.0166 pp
En promedio, la estimación reproducida se encuentra aproximadamente 0.017 puntos porcentuales por debajo de la oficial.
MAE=0.0166 pp
0.0869 pp
Las discrepancias son pequeñas en magnitud, aunque predominantemente negativas, evidenciando un sesgo sistemático de subestimación.
El análisis de las diferencias reveló que la magnitud de la discrepancia aumenta en los periodos recientes analizados.
Hasta 2024T1:
d=−0.0122 pp
Desde 2024T2:
d=−0.0562 pp
El error absoluto medio pasó aproximadamente de:
0.0122
a:
0.0562 pp
es decir, cerca de 4.6 veces su magnitud anterior.
Para determinar si el incremento estaba relacionado con menores niveles de pobreza laboral o con los periodos recientes, se estimó una regresión controlando ambos factores.
La corrección HAC/Newey-West, robusta ante heterocedasticidad y autocorrelación temporal, produjo:
β_reciente = −0.04324
p = 0.000434
mientras que el nivel de pobreza laboral presentó:
p ≈ 0.870
La evidencia favorece por tanto una asociación temporal reciente de las discrepancias, más que una pérdida de precisión causada simplemente por niveles bajos del indicador.
Este resultado describe el comportamiento observado y no implica que el error vaya a continuar aumentando en el futuro.
Como última etapa se aplicó una prueba TOST (Two One-Sided Tests).
Se definió como criterio práctico:
Δ=±0.05 pp
tomando como referencia media unidad de la resolución de una cifra decimal utilizada para comunicar públicamente el indicador.
Este margen se utiliza exclusivamente como criterio analítico del proyecto y no representa una tolerancia oficial establecida por INEGI o CONEVAL.
Los resultados fueron:
La metodología implementada reproduce de manera confiable la serie histórica oficial de pobreza laboral y presenta equivalencia estadística global dentro del margen práctico establecido.
Al mismo tiempo, la auditoría permitió identificar un pequeño sesgo negativo sistemático y una mayor discrepancia en los periodos recientes analizados, hallazgo que queda abierto para investigación posterior.
La principal aportación del proyecto no es únicamente obtener nuevamente el indicador, sino disponer de una infraestructura reproducible, auditable y extensible para trabajar con más de dos décadas de microdatos ENOE.
La reproducción presenta alta concordancia con los valores oficiales, aunque mantiene una ligera subestimación sistemática que se acentúa en los periodos recientes.
A continuación se pone a disposición los links de los 4 entregables de este proyecto:
Python, pandas, NumPy, PyArrow, Parquet, SciPy, statsmodels, Jupyter Notebook, Git y GitHub; procesamiento y estandarización de microdatos, integración de fuentes, validación de esquemas y llaves, control de calidad de datos, construcción de pipelines reproducibles, ingeniería de datos, análisis estadístico, validación contra fuentes oficiales, regresión lineal, análisis Bland–Altman, corrección HAC/Newey-West, pruebas de equivalencia TOST, trazabilidad mediante metadatos y paradata, documentación técnica, reproducibilidad analítica y comunicación de resultados basada en evidencia.