Skip to content

About

Survey-weighted Inmon-style warehouse for Mexico poverty indicators.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

3 Commits

Folders and files

Repository files navigation

Mexico Poverty Data Warehouse

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.

Warehouse architecture

Verified result

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%

KPI dashboard

Architectural correction

The exploratory academic notebook had two common analytical problems:

  1. It calculated rates from a simple random sample without applying the survey expansion factor.
  2. 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

Data marts

  • 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.

Run locally

  1. Obtain pobreza22.csv from the official CONEVAL 2022 programs and databases page.
  2. Place it at data/raw/pobreza22.csv.
  3. Run:
python -m pip install -e ".[dev]"
python -m poverty_warehouse.cli
pytest

The 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.

Repository structure

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

Source, attribution, and scope

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.

Author

Aaron Fernandez Pinto, Data Science student at Universidad Autónoma de Baja California (UABC).


Español

Almacén de datos de pobreza en México

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.

Arquitectura del almacén

Resultado verificado

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%

Dashboard de KPI

Corrección arquitectónica

El notebook académico exploratorio tenía dos problemas analíticos comunes:

  1. Calculaba tasas a partir de una muestra aleatoria simple sin aplicar el factor de expansión de la encuesta.
  2. 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

Data marts

  • 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.

Ejecución local

  1. Obtén pobreza22.csv desde la página oficial de programas y bases de datos de CONEVAL 2022.
  2. Colócalo en data/raw/pobreza22.csv.
  3. Ejecuta:
python -m pip install -e ".[dev]"
python -m poverty_warehouse.cli
pytest

La 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.

Estructura del repositorio

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

Fuente, atribución y alcance

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.

Autor

Aaron Fernandez Pinto, estudiante de Ciencia de Datos en la Universidad Autónoma de Baja California (UABC).

About

Survey-weighted Inmon-style warehouse for Mexico poverty indicators.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages