← Todos los artículos y casos de estudio

Datos · Artículos y casos de estudio

Análisis de devoluciones y rentabilidad en ecommerce

Proyecto integral de analítica de ecommerce centrado en devoluciones, rentabilidad, desempeño de productos, calidad de la adquisición y logística de entrega. Construí el pipeline analítico desde PostgreSQL y Python, pasando por data marts reutilizables, hasta un dashboard interactivo en Metabase, y después concilié las métricas del dashboard directamente contra SQL antes de publicar el análisis final.

Por Henry Mariño ·

Análisis de devoluciones y rentabilidad en ecommerce

Análisis de devoluciones y rentabilidad en ecommerce

Construí un proyecto integral de analítica de ecommerce para entender cómo los ingresos, las devoluciones, el desempeño de los productos, las fuentes de tráfico y la logística de entrega afectan la rentabilidad.

El proyecto va más allá de crear un dashboard. Construí el pipeline de datos desde PostgreSQL y el análisis en SQL, pasando por la exploración en Python, data marts analíticos reutilizables y la visualización en Metabase, hasta la validación final en SQL.


Dashboard interactivo

http://bi.romahomestore.com/public/dashboard/91e02296-ee2e-41c3-b389-84115d1771c3 

 

Usa los filtros para explorar el desempeño por fecha, categoría, marca y fuente de tráfico.

 

El dashboard se alimenta de data marts analíticos construidos en PostgreSQL y validados directamente contra SQL antes de su publicación.


Qué construí

  • Cargué y modelé datos de ecommerce en PostgreSQL.
  • Creé tablas relacionales, llaves, joins y una capa analítica enriquecida.
  • Usé Python, pandas y Jupyter para el análisis exploratorio y estadístico.
  • Construí data marts analíticos reutilizables para inteligencia de negocios.
  • Creé un dashboard interactivo en Metabase con filtros globales.
  • Validé los cálculos del dashboard directamente contra consultas en PostgreSQL.

Arquitectura analítica

Datos de ecommerce en bruto
        ↓
PostgreSQL
        ↓
Modelo de datos relacional / enriquecido
        ↓
Análisis en SQL + Python
        ↓
Data marts analíticos
        ↓
Dashboard en Metabase
        ↓
QA y conciliación en SQL

Resultados clave

  • $5.74M en ingresos analizados
  • 66,019 pedidos
  • 10.16% de tasa de devolución por artículo
  • 51.91% de tasa de margen (aproximación)

Los ingresos aumentaron considerablemente durante el periodo analizado, mientras que la tasa de devolución general se mantuvo relativamente estable, alrededor del 10%.

La búsqueda generó aproximadamente $4.05M, cerca del 71% de los ingresos analizados. Sin embargo, su tasa de devolución fue similar a la de las otras fuentes de tráfico principales, lo que sugiere que su mayor exposición a devoluciones se debió principalmente a su volumen de ventas, mucho mayor.

También probé si los tiempos de entrega más largos se asociaban con más devoluciones. La correlación a nivel de artículo entre el tiempo de envío a entrega y el comportamiento de devolución fue de aproximadamente 0.0027, lo que indica que en este conjunto de datos prácticamente no existe una relación lineal significativa.


Un problema de modelado de datos que tuve que resolver

Uno de los retos más útiles surgió en el dashboard de productos principales (Top Products).

Mi data mart original de productos se agregaba demasiado pronto. Funcionaba para un gráfico estático, pero en cuanto añadí filtros de fecha, categoría, marca y fuente de tráfico al dashboard, la herramienta de BI ya no tenía las dimensiones necesarias para recalcular correctamente el ranking de productos.

Rediseñé el data mart para conservar esas dimensiones y llevé el ranking Top 25 a la capa del dashboard, de modo que los productos se clasifican después de aplicar los filtros.

También guardé componentes aditivos, como ingresos, margen, artículos devueltos y artículos por pedido, en lugar de depender de porcentajes precalculados. Así, métricas como la tasa de devolución y la tasa de margen se pueden recalcular correctamente para cualquier población filtrada.


Control de calidad

No di el dashboard por terminado solo porque los gráficos se vieran bien. Concilié Metabase contra PostgreSQL en:

  • Ingresos, pedidos, tasa de devolución y tasa de margen
  • Filtros de fecha, categoría, marca y fuente de tráfico
  • Análisis de categoría × marca
  • Cálculos de erosión del margen
  • Métricas por fuente de tráfico
  • Rangos de tiempo de entrega
  • Ranking y rentabilidad de los productos principales

Los valores finales del dashboard coincidieron con PostgreSQL, la fuente de verdad.


Habilidades demostradas

SQL · PostgreSQL · Python · pandas · Jupyter · Modelado de datos · Data marts · ETL/ELT · Metabase · Inteligencia de negocios · Visualización de datos · Análisis estadístico · Validación de datos · Git · GitHub · Storytelling con datos


Qué aprendí

  • La granularidad analítica determina directamente lo que puede hacer un dashboard de BI.
  • Las razones suelen tener que recalcularse a partir de componentes aditivos después de filtrar.
  • Actualizar el SQL en Git no actualiza automáticamente la base de datos.
  • Las definiciones de las métricas deben mantenerse consistentes en todas las capas del stack.
  • Un dashboard debe validarse contra su base de datos de origen antes de confiar en él.

Ver el proyecto en GitHub →

WhatsApp