Volver al portafolio

Proyecto End-to-End: ETL con Python → SQL Server

Proyecto centrado en UBI-Games, plataforma con datos simulados de Ubisoft. Transformación de datos crudos en Golden Records para la toma de decisiones estratégicas.

Python Pandas SQL Server ETL Pipeline Data Modeling
Arquitectura ETL UBI-Games

Necesidad del Negocio y Objetivo

La organización busca proyecciones basadas en datos con un objetivo crítico: atraer nuevos inversores y consolidar alianzas estratégicas.

El Desafío Principal

La dirección de la empresa carece de conocimientos técnicos, por lo que se requiere transformar datos crudos en un análisis visual, claro y estratégico.

No basta con mostrar tablas; se deben responder preguntas sobre el comportamiento del usuario, la rentabilidad de los juegos y la actividad en la plataforma para facilitar la toma de decisiones.

Ecosistema de Datos (5 Dimensiones)

El proyecto utiliza registros simulados basados en títulos reales de Ubisoft, modelando la interacción completa:

  • Catálogo: Datos de los juegos, categorías y fechas de lanzamiento.
  • Usuarios: Información demográfica (país, registro).
  • Comportamiento: Registros detallados de sesiones (inicio/fin).
  • Feedback: Calificaciones dadas por usuarios.
  • Monetización: Transacciones económicas en la plataforma.

La Importancia del ETL en Python

El proceso ETL en Python fue diseñado para blindar la calidad del dato ante los errores encontrados en los archivos crudos. Este flujo asegura que los datos que llegan a Power BI y SQL sean "Golden Records".

1. Integridad Referencial Se eliminaron registros huérfanos (sesiones sin usuario) que corromperían el análisis de retención.
2. Lógica Temporal Corrección de formatos de fecha para permitir cálculos de tiempo precisos (duración de sesiones).
3. Calidad Financiera Eliminación de transacciones nulas y duplicados para asegurar KPIs de ingresos matemáticamente correctos.
Script de Limpieza en Python Pandas

Snippet del proceso de limpieza con Pandas

Modelado de Datos (SQL Server)

Transformación de archivos planos desconectados en un modelo relacional robusto.

Diagrama Entidad Relación UBI-Games

Esquema Relacional Optimizado

Justificación del Análisis SQL

Las consultas SQL no son aleatorias; responden directamente a las métricas sugeridas por la gerencia para la atracción de inversores.

Cruzamos las dimensiones de calidad, ventas y tiempo para generar hipótesis sobre "baja puntuación" y detectar éxitos comerciales que podrían ser fracasos en calidad.

KPIS DE NEGOCIO

Rentabilidad por Categoría
Motor Financiero

Permite saber qué género financia a la compañía.

Engagement (Horas Jugadas)
Hardcore Users

Segmentación de clientes VIP por actividad.

ARPU por País
Geolocalización

Ingreso promedio por usuario activo cruzado por zona.

Horas Pico (Infraestructura)
Operativo

Días y horarios de mayor actividad para optimización.

Estructura del Repositorio

Organización modular lista para producción y escalabilidad.

Python/ETL.py

Script principal de orquestación. Extrae, Transforma y Carga (Load) hacia SQL Server.

DDL_JuegosDB.sql

Definición del esquema, creación de tablas, llaves primarias y foráneas.

Datos/Raw

Ingesta de múltiples fuentes CSV simuladas (Catalog, User, Stream, etc.).

Preguntas_Analisis.sql

Queries de negocio optimizadas para responder las preguntas de la gerencia.