Santiago Mogni.
← Volver a proyectos
Caso de estudio / SALES

Sales Performance Analysis

Del CSV a una lectura visual de las ventas.

ContextoProyecto personal de aprendizaje
Herramientas y enfoquePython · SQL · Power BI
ParticipaciónFlujo de análisis de datos
Captura real del dashboard de ventas en Power BI

Captura real publicada en el repositorio del proyecto.

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.

  1. Inspección de tipos de columnas, estadísticas descriptivas, valores faltantes y duplicados con Pandas.
  2. Conversión de las fechas de pedido y envío con pd.to_datetime(..., dayfirst=True).
  3. Separación de clientes, productos y pedidos. Eliminación de duplicados al construir las tablas de clientes y productos.
  4. 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 real de Power BI con tablas de clientes, pedidos y productos

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.

Seguí explorando