Introducción a la segmentación

  • Artículos
  • Data Science & IA

Introducción

La segmentación de mercado es uno de los componentes clave del marketing estratégico y es fundamental para su éxito: las empresas con mejores resultados impulsan sus negocios basándose en segmentación (Lilien y Rangaswamy 2003, p. 61).

En Brain Food creemos en la importancia de las empresas a conocer a los clientes y lograr ofrecer un servicio de manera más personalizada. Esto permite identificar las necesidades del submercado en el cual se encuentran los clientes de cada segmento, cuáles son los clientes más rentables y cuáles son más probables de responder de manera exitosa una campaña estratégica de marketing. El objetivo de este blog es mostrar cómo podemos generar los segmentos utilizando datos transaccionales, aunque este análisis puede enriquecerse utilizando otras variables de los clientes (como las demográficas). Tenemos experiencia en segmentación de clientes en diversos rubros tales como en medicina, retail, fast food, automotriz, clubes deportivos, entre otros, donde hemos podido perfilar los clientes de acuerdo con las distintas variables de comportamiento y sociodemográficas, identificando oportunidades para ofrecer mejores servicios, fidelizar y fortalecer el vínculo con los clientes y aumentar las ventas.

El propósito de este blog es exponer dos métodos de segmentación de clientes de una tienda online en el Reino Unido. Los datos transaccionales son muy comunes dentro de la industria y el objetivo es lograr segmentar estos clientes de acuerdo con su comportamiento de compra. Para esto se utiliza un análisis RFM (Recency, Frecuency, Monetary Value) para entender el comportamiento de compra de cada uno de los clientes y lograr extraer distintos segmentos.

En primer lugar, se expone una manera de segmentar de acuerdo con los valores de las variables del análisis RFM y el segundo método corresponde a una segmentación basada en el modelo de K-Means. La diferencia entre ambas es que una busca separar los clientes según los valores de cada variable y la segunda busca crear segmentos según la distancia en que se encuentren los clientes según su comportamiento de compra.

Datos

Los datos utilizados en el análisis corresponden a un conjunto de datos transnacionales que se produjeron entre el 12/01/2010 y el 12/09/2011 para una tienda minorista en línea registrada con sede en el Reino Unido[1]. En la siguiente tabla se muestran algunas filas extraídas al azar de la base.

A continuación, se describen las columnas:

  • InvoiceNo: Número de la transacción
  • StockCode: Código del SKU
  • Description: Descripción del SKU
  • Quantity: Cantidad vendida
  • InvoiceDate: Fecha de la transacción
  • UnitPrice: Precio unitario del SKU
  • CustomerID: Id del cliente
  • Country: País de compra
  • TotalSum: Total de venta

Para segmentar los clientes se necesitan extraer variables de los datos transaccionales. Para esto se realiza un análisis RFM (Recency, Frequency, Monetary Value) por sus siglas en inglés:

  • Recency: Días desde la última transacción realizada por el cliente
  • Frequency: Cantidad de transacciones que ha realizado
  • Monetary Value: Total gastado por el cliente

Una vez calculadas estas variables por cada uno de los clientes dentro de la base obtenemos una tabla como la que se muestra a continuación para algunos clientes.

Métodos de segmentación

A partir del análisis RFM se explorarán dos métodos de segmentación, uno basado en separar los clientes de acuerdo con los rangos de las variables y el siguiente basado en un modelo de clusterización que automáticamente genera los distintos segmentos. Para el primer método, se separarán las variables en cuartiles, la siguiente tabla muestra los valores para los percentiles 25%, 50% y 75%.

La tabla muestra el promedio, la desviación estándar, el mínimo, el máximo y los percentiles 25%, 50% y 75%. Con estos valores podemos asignar un puntaje por cada una de las variables. Para la variable Recency un menor valor es mejor, ya que la última compra es más reciente. Por lo tanto, si el cliente se encuentra dentro del percentil 25% tendrá un puntaje de 4. Para Frequency y Monetary Value, tendrán un puntaje de 4 si se encuentran sobre el percentil 75%. En resumen, los puntajes para cada cliente se asignan de la siguiente manera:

  • Recency:
    • 4: valor <= 25%
    • 3: 25% <= valor < 50%
    • 2: 50% <= valor < 75%
    • 1: valor > 75%
  • Frequency y Monetary Value:
    • 1: valor <= 25%
    • 2: 25% <= valor < 50%
    • 3: 50% <= valor < 75%
    • 4: valor > 75%

Luego de asignar el puntaje por cada una de las variables se generan los segmentos de acuerdo con estos. Además, se obtiene un puntaje global sumando los tres puntajes del análisis RFM. Finalmente se obtiene una tabla como la siguiente:

Muchas veces no es conveniente trabajar con gran cantidad de segmentos. En este caso existen tantos segmentos como combinaciones de los puntajes, por lo que habría 61 segmentos. Para disminuir este número, se pueden dividir los segmentos de acuerdo con el puntaje global. En la tabla siguiente se muestran los promedios de cada variable de acuerdo con el puntaje global.

De la tabla anterior se observa mejores valores en cada una de las variables en promedio a medida que sube el puntaje. Si bien ahora contamos con 12 segmentos, podemos crear un menor número de segmentos agrupando los puntajes. Para esto, se considera la siguiente separación:

  • Gold: Puntaje mayor a 9
  • Silver: Puntaje entre 6 y 9
  • Bronze: Puntaje menor a 6

Con esta clasificación se logran crear los segmentos generales obteniendo la siguiente tabla:

Ahora la base cuenta con tres segmentos los cuales pueden ser utilizados para ofrecerles productos y beneficios con el fin de llevar los que son Bronze a Silver y a Gold. En la tabla siguiente se observa los valores promedio de las variables RFM para los tres segmentos.

Al realizar la segmentación de esta manera finalmente se obtienen tres segmentos los cuales nos permiten tomar decisiones estratégicas de acuerdo con el comportamiento de compra de los clientes. Se observa que para el segmento Gold, su última compra fue hace 26 días en promedio, que tienen una frecuencia bastante mayor que los otros dos segmentos con un promedio de 192 compras en el período y el segundo segmento más grande, lo que es una buena noticia. Luego, el segmento Silver compra con bastante menor frecuencia, con 36 compras en promedio, gastan bastante menos que Gold con 724 y en promedio su última compra fue hace 100 días. Por último, el segmento Bronze es claramente el peor de todos, ha comprado en promedio 10 productos, su última compra es en promedio hace 218 días y el total de compras que han realizado es bastante menor que los otros dos segmentos con 199.

Si bien, este tipo de segmentación hace sentido y permite generar conclusiones de los clientes, puede que las separaciones por cuartiles no sea la más adecuada para separar los clientes. Existen varias metodologías que son más data-driven que la analizada. A continuación, se muestra cómo hacer segmentación utilizando el método de K-Means.

El algoritmo consiste en 5 etapas:

  1. Especificar el número de segmentos K
  2. Seleccionar de manera aleatoria K observaciones dentro de la base de datos y tomarlos como los centroides[1] iniciales de los segmentos
  3. Se asignan todos los puntos al centroide más cercano utilizando la distancia euclidiana[2] y se generan K segmentos
  4. Se recalcula el centroide para los K segmentos minimizando la distancia entre el centroide y todos los puntos pertenecientes al mismo segmento

Se repite desde la etapa 3 hasta lograr convergencia del algoritmo

[1] Los centroides en este caso son los puntos representativos del segmento.

[2] La distancia euclidiana se calcula como d(A,B) =  √[(X_A – X_B)²+(Y_A  – Y_B)²] para dos vectores A y B con coordenadas en el eje X e Y.

Para que este algoritmo funcione de manera correcta se necesita que las variables estén en la misma escala y, además, como es una metodología basada en distancias, no funciona muy bien si hay valores muy alejados de la media. Es por esto por lo que se requiere transformar la data antes de utilizar el algoritmo. A continuación, se muestran los histogramas para las variables de RFM.

Existen diversas maneras de transformar los datos para evitar valores demasiados alejados de la media, para este caso, se utiliza la transformación logarítmica ya que los valores son positivos. En la siguiente figura se muestra el resultado.

La última transformación necesaria para poder utilizar el logaritmo es llevar las variables a la misma escala. Esto se logra estandarizando las variables, es decir, restando por el promedio y dividiendo por la desviación estándar. El resultado de las variables se muestra en la siguiente figura.

Ahora que las variables están en la misma escala y no existen valores muy alejados de la media, es posible usar el algoritmo de K-Means. Para saber cuántos segmentos se debieran escoger, se utiliza el método del codo. Este se basa es correr el algoritmo con distinto número de segmentos y ver la suma total de las distancias al cuadrado de los puntos al centroide del segmento que pertenece. Se busca el punto en que no existe una disminución pronunciada. Es decir, donde se encuentra el codo. Esto se muestra en la siguiente figura.

Del método del codo, se observa que el número de segmentos óptimo a extraer son 3. Luego, se asigna un segmento a cada variable de acuerdo con su cercanía y obtenemos la tabla siguiente.

Luego de haber extraído los segmentos, es necesario perfilarlos y describirlos. Para esto, podemos revisar el llamado “Snake Plot” que es el gráfico del promedio de cada una de las variables estandarizadas para ver la diferencia entre cada uno de los segmentos.

Del gráfico se observan valores distintos por segmento, el segmento 0 tiene un Recency promedio bastante alejado de la media y Frequency y Monetary Value bastante elevado, por lo que es un segmento que compra con bastante frecuencia, que su última compra fue reciente y gastan bastante más que el resto de los otros segmentos.  Por otro lado, el segmento 1 compra con baja frecuencia, gastan muy poco en comparación al segmento 0 y su última compra no es muy reciente. Por último, el segmento 2 está bastante cercano a la media, su última compra es similar al promedio, no compro con tanta frecuencia como el segmento 0 pero más frecuente que el segmento 1 y también gastan más que el segmento 1 pero nunca tanto como el segmento 0.

En la tabla siguiente se muestra el promedio de las variables con sus valores originales y el número total de clientes por segmento. Como se muestra en el Snake Plot anterior, el segmento 0 es el mejor segmento según el análisis RFM y el que tiene menor cantidad de clientes. El segmento con mayor número de clientes es el segmento 2, el cual se encuentra entre el segmento 0 y el segmento 1.

Además del promedio, otra forma de ver los segmentos es revisando la desviación del promedio de las variables con respecto al promedio del total de los clientes.

De la figura podemos observar que el segmento 0 tiene una recencia de compra de un 86% menos que el promedio general, una frecuencia con un 188% de aumento con respecto al general y un 221% mayor de gasto total en comparación al promedio. Por otro lado, el segmento 1 se comporta de manera contraria con un 84% más de recencia, un 84% menos de frecuencia de compra y un 86% menos de gasto. Por último, el segmento 2 es el que se encuentra más cercano al promedio, con un 25% menos de recencia, un 27% menos de frecuencia de compra y un 43% menos de gasto total.

Por simplicidad, llamaremos al segmento 0 como Gold, el 1 como Bronze y el 2 como Silver para seguir con la misma terminología del método anterior. Existen distintos objetivos dependiendo del segmento, para Gold es de mantenerlos en ese segmento, para Silver es subirlos a Gold y evitar que vayan a Bronze y para Bronze es subirlos ya sea a Silver o Gold. Las estrategias de marketing deben estar enfocadas en cumplir con estos objetivos, por ejemplo, ofreciendo ofertas exclusivas a Silver para potenciar el consumo y a Bronze para activarlos, Para Gold una opción sería revisar la fecha de última compra y si llevan un tiempo demasiado largo inactivos, contactarlos para reactivarlos.

Conclusión

La segmentación de clientes es una parte fundamental del funcionamiento de las empresas y ayuda a conocer a los clientes y ofrecerles mejores productos y beneficios. Aporta para modificar la estrategia de marketing y forma parte de gran número de empresas exitosas. Los datos transaccionales son los que más comúnmente se encuentran dentro de la industria y contienen información del comportamiento de los clientes.

En este documento se muestran dos métodos de segmentación, uno basado solamente en la separación por cuartiles de cada una de las variables del análisis RFM y posteriormente la asignación de puntajes de acuerdo con estos, y el segundo basado en las distancias de cada uno de los clientes según el valor de las variables. Se obtienen resultados que son relativamente distintos, ya que no necesariamente realizar la separación por cuartiles es la que finalmente crea segmentos similares. De todas maneras, utilizando ambos métodos se obtienen tres segmentos donde uno es el cliente que es más beneficioso para el comercio, ya que gastan más, con mayor frecuencia y además siguen activos, ya que su última compra es reciente. Luego hay un segmento intermedio y por último un segmento que no es beneficioso.

Con la ayuda de estas segmentaciones, uno podría escoger un segmento para realizar acciones con el fin de mover los clientes de un segmento a otro que genere mayores beneficios a la empresa. Por ejemplo, mover del segmento intermedio al mejor segmento o reactivando aquellos que llevan demasiado tiempo inactivos.

Dentro de las recomendaciones, se pueden agregar mayor cantidad de variables, en este caso la nacionalidad podría haber sido incluida. Además, se podría haber agregado como variable el tiempo total desde la primera transacción, que en inglés se denomina Tenure y en ocasiones se agrega al análisis RFM. Además, existen otros métodos de extracción de segmentos tales como segmentación jerárquica, autoencoders y otros métodos de clusterización.

[1] UCI Machine Learning Repository: Online Retail Data Set