En este blog se exploran las posibilidades de analizar datos y crear modelos basados en la Teoría de la Información usando Powerhouse

Mostrando entradas con la etiqueta Segmentos. Mostrar todas las entradas
Mostrando entradas con la etiqueta Segmentos. Mostrar todas las entradas

martes, 17 de enero de 2012

¿Por qué segmentar en forma automática si puedo hacerlo manualmente?

Es una práctica bastante común segmentar una cartera de clientes utilizando métodos manuales. Pero una segmentación automática tiene varias ventajas y en este artículo trataré de comparar ambos métodos utilizando un ejemplo con datos reales.

El objetivo de una segmentación es encontrar grupos de clientes que se parezcan entre sí y que como grupo se distingan de otros segmentos.  La comparación entre clientes se realiza en base a las variables elegidas para identificarlos. Por ejemplo, una empresa que vende electrodomésticos procesó las ventas de 5 años de una muestra de 10.000 clientes y eligió las siguientes variables para crear los segmentos:

  1. Visitas anuales
  2. Productos comprados anualmente
  3. Venta anual
  4. Margen porcentual anual

Antes de realizar la segmentación se calcularon los promedios de cada variable en el total de la muestra
El primer intento de segmentación lo realizó utilizando el Margen, ya que uno de los objetivos del proyecto fue encontrar segmentos con distintos márgenes. Se utilizó el siguiente criterio (arbitrario):
Si el margen <= 5%, segmento 1.
Si es >5% y <= 15%, segmento 2,
Si es >15%, segmento 3
La siguiente tabla muestra los promedios de cada variable en su segmento
Los segmentos discriminan muy bien el margen, lo cual es lógico debido al método utilizado para agrupar los clientes. Pero el resto de las variables no muestra demasiadas diferencias. Esto es razonable. De hecho, dos segmentos distintos podrían tener algunas de sus variables con promedios similares. El problema de esta segmentación es que la única variable que distingue los segmentos es el margen, por lo que la utilidad de los mismos es casi nula.
El segundo intento se realizó utilizando las visitas y los productos comprados.
Combinando 3 intervalos de visitas y 2 intervalos de productos comprados, se obtuvieron 4 segmentos (combinando 3 intervalos con otros 2, deberíamos obtener 6 pares, pero como existe una correlación muy alta entre la cantidad de visitas y los productos comprados, se obtienen solamente 3 pares). La siguiente tabla muestra los promedios

Las visitas y los productos ahora están bien discriminados entre los segmentos. La venta, debido a que es función de las visitas y productos comprados, también está discriminada. Pero el margen es casi el mismo en todos los segmentos!

Una tercera alternativa sería incluir el margen en los criterios de separación, pero en este método manual existen varios criterios arbitrarios:
  1. Las variables elegidas para discriminar los segmentos
  2. Los intervalos de las variables
  3. La cantidad de segmentos a crear

¿Quién nos asegura que los criterios de separación coinciden con una segmentación natural? O sea, cómo sabemos por ejemplo, que un grupo de clientes similares visitan 5 y no 8 veces al año el local. En una segmentación manual, este valor (5, 8 o cualquier otro valor) es uno de los criterios de separación que debe elegirse.
¿Cómo sabemos que una variable, por ejemplo la edad, realmente discrimina el comportamiento de los clientes?

Una segmentación realizada con un algoritmo que sea capaz de resolver estas cuestiones utilizando todas las variables a la vez, podrá encontrar los segmentos naturales que muy probablemente resuelvan el problema de negocio original.

La siguiente tabla de promedios muestra los segmentos encontrados por Powerhouse



El segmento 4 tiene el mayor margen, pero como la venta es casi la cuarta parte de la venta del segmento 3, quizás este último sea el segmento más interesante.
El segmento 1 merece un análisis más profundo para averiguar las razones de por qué, siendo muy similar al 2, el margen es negativo.

En este ejemplo utilicé un modelo con pocas variables para mostrar las ventajas de utilizar métodos automáticos de segmentación. Si la cantidad de variables es mayor, el método manual es más complicado y con más razón se justifica utilizar métodos automáticos de búsqueda de segmentos naturales.

viernes, 28 de marzo de 2008

Modelos de predicción usando modelos de segmentos

En el artículo anterior comenté que los modelos de clusters o segmentos pueden usarse para varios propósitos. Hoy mostraré cómo es posible usar un modelo de segmentos para predecir.

Powerhouse permite generar modelos de clusters con distintas cantidades de segmentos. Cuando se usa el modelo para explicar los datos, se prefieren pocos segmentos, pero si el modelo se usa para predecir, es preferible que la cantidad de segmentos o clusters sea grande.

Un modelo de clusters es normalmente un modelo no supervisado. Dicho de otro modo, no existe una variable output que sirve como guía en la creación del modelo. La utilidad de un modelo no supervisado está relacionada con la manera en que se distribuyen los valores de las variables en cada uno de los clusters.

Si los valores de la variable output (variable a predecir) se distribuyen con diferentes rangos en cada cluster, es posible usar el promedio de los valores de cada cluster como valor predicho. Por ejemplo, supongamos que un modelo contiene 10 clusters. Supongamos también que la variable a predecir es del tipo SI/NO. Si asignamos 1 para SI y 0 para NO, podemos calcular el promedio por cada cluster y cada valor representará la probabilidad de que la variable tome valor SI. La siguiente tabla muestra lo que podrían ser estos valores

Con esta tabla podemos armar el modelo de predicción de la siguiente manera: cuando tenemos un caso nuevo, representado por las mismas variables con las que se armó el modelo de cluster, sólo hay que calcular el cluster al que corresponde. Luego, la predicción, que en este ejemplo será la probabilidad de ser "SI", será la probabilidad asignada al cluster en la tabla de arriba.

Como ejemplo práctico usé datos acerca de los clientes de un banco para armar un modelo de riesgo crediticio. Luego construí un modelo de cluster, que en Powerhouse se llama OPTICL. Modifiqué la cantidad de clusters llevándolo al máximo. Esto resultó en un modelo con 64 clusters. Luego calculé la probabilidad de encontrar valores SI de la variable output usando los datos de entrenamiento.

Es importante aclarar que Powerhouse no usa la variable output para construir un modelo de cluster (si lo hiciera ya no sería un modelo no supervisado).

Finalmente apliqué el modelo en los datos de prueba (esto genera un número de cluster para cada caso) y reemplacé los números de cluster de cada caso por la probabilidad calculada anteriormente.

¿El resultado? Un modelo con un KS de 51% (es un excelente valor). Para comparar, realicé un modelo de predicción utilizando el Scorecard de Powerhouse sobre los mismos datos y encontré que el rendimiento fue levemente superior con un KS de 55% sobre los datos de prueba.

Conclusiones:

Los modelos de predicción no tienen que ser necesariamente supervisados. En este artículo vimos cómo es posible realizar un modelo no supervisado con una muy buena respuesta.

jueves, 27 de marzo de 2008

Segmentaciones con Powerhouse

Los modelos de clustering tienen varios usos, uno de los cuales es la segmentación de clientes.

Se pueden segmentar los clientes en base a diferentes criterios y utilizando distintas variables. Powerhouse tiene la capacidad de encontrar los segmentos naturales que puedan existir en los datos en forma completamente automática. Sólo es necesario indicarle cuáles serán las variables con las que deberá trabajar y elegir algunos de sus modelos.

Como ejemplo de segmentación elegí los datos provenientes de una línea de POS (cajas registradoras). Uno de los módulos de Powerhouse es capaz de leer cada ticket y en base a una serie de parámetros generar automáticamente los datos en el formato usado en cualquier proyecto de Data Mining. En este artículo mostraré unos pocos ejemplos de la información encontrada en la comparación de los clusters o segmentos.

La representación gráfica de los segmentos que muestra Powerhouse es la siguiente:


Los puntos negros representan los clientes. Cuando dos clientes son similares, o sea, los valores que toman todas las variables que los identifican son parecidos, aparecen juntos. Cuanto más se parezcan más juntos estarán. En cambio si dos clientes son muy distintos, ya no serán vecinos sino que estarán situados en zonas separadas.

Cuando la densidad de puntos es alta (o lo que es lo mismo, cuando en una zona se agrupen gran cantidad de clientes similares), el color de la zona es rojo. Cuando una zona tiene muy baja densidad, el color es azul. Los colores intermedios indican zonas con densidades intermedias.

Powerhouse busca las zonas de más baja densidad para delimitar los distintos segmentos. En el gráfico de arriba estos límites están representados por líneas blancas.

Basado en estos datos Powerhouse identificó 3 segmentos (este es el número de segmentos que mejor se ajusta, pero el usuario tiene la posibilidad de elegir un número distinto de segmentos).

Ahora es momento de encontrar qué características tiene cada segmento. O sea, en qué se parecen y en qué se distinguen los segmentos encontrados.

Una manera de hacerlo (y no es la única ofrecida por Powerhouse), es mediante la comparación de clusters que se genera automáticamente con un clic.

La ventana de Estadísticas de los Clusters nos permite ver cómo se distribuyen los valores de cada una de las variables entre los distintos segmentos. En este caso vemos que el monto promedio gastado en cada ticket es distinto en cada segmento. La columna que dice Todos indica cuál es el promedio, el valor mínimo y el máximo de esta variable considerando todos los clientes, en este caso 114,81$. El resto de las columnas indica también los valores promedios, mínimo y máximo pero para cada segmento. Abajo aparecen un pequeño gráfico de la distribución de estas variables.

Es posible hacer análisis similares para otras variables y encontrar el perfil de los clientes de cada segmento para luego tomar algún tipo de acción.

En este proyecto se encontraron muchas diferencias interesantes, por ejemplo una de ellas es que el segmento que deja el márgen bruto más alto también es el que compra pocos productos de indumentaria pero el que más gasta en frutas y verduras.