Desarrollé una aplicación web interactiva para la segmentación de clientes, utilizando el algoritmo K-Means para identificar patrones de comportamiento, la solución permite explorar dinámicamente los grupos resultantes mediante una interfaz construida en Streamlit, demostrando cómo un modelo de machine learning puede ser accesible y útil a los usuarios.
1. Tema del Proyecto
Se desarrolló el proceso en el ciclo de vida de un proyecto de ML, desde el análisis en un notebook hasta la puesta en producción de un prototipo funcional en en una app que simula cómo un equipo de mercadeo podría segmentar clientes para campañas personalizadas.
2. Resumen Ejecutivo
Problema:
Un centro comercial posee datos transaccionales de sus clientes (ingresos y puntaje de gasto), pero no tiene una forma de agruparlos para crear estrategias de marketing diferenciadas, por lo que sus campañas pueden resultar genéricas y poco efectivas.
Solución:
Se utilizó un modelo de Machine Learning no supervisado (K-Means) para identificar 5 segmentos distintos de clientes. Para hacer este modelo accesible a usuarios no técnicos, se desarrolló una aplicación web interactiva en Streamlit.
Resultado:
Una herramienta web funcional donde el equipo comercial puede ingresar los datos de un nuevo cliente (ingreso y puntaje) y obtener en tiempo real el segmento al que pertenece (ej: "Cliente VIP", "Cliente Ahorrador"), permitiendo aplicar estrategias de fidelización y venta personalizadas.
3. Contexto de Negocio
En la industria del retail, la personalización es clave para la retención. Un centro comercial necesita optimizar su presupuesto de marketing, pasando de un enfoque masivo a uno dirigido. El objetivo es identificar los grupos de clientes más valiosos y los de mayor riesgo para diseñar campañas que aumenten la frecuencia de visita y compra promedio de cada segmento.
4. Trabajo Realizado
El proyecto se dividió en dos fases principales: Modelado y Despliegue.
Análisis y Modelado (Notebook):
Análisis Exploratorio de Datos (EDA) del dataset*.
Selección de las variables clave: Ingreso_Anual y Puntaje_Gasto.
Entrenamiento de un modelo de clustering K-Means, determinando el número óptimo de 5 clústeres. (Mayor separación de grupos en k=5 con silhoutte y descenso más suave a partir de k=5 con elbow)
Los graficos de silhouete score (k de 2 a 10) evidencian que para K=5 el mayor Score promedio (línea roja más a la derecha), con clusters más balanceados o barras similares en altura, no tiene ninguna barra negativa y tiene más forma compacta y consistente en cada grupo:
Análisis e interpretación de los 5 segmentos generados ( 'Ingreso Alto, Gasto Alto', 'Ingreso Bajo, Gasto Alto', etc.).
Exportación del modelo entrenado usando joblib (archivo .pkl).
Desarrollo y Despliegue (App Web):
Desarrollo de una aplicación web usando Streamlit.
La aplicación carga el archivo .pkl del modelo pre-entrenado.
Se implementó una interfaz de usuario (UI) con sliders interactivos para que el usuario ingrese las variables.
Se programó la lógica para que la app tome los inputs, los procese, y entregue la predicción del modelo en tiempo real.
Despliegue de la aplicación en Streamlit Community Cloud para acceso público.
Resultados:
Modelo de Segmentación: Un modelo K-Means funcional, capaz de clasificar clientes en 5 grupos accionables.
Producto Mínimo Viable (MVP): Una aplicación web interactiva que sirve como "puente" directo entre el modelo de datos y el usuario de negocio.
5. Business Case
Problema:
Costo de marketing ineficiente y dificultad para retener clientes valiosos por falta de personalización. .
Hipótesis clave:
Logrando identificar y etiquetar a los clientes en grupos según su comportamiento de gasto e ingreso, es posible crear campañas de lealtad (para los VIP) y campañas de descuento (para los sensibles al precio) que generen un mayor retorno de inversión.
Resultado:
Una herramienta de decisión - app de Streamlit- que permite al equipo de marketing clasificar a cualquier cliente nuevo al instante, facilitando la toma de acciones estratégicas e inmediatas.
Repositorio en [GitHub]