Inspiration
Inibsa nos planteó un reto muy claro: usar cinco años de ventas para ayudar a su equipo comercial a decidir a quién llamar, qué ofrecerle y por qué.
No queríamos hacer otro dashboard lleno de gráficos. Queríamos crear una herramienta útil para el día a día: algo que un delegado pudiera abrir por la mañana y ver directamente qué clientes necesitan atención.
What it does
Pulse convierte el histórico de compras en alertas comerciales accionables.
Cada alerta responde a cuatro preguntas:
- A quién contactar
- Por qué motivo
- Qué familia de producto trabajar
- Con qué urgencia
El sistema diferencia dos tipos de comportamiento:
- Commodity: productos de consumo más regular. Aquí detectamos reposiciones esperadas o demanda que Inibsa podría estar dejando de capturar.
- Technical: productos de compra más irregular. Aquí buscamos caídas sostenidas frente al comportamiento habitual del cliente, evitando confundir una pausa normal con una fuga real.
Cada alerta incluye impacto estimado, canal recomendado, responsable, plazo y estado. Además, el copiloto IA permite preguntar por alertas, explicar motivos y redactar mensajes comerciales.
How we built it
Lo construimos en tres capas:
- Datos: cargamos y limpiamos los cinco CSVs en Postgres.
- Analítica: clasificamos clientes por familia de producto y generamos señales según cadencia, potencial y deterioro.
- Activación: creamos una API con FastAPI, un frontend con Next.js y un copiloto IA con Gemini y ElevenLabs.
El objetivo fue mantener la lógica clara y trazable, no hacer un modelo difícil de explicar.
Challenges we ran into
El mayor reto fue que no vemos las compras a la competencia. Solo podemos inferirlas comparando el potencial del cliente con lo que compra a Inibsa, y por eso lo indicamos claramente en la interfaz.
También tuvimos que evitar generar demasiadas alertas, diferenciar pausas normales de señales reales de fuga y tratar bien datos problemáticos como devoluciones, valores cero, outliers o potenciales poco fiables.
What we learned
Aprendimos que, en este caso, la utilidad comercial es más importante que la complejidad técnica.
Una alerta solo sirve si el comercial entiende por qué existe. Por eso cada alerta guarda los datos que la activaron y explica el motivo de forma clara.
What's next for Pulse
Los siguientes pasos serían:
- Mejorar los modelos con estacionalidad.
- Aprender de los resultados de cada alerta.
- Añadir una vista geográfica por provincia.
- Registrar alertas convertidas de forma auditable usando Solana.
Built With
- docker
- elevenlabs
- fastapi
- gemini-api
- github-actions
- google-generative-ai
- n8n
- next.js
- pandas
- postgresql
- react
- recharts
- render
- scikit-learn
- tailwindcss
- typescript
- vercel
- ython
Log in or sign up for Devpost to join the conversation.