Inspiration Cuando leímos el reto, lo primero que nos impactó no fue el dato técnico, fue el humano. Detrás de cada cliente churneado hay una tiendita de abarrotes, una familia, un negocio pequeño que dejó de recibir producto. Y del otro lado, un equipo comercial que se enteró tarde. Eso nos inspiró a construir algo que no solo predijera números, sino que le diera al equipo de Arca el tiempo que necesita para actuar. No queríamos hacer un modelo más, queríamos hacer una herramienta que alguien realmente pudiera usar el lunes por la mañana.
What it does Churn Hunter es un sistema de scoring de riesgo que analiza el comportamiento histórico de cada tiendita del canal tradicional y la clasifica en un semáforo de 4 niveles:
⚫ Riesgo Inminente — el cliente ya se fue o lleva 2+ meses sin comprar 🔴 Riesgo Alto — no compró este mes, visita urgente 🟡 Riesgo Moderado — compra pero está cayendo, hay que llamarle 🟢 Riesgo Bajo — cliente estable, sin señales de alarma
Los resultados viven en una base de datos MongoDB con 243,000 clientes clasificados, consultable en tiempo real y filtrable por territorio, tamaño de cliente y nivel de riesgo.
How we built it
Construimos un pipeline completo en Python con 5 etapas: Carga: lectura de los 4 archivos CSV (5M+ registros) Feature engineering : calculamos 11 variables por cliente: tendencia de compras, meses consecutivos sin actividad, proporción de meses inactivos, presencia de coolers, entre otras Semáforo : aplicamos reglas de negocio basadas en los patrones reales de los clientes churneados vs activos MongoDB : guardamos los resultados con upsert masivo en lotes de 1,000 documentos Análisis : respondimos las 3 preguntas clave con impacto estimado en pesos
Los umbrales del semáforo no los inventamos, los validamos directamente en los datos. Los clientes churneados tienen una caída promedio de -10.7 transacciones antes de irse y un compras_ultimo_mes de 0.04 vs 82.42 en clientes activos.
Challenges we ran into
El mayor reto fue técnico y de decisión al mismo tiempo: ¿ML o reglas? Con un dataset de 5 millones de registros y un desbalance de clases de 4.6:1, un modelo de ML era tentador. Pero elegimos un sistema basado en reglas porque los jueces no son científicos de datos, son directivos comerciales. Una regla que dice "si no compró este mes, es riesgo alto" es infinitamente más accionable que una probabilidad de 0.73. También fue un reto manejar los outliers: algunas tiendas tienen volúmenes 100 veces mayores al promedio. Decidimos no eliminarlos porque son clientes reales, bodegas y mayoristas, y eliminarlos hubiera distorsionado el análisis.
Accomplishments that we're proud of
Procesamos más de 5 millones de registros y clasificamos 243,000 tienditas en una sola corrida del pipeline Encontramos que los coolers reducen el churn en 33.7 puntos porcentuales, un hallazgo que cambia la estrategia comercial Construimos un sistema que un ejecutivo de ventas puede usar el lunes por la mañana, sin saber nada de código Todo el proyecto, desde cero, incluyendo MongoDB, Python y GitHub, fue construido por un equipo que aprendió las herramientas durante el proceso
What we learned
Aprendimos que los mejores insights no siempre vienen del modelo más sofisticado, vienen de entender bien el negocio primero. La definición de churn (1 mes sin comprar) fue nuestra brújula en cada decisión técnica. También aprendimos que MongoDB es ideal para este tipo de problema: cada cliente tiene un historial de longitud variable, y una base de datos de documentos se adapta mejor que una tabla rígida de SQL. Y aprendimos algo que nadie te enseña en clase: la diferencia entre un proyecto que funciona y uno que convence está en cómo lo comunicas.
What's next for Churn Hunters by Pink Code
Modelo de ML encima del pipeline, usar Random Forest o XGBoost con class_weight='balanced' para mejorar la precisión del scoring más allá de las reglas Dashboard interactivo, una interfaz web donde el equipo comercial pueda ver el semáforo por zona y exportar listas de visitas prioritarias Actualización automática, correr el pipeline cada mes cuando llegan los nuevos datos de ventas, sin intervención manual Alertas en tiempo real, notificar al ejecutivo de cuenta cuando un cliente de su zona pasa de verde a rojo
Built With
- github
- mongobd-compass
- mongodb
- pandas
- python
- visual-studio
Log in or sign up for Devpost to join the conversation.