Descripción del proyecto
TraducidoEl trabajo principal es un canal ETL que extrae datos de MySQL, los limpia y agrega, y los carga en PostgreSQL, con tablas de hechos y dimensiones bien diseñadas para analizar eventos, usuarios y ingresos. Además, necesitamos trabajos programados — agregaciones diarias y horarias a través de cron o Airflow — y un dashboard en Grafana o Metabase conectado a PostgreSQL. Las métricas que nos importan son DAU, MAU, retención, ARPU y conversión de embudo, y también necesitamos controles automáticos de calidad de datos (conteos de filas y validación de nulos) para que podamos confiar en el dashboard.
La pila está orientada hacia Python, y todo debería ser configurado a través de Docker Compose para un entorno local limpio, de modo que después de la entrega podamos ejecutar y extender el canal nosotros mismos.
Componentes:
— 1. ETL — extracción de MySQL, transformación (limpieza, agregación), carga en PostgreSQL
— 2. Modelos de datos — tablas de hechos/dimensiones para analizar eventos, usuarios, ingresos
— 3. Programador — agregaciones diarias/horarias (cron o Airflow)
— 4. Dashboard — Grafana o Metabase conectado a PostgreSQL
— 5. KPI — DAU, MAU, retención, ARPU, conversiones de embudo
— 6. Control de calidad de datos — conteos de filas y verificaciones de nulos
Pila:
— Python 3 (pandas, SQLAlchemy, psycopg2)
— PostgreSQL
— Grafana o Metabase
— Docker Compose para implementación local