Volver al portafolio
E-commerce · Python

CommerceIQ

Plataforma de inteligencia para e-commerce en Python: pedidos de todos los canales, stock por almacén, riesgo de quiebre, margen real y previsión de demanda

Mi rol
Diseñador UX/UI · Análisis de arquitectura
CommerceIQCommerceIQ
01

Contexto

CommerceIQ es una plataforma de inteligencia operativa para comerciantes que venden en tienda propia y en marketplaces: pedidos de todos los canales en la misma cola, stock por almacén, riesgo de quiebre, margen real de cada producto, informes y previsión de demanda.

Hice el producto, el UX/UI y el análisis de arquitectura. La base de comercio es Saleor, en Python y Django, con catálogo, stock, pedidos y webhooks; la inteligencia corre en una App propia en FastAPI conectada a él.

Licencia
BSD-3-Clause
Mi rol
Diseñador UX/UI, análisis de arquitectura
Stack
Python, Django, FastAPI, PostgreSQL, Celery, Redis
02

Problema de negocio

Quien vende en varios canales vive con el stock desencontrado: el producto se agota en el marketplace mientras aún aparece en la tienda, el margen real se pierde entre tarifas distintas y la compra al proveedor se hace a ojo, cuando el ítem ya se agotó.

CommerceIQ lo junta todo: un pedido, un stock y un margen real por producto, y avisa qué se va a agotar antes de que se agote, con cuánto comprar.

03

La base técnica

De Saleor vienen el catálogo con variantes y atributos, los canales de venta con precio y precio de costo por variante, el stock por almacén con cantidad, asignación y reserva, los pedidos con estados y despachos, los webhooks de pedido y de stock, los grupos de permisos, la exportación CSV y las tareas en Celery.

04

El producto CommerceIQ

La capa de inteligencia y toda la interfaz: visión comercial con margen después de tarifas, riesgo de quiebre con cobertura en días y sugerencia de compra, conectores de marketplace con importación idempotente, movimientos rastreables, informes, previsión de demanda y la app del comerciante.

05

Arquitectura

Saleor sigue siendo la fuente de verdad de catálogo, stock y pedidos. CommerceIQ es una App de Saleor en FastAPI: recibe los eventos por webhook, guarda el historial en una base analítica propia, corre importaciones y previsión en Celery y devuelve acciones por la API GraphQL. Un informe pesado nunca compite con el checkout por la base.

Saleor Core y App CommerceIQ, importación idempotente y mapeo de conceptos
06

Decisiones de arquitectura y trade-offs

Seis decisiones registradas como ADRs: el contexto, lo que se decidió, el costo de cada una y cómo aparece para quien usa el producto.

Decisiones de arquitectura con contexto, costo y efecto en la pantalla
07

Arquitectura de información y flujos

El mapa del producto, los cinco grupos de permisos y los tres flujos más importantes: pedido de marketplace hasta el envío, riesgo de quiebre hasta la compra e importación que falla.

Mapa del producto, perfiles y flujos principales
08

Las pantallas en Figma

Trece pantallas desktop con prototipo navegable, para quien cuida de la operación y la gestión comercial.

  1. 01 / 11

    Visión general comercial

    Ingresos, pedidos, ticket medio y margen bruto después de tarifas, ingresos y ganancia bruta por día, la división por canal, los productos en riesgo de quiebre y los más vendidos.

  2. 02 / 11

    Stock y quiebres

    Para cada SKU: en stock, asignado y disponible, venta media, cobertura en días frente al plazo del proveedor y sugerencia de compra. El exceso también aparece, para pausar la compra.

  3. 03 / 11

    Productos

    El catálogo con precio, costo, margen y salud del stock de cada producto, búsqueda por nombre, SKU o código de barras, filtros y paginación.

  4. 04 / 11

    Edición de producto

    Datos del producto, variantes con precio, costo y margen calculado al momento, stock por almacén, publicación por canal, la alerta de quiebre con la cantidad a comprar y el historial de quién cambió qué.

  5. 05 / 11

    Pedidos

    Tienda online y marketplaces en la misma cola, con los estados de Saleor: no confirmado, no despachado, parcialmente despachado, despachado, devuelto y cancelado.

  6. 06 / 11

    Detalle del pedido

    Cada ítem con el almacén de donde sale, la ganancia bruta del pedido después de la tarifa del canal y la línea de tiempo desde la importación, con la clave de idempotencia.

  7. 07 / 11

    Integraciones e importaciones

    Canales conectados, importaciones en segundo plano con recibidos, guardados, repetidos y fallos, y el detalle de cada fallo: el error del canal, el próximo reintento y si requiere acción manual.

  8. 08 / 11

    Movimientos

    Cada ítem que entra, sale o cambia de almacén, con el origen y quién lo hizo. Nada se edita ni se borra: una corrección entra como un nuevo ajuste, con motivo.

  9. 09 / 11

    Informes

    Ingresos por semana, participación y margen por categoría y margen por canal después de tarifas, con exportación en CSV.

  10. 10 / 11

    Previsión de demanda

    Cuánto debe vender cada producto en las próximas semanas, con un rango del 80% en lugar de un número único, el método, los datos usados, los límites y la calidad medida en backtest.

  11. 11 / 11

    Equipo y permisos

    Grupos de permisos aplicados en la API: finanzas ve márgenes sin editar nada, expedición despacha pedidos y ajusta stock, y ninguna consulta cruza empresas.

09

Estados de la interfaz

Cargando, vacío, error con código para soporte y la respuesta de las tareas en segundo plano, como la exportación lista, la importación en curso y los pedidos repetidos que no se duplicaron.

Cargando, vacío, error y segundo plano
10

App del comerciante

El resumen del día con lo que requiere atención, la alerta de stock con la cantidad sugerida y el pedido con la ganancia bruta y el botón de despachar.

Resumen del día, alerta de stock y pedido
11

Previsión de demanda con los pies en la tierra

La previsión es un módulo analítico, y la pantalla fue diseñada para no vender certeza:

Datos
Ventas diarias de todos los canales, sin pedidos cancelados; los días sin stock no cuentan como venta cero
Método
Suavizado exponencial con estacionalidad semanal y anual, recalculado cada día en segundo plano
Calidad
Error medio (MAPE) y sesgo medidos en backtest: la previsión hecha en su momento frente a lo que realmente se vendió
Límites
Lanzamientos y productos con poco historial usan el promedio de la categoría; las promociones fuera del calendario no entran

Sistema Visual

Design system propio en Figma, con variables de color, espaciado y radio, estilos de texto y componentes con variantes: botón, estado del pedido, salud del stock, ítem de menú y card de indicador. Violeta para actuar, verde para el dinero y un color fijo por canal de venta.

Paleta

Violeta

#5B4BF5

Acción principal y marca

Verde Dinero

#0FA47A

Margen y ganancia

Tinta

#14112B

Títulos y textos

Ámbar

#B54708

Atención y exceso

Rojo Quiebre

#B42318

Riesgo de quiebre y cancelado

Amarillo Marketplace

#F5C542

Canal Mercado Libre

Tipografía

Manrope

800

Títulos y números

Inter

400 / 500 / 600 / 700

Interfaz, tablas y formularios

JetBrains Mono

400

SKUs y números de pedido

12

Próximas versiones

Lo que viene a continuación en el roadmap del producto:

Orden de compra
Enviar la sugerencia de compra directo al proveedor y seguir la entrega
Precio por canal
Sugerencia de precio para mantener el margen mínimo después de la tarifa de cada marketplace
Más canales
Conectores para Amazon y Magalu con el mismo modelo de importación idempotente
13

Referencias y créditos

La base técnica de CommerceIQ es Saleor, de Saleor Commerce y la comunidad open source, publicado bajo la licencia BSD-3-Clause.

Repositorio
saleor/saleor
Documentación
docs.saleor.io
Licencia
BSD-3-Clause
14

Aprendizaje

En e-commerce multicanal, los números que importan son el disponible real y el margen después de tarifas, no el stock bruto ni el precio de vitrina. Separar el núcleo de comercio de la inteligencia, con eventos idempotentes entre ambos, hace que el producto sea confiable incluso cuando los canales envían el mismo pedido dos veces.