El análisis de la cesta de la compra (MBA) es una técnica analítica que se utiliza para predecir las decisiones de compra futuras de los clientes. Estudia los patrones de compra históricos y las preferencias del cliente para predecir lo que preferirá comprar junto con los artículos existentes en su cesta (o carrito). También se conoce como «Análisis de afinidad» o «Minería de reglas de asociación». Aplicación Hay varias aplicaciones para el análisis de la cesta de la compra. Algunas de ellas son: Diseño de la tienda: con base en el MBA, puede colocar productos en su tienda minorista juntos para generar ingresos. Por ejemplo, un cliente que compra pan, probablemente compraría queso o mermelada. Puede colocarlos uno cerca del otro para que los consumidores los noten o recuerden comprarlos. Gestión de inventario: le ayudará a predecir las compras futuras de los clientes durante un período de tiempo. Usando sus datos de ventas históricos, podrá predecir qué artículo probablemente se quedará corto, lo que le ayudará a mantener las existencias en calidad óptima. Ubicaciones de contenido: puede ser utilizado por editores en línea y blogueros para mostrar contenido que los usuarios tienen más probabilidades de leer a continuación. Esto ayudará a reducir la tasa de rebote, mejorar la participación y dar como resultado un mejor rendimiento en los resultados de búsqueda. También se utiliza en motores de recomendación para proporcionar el mejor contenido al usuario Conceptos Reglas de asociación El análisis de la cesta de la compra se realiza principalmente en base a un algoritmo llamado «Algoritmo Apriori». El resultado de este análisis se llama reglas de asociación. Tomemos un ejemplo para entender mejor el concepto. Considere el siguiente conjunto de datos: Transacción Artículo 1 Artículo 2 Artículo 3 1 Leche Azúcar Té en polvo 2 Leche Azúcar Té en polvo 3 Leche Azúcar Té en polvo 4 Leche Azúcar 5 Leche Azúcar Para este conjunto de datos, podemos escribir las siguientes Reglas de asociación: Regla 1: Si se compra leche, también se compra azúcar y viceversa Regla 2: Si se compran leche y azúcar, también se compra té en polvo en el 60% de las transacciones. Este ejemplo es extremadamente pequeño. En la práctica, una regla necesita el apoyo de varios cientos de transacciones, antes de que pueda considerarse estadísticamente significativa, y los conjuntos de datos a menudo contienen miles o millones de transacciones. Tenga en cuenta que las reglas de asociación se escriben en formato «SI-ENTONCES». También podemos utilizar el término «antecedente» para SI y «Consecuente» para ENTONCES. Soporte El soporte muestra la probabilidad a favor del evento bajo análisis. Es la fracción de transacciones en el conjunto de datos que contienen ese producto o un conjunto de productos. Cuanto mayor sea el soporte, más popular es el producto o paquete de productos. Por ejemplo, el soporte de «SI leche y azúcar ENTONCES té en polvo» es de 3/5 transacciones o 60% del total de transacciones. Confianza La confianza es la probabilidad condicional de que el cliente que compra el producto A también compre el producto B. Expresa la eficiencia operativa de la regla. Cuanto mayor sea la confianza, más fuerte será la regla. Se calcula como la relación entre la probabilidad de ocurrencia del evento favorable y la probabilidad de ocurrencia del antecedente. Por ejemplo, la confianza de la leche, el azúcar y el té en polvo se puede expresar como Número de transacciones que incluyen leche y azúcar (antecedente) y té en polvo (consecuente) es 3 El número de transacciones que contienen solo leche y azúcar (antecedente) es 5. P (leche y azúcar Y té en polvo) / P (leche y azúcar) = 3/5 = 60% Por lo tanto, podemos decir que la regla de asociación tiene una confianza del 60%. Ratio de elevación Calcula la eficiencia de la regla para encontrar consecuencias, en comparación con una selección aleatoria de transacciones. Generalmente, un ratio de elevación mayor que uno sugiere cierta aplicabilidad de la regla. Un levantamiento mayor que 1 indica que la presencia de A ha aumentado la probabilidad de que el producto B ocurra en esta transacción. Un levantamiento menor que 1 indica que la presencia de A ha disminuido la probabilidad de que el producto B ocurra en esta transacción Elevación (A > B) = Confianza (A > B) / Soporte (B) La confianza no mide si la asociación entre A y B es aleatoria o no. Considerando que Lift mide la fuerza de asociación entre dos artículos. En el análisis de la cesta de la compra, elegimos las reglas con un Lift de más de uno porque la presencia de un producto aumenta la probabilidad de que aparezcan los otros productos en la misma transacción. Las reglas con mayor confianza son aquellas en las que la probabilidad de que un artículo aparezca en el lado derecho es alta dada la presencia de los artículos en el lado izquierdo. Análisis de la cesta de la compra en R Consideremos el siguiente enunciado del problema: un comercializador está interesado en saber qué producto se compra con qué producto o si ciertos productos se compran juntos como un grupo de artículos que puede usar para diseñar estrategias para las actividades de venta cruzada. El conjunto de datos utilizado en el ejemplo se llama groceries.csv y se puede descargar aquí. Primero, deberá instalar el paquete «arules» en R. library(arules)groc <- read.transactions("groceries.csv", sep=",") Si importa el conjunto de datos como un archivo csv, cada artículo de transacción se dividirá en varias columnas. Por lo tanto, para evitar esto, usamos la función read.transactions() (parte del paquete "arules") que nos permite leer fácilmente nuestros archivos de comestibles como una matriz dispersa. Aquí hay algunos comandos que puede probar para realizar MBA: itemFrequency(groc) # Para examinar la frecuencia de los artículos comprados en los datos.itemFrequencyPlot(groc) # Graficar la frecuencia de los artículos comprados.itemFrequencyPlot(groc, support = 0.2) # Para graficar la frecuencia de los artículos comprados con al menos un 20%itemFrequencyPlot(groc, topN=5) # Para graficar los 20 artículos principales Usamos la función apriori() y proporcionamos una lista de parámetros, que son el nivel de soporte, el nivel de confianza y la longitud mínima de cada conjunto de artículos. Esto nos ayudará a comprender los patrones de transacción en el conjunto de datos.groc.apriori <- apriori(groc, parameter=list(support=0.001, confidence=0.75))summary(groc.apriori)La salida resumida nos proporciona estadísticas resumidas sobre el soporte, la confianza y la elevación de nuestro modelo. Ahora podemos ver las reglas de nuestro modelo usando la función inspect(). inspect(grocery.rules[1:10) To visualize the results, you can use arulesViz: library(arulesViz)plot(groc.apriori,method="graph",interactive=TRUE,shading=NA) Conclusion Market basket analysis is an unsupervised machine learning technique that can be useful for finding patterns in transactional data. It can be a very powerful tool for analyzing the purchasing patterns of consumers