El objetivo
Practicar un flujo completo de análisis de ventas: explorar un CSV, preparar tablas relacionadas, consultar los datos en PostgreSQL y comunicar indicadores en Power BI. Es un proyecto personal de aprendizaje, realizado con fines educativos y de portfolio.
Dataset y preparación
El archivo data/raw/train.csv contiene transacciones de retail, con información de pedidos, clientes, productos, ubicaciones, envíos y ventas. El repositorio no identifica una fuente externa ni una licencia del dataset; por eso no se atribuye a un proveedor específico.
- Inspección de tipos de columnas, estadísticas descriptivas, valores faltantes y duplicados con Pandas.
- Conversión de las fechas de pedido y envío con
pd.to_datetime(..., dayfirst=True). - Separación de clientes, productos y pedidos. Eliminación de duplicados al construir las tablas de clientes y productos.
- Exportación de archivos CSV procesados para el siguiente paso del análisis.
El notebook comprueba valores faltantes y duplicados; no documenta una imputación general de nulos. Sus rutas de lectura y exportación difieren de la organización actual de las carpetas del repositorio.
Modelo relacional y consultas SQL
El script create_tables.sql define customers, products y orders, con claves primarias y relaciones por cliente y producto. Los importes de ventas se almacenan como numeric(12,2).
Las consultas incluyen ventas por región, categoría, segmento, año y modo de envío; productos, ciudades y clientes con mayores ventas; y cruces por región y categoría.
-- Consulta real de analysis_queries.sql
SELECT
p.category,
ROUND(SUM(o.sales),2) AS total_sales
FROM orders o
JOIN products p
ON o.product_id = p.product_id
GROUP BY p.category
ORDER BY total_sales DESC;La consulta denominada “cantidad de órdenes por región” utiliza COUNT(*): cuenta filas de la tabla, no pedidos únicos. Esta distinción importa al interpretar el indicador.

Modelo publicado en el repositorio · images/data_model.png
Visualización e indicadores
El README documenta un dashboard de Power BI conectado a PostgreSQL, con ventas totales, órdenes, clientes, productos y valor promedio de pedido. Incluye gráficos por región, categoría y segmento, evolución anual y un ranking de diez productos por ventas.
La captura y el archivo PBIX forman parte del repositorio. No se presentan los importes del ejercicio como resultados comerciales ni se atribuyen mejoras de negocio.
Qué practiqué y qué sigue
Este trabajo conecta preparación de datos con Python, conceptos de bases relacionales, agregaciones SQL, modelado en Power BI y medidas DAX básicas. El aprendizaje central es comprender el recorrido del dato y revisar qué representa cada indicador antes de visualizarlo.
El README propone, como próximos pasos, métricas de rentabilidad, más páginas de dashboard, DAX avanzado y automatización de carga. Son mejoras futuras, no funcionalidades ya implementadas.
