Basket Market Analysis

Probablemente os habréis preguntado muchas veces qué combinación ganadora de productos genera más ventas en su tienda física o en el catálogo de su tienda online.

Esta información puede ser aprovechada para numerosos fines. Entre otros:

  • Cross-selling de productos.
  • Redistribución del catálogo o del escaparate (en caso de tratarse de una tienda física): colocar los artículos que puedan co-ocurrir juntos uno cerca del Basket Market Analysisotro.
  • Campañas de email marketing: ofrecer promociones/descuentos/sugerencias de productos relacionados con el que ya sabemos que han comprado.

Pero, ¿y si además pudiéramos conocer la probabilidad de que, habiendo comprado cierto(s) producto(s), el cliente termine comprando otro(s)?

Existe una metodología llamada Market Basket Analysis que nos ayudará en la búsqueda de estos insights.

Market Basket Analysis

En el mundo online acumulamos una enorme base de datos de las transacciones de compra. Cada transacción consiste en una serie de productos que se han comprado de manera conjunta.

Pero, ¿qué productos se compran conjuntamente con más frecuencia? Mediante la metodología del Basket Market Analysis podemos responder preguntas tales como: ¿Existen relaciones entre ciertos productos, que al comprarlos influyen significativamente en la compra de otros productos? Esto lo entendemos como reglas de asociación entre productos.

Podemos entender estas reglas de asociación como “Si compras A y B, entonces es probable que compres C”.

Una medida de la bondad de estas relaciones son los estadísticos Support, Confidence y Lift:

  • Support: proporción del total de compras en las que X e Y se han comprado conjuntamente.

4

  • Confidence: proporción de compras con X donde también se compró Y. En términos estadísticos, se trata de una probabilidad condicional.

5

  • Lift: Un valor de Lift > 1 indica que los productos X e Y se compran conjuntamente más veces de lo esperado. Por tanto, estamos interesados en aquellas relaciones con un valor de Lift>1.

6

Un ejemplo ficticio de los resultados que podríamos obtener de un análisis de este tipo nos lo proporciona la siguiente tabla:

3

La manera de leer la tabla anterior es, por ejemplo, para la primera entrada: “Los productos A y B se han comprado conjuntamente en el 0.23% del total de las transacciones, y además, en el 95% de las transacciones que contienen el producto B también se ha comprado A”. A priori, puede parecer poco un valor para Support del 0.23%: ¡Solamente esta proporción del total de las transacciones contienen A y B!. Pero suponed que tenemos registradas 12K transacciones, ¡se darían 2760 con los productos A y B!

Implementación en R

Utilizamos el algoritmo apriori para encontrar las reglas de asociación que comentábamos anteriormente. Únicamente se ha de instalar en R el paquete arules y ¡manos a la obra!

Todas las funciones necesarias para el análisis las podemos encontrar cargando dicha librería. En caso de obtener numerosas reglas de asociación (todo depende del tipo de estudio que se realice y de la cantidad de transacciones con las que se trabaje), es de gran ayuda el paquete arulesViz. Este añade características adicionales al paquete arules: se apoya en gráficos muy curiosos de las reglas de asociación, permitiéndonos estudiarlas de una manera más cómoda.

Como curiosidad, y para hacernos una ligera idea de cómo trabaja el algoritmo apriori, primero encuentra las transacciones unitarias (es decir, transacciones que contienen un único producto) más frecuentes. A continuación, estudia todas las combinaciones posibles (dos a dos) de las transacciones unitarias, y se queda con las transacciones que contengan dichas combinaciones y que se dan con más frecuencia. Así, iterativamente, el algoritmo continúa hasta que hallan sido generados todos los conjuntos de ítems más frecuentes con k productos y no se obtengan más conjuntos frecuentes dentro de las transacciones.

Si os encontráis en vuestros inicios con R, que no cunda el pánico. Se ha desarrollado un package interactivo de R que os enseñará a sacarle partido a la herramienta. Para más información: “Como empezar a usar R statistics”, de mi compañera Anna Fernández.

Los pasos a seguir para llevar a cabo el Basket Market Analysis en R son:

    1. Leemos el Dataset. Únicamente necesitamos una tabla en la que cada fila contenga el ID de transacción y el nombre del producto.7
    2. Agregar por ID de transacción todos los productos comprados. Existe una función de la librería data.table (llamada del mismo modo) que hace las agregaciones de manera muy eficaz:8Otra alternativa para hacer la agregación, mediante la función split:9
    3. Convertir los datos agregados en tipo de objeto “transacción”:10
    4.  Arrancamos el algoritmo mediante la función a priori de la librería arules.11Notad que los campos de los parámetros para Support y Confidence están vacíos. La definición de estos umbrales mínimos depende de la cantidad de transacciones que manejemos. Para definir el umbral mínimo para Support nos podemos apoyar en el siguiente gráfico: frecuencia del producto en las transacciones.13El código de R para obtener el gráfico anterior:12Nótese como aparece el artículo más frecuente en menos del 0.3% de las transacciones. La línea roja indica donde hemos decidido fijar el umbral mínimo para Support. Este umbral debe ser lo suficientemente pequeño para que entren en juego varios productos en el análisis (en caso de proporcionar un valor muy grande para Support, es posible que el algoritmo no sea capaz de encontrar association rules).
    5.  Finalmente, visualizaremos las reglas de asociación de productos mediante el siguiente código: inspect(rules).  Así, obtendremos una tabla análoga a la del ejemplo. En el caso de no disponer de reglas de asociación, siempre se puede jugar “relajando” los umbrales mínimos de los parámetros Support y Confidence.

Consideraciones

Resulta muy interesante también estudiar las relaciones entre productos más débiles.

Si el análisis muestra que dos artículos no están relacionados fuertemente, y sin embargo, se encuentran muy próximos en el catálogo online (porque puedan pertenecer a la misma categoría de producto, por ejemplo) cabría replantearse una re-estructuración del catálogo.


¡Y listo!

Indagando en estos resultados, ¡podríamos llevarnos muchas sorpresas analizando únicamente las transacciones!.

¿No has probado este tipo de análisis? ¡Anímate!

Y cualquier pregunta que se os presente, no dudéis en comentar 🙂

Mario Martínez

Mario Martínez

Share on facebook
Share on twitter
Share on linkedin
Share on email
4 min
Suscríbete a nuestra newsletter

Los mejores artículos de analítica digital para potenciar tu negocio.

4 comentarios en “Basket Market Analysis”

  1. Pingback: Basket Market Analytics – M4P

  2. Pingback: Basket Market Analysis - M4P

  3. Hola! He estado leyendo esta publicación. Breve y concisa, me ha sido de gran ayuda para hacer un trabajo para la uni…
    Pero se me queda una duda…los umbrales de soporte y confianza, siempre estarán fijados bajo criterios subjetivos, verdad?

    Saludos

  4. Pingback: Modelos de segmentación de clientes - Doctor Metrics

Dejar un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Entradas relacionadas

Aproximación al CLV

El CLV o LTV es una métrica que representa el beneficio económico que obtiene una empresa de un usuario a lo largo del ciclo de relación entre ambos. En este artículo veremos diferentes versiones de esta métrica y cómo calcularlas.

4 minutos

Dificultad

Comparativa de herramientas para procesos ETL

En este post haremos una revisión sobre algunos de los lenguajes/herramientas más utilizados en nuestro ecosistema de analítica digital en procesos de extracción, transformación y carga de datos.

3 minutos

Dificultad

¿Qué es Algolia? El motor de búsqueda para mejorar tu UX y CRO

En este post introducimos el motor de búsqueda Algolia. Este ofrece una API y herramientas de UX intuitivas para crear la experiencia de búsqueda definitiva y así mejorar la experiencia del usuario y aumentar la conversión.

2 minutos

Dificultad

Cómo hacer implementaciones AMP eficientes con GTM

En un artículo anterior introdujimos la manera de implementar AMP con o sin GTM. A continuación veremos una alternativa eficiente y las ventajas que esta aporta.

6 minutos

Dificultad