An Inmon-style, top-down data warehouse for Mexico's 2022 multidimensional poverty microdata. The project moves from a validated staging layer into a normalized enterprise data warehouse (EDW), then produces survey-weighted analytical marts and presentation-ready BI outputs.
The pipeline processes 309,534 person records representing 128,889,708 people through the official expansion factor. It reproduces the headline national estimates:
| KPI | Survey-weighted result |
|---|---|
| Population in poverty | 36.31% |
| Population in extreme poverty | 7.06% |
| Educational lag | 19.44% |
| Food access deprivation | 16.23% |
The exploratory academic notebook had two common analytical problems:
- It calculated rates from a simple random sample without applying the survey expansion factor.
- It described dimension/fact tables as a normalized 3NF EDW, mixing Inmon and dimensional-mart concepts.
This repository corrects both. It uses the complete microdata and the factor field for population estimates, stores a person-grain normalized EDW with conformed lookup entities, and creates downstream aggregate marts for reporting.
CONEVAL / ENIGH 2022
↓
Validated staging + survey-weighted quintiles
↓
Normalized EDW in SQLite
↓
National, education, income, food-access, and state marts
↓
CSV outputs + BI dashboard
- National poverty and deprivation KPIs
- Educational lag by attained education
- Educational lag by survey-weighted income quintile
- Educational lag by food access deprivation
- Poverty rate by state code
Every mart includes the source sample count and represented population, keeping survey lineage visible.
- Obtain
pobreza22.csvfrom the official CONEVAL 2022 programs and databases page. - Place it at
data/raw/pobreza22.csv. - Run:
python -m pip install -e ".[dev]"
python -m poverty_warehouse.cli
pytestThe build creates outputs/poverty_warehouse.sqlite, five CSV marts, and two PNG figures. The SQLite database and raw source file are excluded from Git; aggregate derived outputs are versioned.
src/poverty_warehouse/
config.py # source contract and domain labels
pipeline.py # staging, EDW, weighting, and data marts
visuals.py # dashboard and architecture diagram
cli.py # end-to-end orchestration
tests/
test_pipeline.py
data/raw/
README.md # source and integrity instructions
outputs/
*.csv, *.png # reproducible aggregate deliverables
The database is published by CONEVAL for the 2022 multidimensional poverty measurement and is based on INEGI's ENIGH 2022. CONEVAL publishes the programs and databases to support transparency and technical rigor and permits copying, publishing, adapting, extracting, and reusing its publicly downloadable information with attribution.
This is an independent educational analysis by Aaron Fernandez Pinto. It is not an official CONEVAL product or endorsement. Rates may differ slightly from official tables because of rounding or analytical scope; the official methodology and results remain authoritative.
The MIT license applies to this repository's original code. Source-data use remains subject to CONEVAL's terms.
Aaron Fernandez Pinto, Data Science student at Universidad Autónoma de Baja California (UABC).
Español
Un almacén de datos descendente, estilo Inmon, para los microdatos de pobreza multidimensional de México de 2022. El proyecto pasa de una capa de staging validada a un almacén de datos empresarial normalizado (EDW), y después produce marts analíticos ponderados por encuesta y salidas de BI listas para presentación.
El pipeline procesa 309,534 registros de personas que representan a 128,889,708 personas mediante el factor de expansión oficial. Reproduce las principales estimaciones nacionales:
| KPI | Resultado ponderado por encuesta |
|---|---|
| Población en pobreza | 36.31% |
| Población en pobreza extrema | 7.06% |
| Rezago educativo | 19.44% |
| Carencia de acceso a la alimentación | 16.23% |
El notebook académico exploratorio tenía dos problemas analíticos comunes:
- Calculaba tasas a partir de una muestra aleatoria simple sin aplicar el factor de expansión de la encuesta.
- Describía tablas de dimensiones y hechos como un EDW normalizado en 3NF, mezclando los conceptos de Inmon y mart dimensional.
Este repositorio corrige ambos. Usa los microdatos completos y el campo factor para estimaciones poblacionales, almacena un EDW normalizado a nivel persona con entidades de consulta conformadas y crea marts agregados posteriores para reportes.
CONEVAL / ENIGH 2022
↓
Staging validado + quintiles ponderados por encuesta
↓
EDW normalizado en SQLite
↓
Marts nacionales, educativos, de ingreso, acceso alimentario y estatales
↓
Salidas CSV + dashboard de BI
- KPI nacionales de pobreza y carencias
- Rezago educativo por nivel educativo alcanzado
- Rezago educativo por quintil de ingreso ponderado por encuesta
- Rezago educativo por carencia de acceso a la alimentación
- Tasa de pobreza por código estatal
Cada mart incluye el conteo de la muestra fuente y la población representada, manteniendo visible el linaje de la encuesta.
- Obtén
pobreza22.csvdesde la página oficial de programas y bases de datos de CONEVAL 2022. - Colócalo en
data/raw/pobreza22.csv. - Ejecuta:
python -m pip install -e ".[dev]"
python -m poverty_warehouse.cli
pytestLa construcción crea outputs/poverty_warehouse.sqlite, cinco marts CSV y dos figuras PNG. La base SQLite y el archivo fuente sin procesar están excluidos de Git; las salidas agregadas derivadas sí se versionan.
src/poverty_warehouse/
config.py # contrato de la fuente y etiquetas de dominio
pipeline.py # staging, EDW, ponderación y data marts
visuals.py # dashboard y diagrama de arquitectura
cli.py # orquestación de extremo a extremo
tests/
test_pipeline.py
data/raw/
README.md # instrucciones de fuente e integridad
outputs/
*.csv, *.png # entregables agregados reproducibles
La base es publicada por CONEVAL para la medición multidimensional de la pobreza de 2022 y se basa en la ENIGH 2022 de INEGI. CONEVAL publica los programas y bases para apoyar la transparencia y el rigor técnico, y permite copiar, publicar, adaptar, extraer y reutilizar su información descargable públicamente con atribución.
Este es un análisis educativo independiente de Aaron Fernandez Pinto. No es un producto oficial ni un respaldo de CONEVAL. Las tasas pueden diferir ligeramente de las tablas oficiales debido al redondeo o al alcance analítico; la metodología y los resultados oficiales siguen siendo la referencia autorizada.
La licencia MIT se aplica al código original de este repositorio. El uso de los datos fuente permanece sujeto a los términos de CONEVAL.
Aaron Fernandez Pinto, estudiante de Ciencia de Datos en la Universidad Autónoma de Baja California (UABC).

