Importar la base de datos

#file.choose()
bd_limpia <- read.csv("C:\\Users\\maria\\Documents\\abarrotes_bd_limpia.csv")

Herramienta: “Generador de Valor de Datos”

Paso 1. Definir el área de negocios que deseamos impactar o mejorar y su KPI.

Área de Ventas. Incremento de ventas.

Paso 2. Seleccionar plantilla (-s) para crear valor a partir de los datos de los clientes.

Visión / Segmentación / Personalización / Contextualización

Paso 3. Generar ideas o conceptos específicos.
  1. Generar un análisis de Market Basket para relacionar productos.
  2. Crear una estrategia de nuevo acomodo de productos en tienda dependiendo de los productos comprados.
  3. Añadir nuevos productos a la oferta.
Paso 4. Reunir los datos requeridos.

Información innecesaria se encontraba en la base de datos.

Paso 5. Plan de ejecución.

El abarrote analizado podría empezar a vender sándwiches ya hechos como estrategia para diversificar su canasta y satisfacer las necesidades de sus clientes. Además se descubrió que el cliente normalmente cuando compra Cloralex también compran Pinol y cuando compra Fabuloso también compran Salvo, por lo que se podrían hacer paquetes a un menor precio para vender más.

Market Basket Analysis

    # install.packages("plyr")
     library(Matrix)    
    # install.packages("arules")
     library(arules)
## 
## Attaching package: 'arules'
## The following objects are masked from 'package:base':
## 
##     abbreviate, write
    # install.packages("arulesViz")
     library(arulesViz)
     library(datasets)

Ordenar de menor a mayor los Tickets

bd_limpia <- bd_limpia[order(bd_limpia$F.Ticket),]
     head(bd_limpia)
##   vcClaveTienda  DescGiro      Fecha Hora                      Marca
## 1         MX001 Abarrotes 2020-06-19    8                NUTRI LECHE
## 2         MX001 Abarrotes 2020-06-19    8                     DAN UP
## 3         MX001 Abarrotes 2020-06-19    8                      BIMBO
## 4         MX001 Abarrotes 2020-06-19    8                      PEPSI
## 5         MX001 Abarrotes 2020-06-19    8 BLANCA NIEVES (DETERGENTE)
## 6         MX001 Abarrotes 2020-06-19    8                      FLASH
##                   Fabricante                           Producto Precio
## 1                    MEXILAC                Nutri Leche 1 Litro   16.0
## 2           DANONE DE MEXICO DANUP STRAWBERRY P/BEBER 350GR NAL   14.0
## 3                GRUPO BIMBO                Rebanadas Bimbo 2Pz    5.0
## 4        PEPSI-COLA MEXICANA                   Pepsi N.R. 400Ml    8.0
## 5 FABRICA DE JABON LA CORONA      Detergente Blanca Nieves 500G   19.5
## 6                       ALEN      Flash Xtra Brisa Marina 500Ml    9.5
##   Ult.Costo Unidades F.Ticket NombreDepartamento          NombreFamilia
## 1     12.31        1        1          Abarrotes Lacteos y Refrigerados
## 2     14.00        1        2          Abarrotes Lacteos y Refrigerados
## 3      5.00        1        3          Abarrotes         Pan y Tortilla
## 4      8.00        1        3          Abarrotes                Bebidas
## 5     15.00        1        4          Abarrotes     Limpieza del Hogar
## 6      7.31        1        4          Abarrotes     Limpieza del Hogar
##             NombreCategoria     Estado Mts.2 Tipo.ubicación      Giro
## 1                     Leche Nuevo León    60        Esquina Abarrotes
## 2                    Yogurt Nuevo León    60        Esquina Abarrotes
## 3     Pan Dulce Empaquetado Nuevo León    60        Esquina Abarrotes
## 4 Refrescos Plástico (N.R.) Nuevo León    60        Esquina Abarrotes
## 5                Lavandería Nuevo León    60        Esquina Abarrotes
## 6      Limpiadores Líquidos Nuevo León    60        Esquina Abarrotes
##   Hora.inicio Hora.cierre Dia_de_la_Semana Subtotal Utilidad
## 1       08:00       22:00                6     16.0     3.69
## 2       08:00       22:00                6     14.0     0.00
## 3       08:00       22:00                6      5.0     0.00
## 4       08:00       22:00                6      8.0     0.00
## 5       08:00       22:00                6     19.5     4.50
## 6       08:00       22:00                6      9.5     2.19
     tail(bd_limpia)
##        vcClaveTienda   DescGiro      Fecha Hora          Marca
## 107394         MX004 Carnicería 2020-10-15   11         YEMINA
## 167771         MX004 Carnicería 2020-10-15   11     DEL FUERTE
## 149429         MX004 Carnicería 2020-10-15   11 COCA COLA ZERO
## 168750         MX004 Carnicería 2020-10-15   11       DIAMANTE
## 161193         MX004 Carnicería 2020-10-15   12          PEPSI
## 112970         MX004 Carnicería 2020-10-15   12      COCA COLA
##                  Fabricante                       Producto Precio Ult.Costo
## 107394               HERDEZ    PASTA SPAGHETTI YEMINA 200G      7      5.38
## 167771 ALIMENTOS DEL FUERTE PURE DE TOMATE DEL FUERTE 345G     12      9.23
## 149429            COCA COLA           COCA COLA ZERO 600ML     15     11.54
## 168750           EMPACADOS              ARROZ DIAMANTE225G     11      8.46
## 161193  PEPSI-COLA MEXICANA              PEPSI N. R. 500ML     10      7.69
## 112970            COCA COLA     COCA COLA RETORNABLE 500ML     10      7.69
##        Unidades F.Ticket NombreDepartamento        NombreFamilia
## 107394        2   450032          Abarrotes       Sopas y Pastas
## 167771        1   450032          Abarrotes Salsas y Sazonadores
## 149429        2   450034          Abarrotes              Bebidas
## 168750        1   450037          Abarrotes    Granos y Semillas
## 161193        1   450039          Abarrotes              Bebidas
## 112970        8   450040          Abarrotes              Bebidas
##                      NombreCategoria  Estado Mts.2 Tipo.ubicación      Giro
## 107394 Fideos, Spaguetti, Tallarines Sinaloa    53        Esquina Abarrotes
## 167771          Salsa para Spaguetti Sinaloa    53        Esquina Abarrotes
## 149429         Refrescos Retornables Sinaloa    53        Esquina Abarrotes
## 168750                         Arroz Sinaloa    53        Esquina Abarrotes
## 161193     Refrescos Plástico (N.R.) Sinaloa    53        Esquina Abarrotes
## 112970         Refrescos Retornables Sinaloa    53        Esquina Abarrotes
##        Hora.inicio Hora.cierre Dia_de_la_Semana Subtotal Utilidad
## 107394       07:00       23:00                5       14     1.62
## 167771       07:00       23:00                5       12     2.77
## 149429       07:00       23:00                5       30     3.46
## 168750       07:00       23:00                5       11     2.54
## 161193       07:00       23:00                5       10     2.31
## 112970       07:00       23:00                5       80     2.31

Generar basket

# install.packages("plyr")
     library(plyr)
     basket <- ddply(bd_limpia,c("F.Ticket"), function(bd_limpia)paste(bd_limpia$Marca, collapse = ","))

Eliminar Número de Ticket

 basket$F.Ticket <- NULL

Reenombramos el nombre de la columna

colnames(basket) <- c("Marca")

Exportar basket

 write.csv(basket, "basket.csv", quote = FALSE, row.names = FALSE)

Importar transacciones

file.choose() tr <- read.transactions(“C:\Users\maria\Documents\basket.csv”, format = “basket”, sep=“,”)

reglas.asociacion <- apriori(tr, parameter = list(supp=0.001, conf=0.2, maxlen=10)) summary(reglas.asociacion) inspect(reglas.asociacion)

reglas.asociacion <- sort(reglas.asociacion, by =“confidence”, decreasing = TRUE) summary(reglas.asociacion) inspect(reglas.asociacion)

top10reglas <- head(reglas.asociacion, n=10, by=“confidence”) plot(top10reglas, method=“graph”, engine=“htmlwidget”)

Nota: Este apartado se debió de poner en texto ya qué al querer correrlo en markdown no cargaba más que un 95%. Por lo que se optó por poner la foto de la gráfica aparte.

Conclusiones

En este análisis de Market Basket, obtuvimos una gráfica que nos sirvió para relacionar las ventas de los distintos productos. Por ejemplo, obtuvimos que el cliente normalmente cuando compra Pan Bimbo, también compra jamón y mayonesa, por lo que inferimos que se hace sándwiches.

LS0tDQp0aXRsZTogPHNwYW4gc3R5bGU9IkNvbG9yOkdyZWVuIiA+IEFiYXJyb3RlcyAtIE1hcmtldCBCYXNrZXQNCmF1dGhvcjogIk1hcmlhbmEgVWxsb2EgLSBBMDEyNTMwNzYiDQpkYXRlOiAiMjAyMi0wOS0xOSINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiB0cnVlDQogICAgdG9jX2Zsb2F0OiB0cnVlDQogICAgY29kZV9kb3dubG9hZDogdHJ1ZQ0KLS0tDQoNCjxpbWcgc3JjPSAiQzpcXFVzZXJzXFxtYXJpYVxcRG9jdW1lbnRzXFxJVEVTTSBMQUVUXFxTZW1lc3RyZSA3XFxNM1xcaW1hZ2VuZXNcXHRyYWIzLnBuZyI+DQoNCiMjIyMgSW1wb3J0YXIgbGEgYmFzZSBkZSBkYXRvcw0KYGBge3J9DQojZmlsZS5jaG9vc2UoKQ0KYmRfbGltcGlhIDwtIHJlYWQuY3N2KCJDOlxcVXNlcnNcXG1hcmlhXFxEb2N1bWVudHNcXGFiYXJyb3Rlc19iZF9saW1waWEuY3N2IikNCmBgYA0KDQojIyMgSGVycmFtaWVudGE6ICJHZW5lcmFkb3IgZGUgVmFsb3IgZGUgRGF0b3MiDQoNCiMjIyMjICoqUGFzbyAxLioqIERlZmluaXIgZWwgw6FyZWEgZGUgbmVnb2Npb3MgcXVlIGRlc2VhbW9zIGltcGFjdGFyIG8gbWVqb3JhciB5IHN1IEtQSS4NCg0Kw4FyZWEgZGUgVmVudGFzLiBJbmNyZW1lbnRvIGRlIHZlbnRhcy4NCg0KIyMjIyMgKipQYXNvIDIuKiogU2VsZWNjaW9uYXIgcGxhbnRpbGxhICgtcykgcGFyYSBjcmVhciB2YWxvciBhIHBhcnRpciBkZSBsb3MgZGF0b3MgZGUgbG9zIGNsaWVudGVzLg0KDQogIFZpc2nDs24gLyAqKlNlZ21lbnRhY2nDs24qKiAvIFBlcnNvbmFsaXphY2nDs24gLyBDb250ZXh0dWFsaXphY2nDs24NCiAgDQojIyMjIyAqKlBhc28gMy4qKiBHZW5lcmFyIGlkZWFzIG8gY29uY2VwdG9zIGVzcGVjw61maWNvcy4NCg0KMS4gR2VuZXJhciB1biBhbsOhbGlzaXMgZGUgTWFya2V0IEJhc2tldCBwYXJhIHJlbGFjaW9uYXIgcHJvZHVjdG9zLg0KMi4gQ3JlYXIgdW5hIGVzdHJhdGVnaWEgZGUgbnVldm8gYWNvbW9kbyBkZSBwcm9kdWN0b3MgZW4gdGllbmRhIGRlcGVuZGllbmRvIGRlIGxvcyBwcm9kdWN0b3MgY29tcHJhZG9zLg0KMy4gQcOxYWRpciBudWV2b3MgcHJvZHVjdG9zIGEgbGEgb2ZlcnRhLg0KDQojIyMjIyAqKlBhc28gNC4qKiBSZXVuaXIgbG9zIGRhdG9zIHJlcXVlcmlkb3MuDQpJbmZvcm1hY2nDs24gaW5uZWNlc2FyaWEgc2UgZW5jb250cmFiYSBlbiBsYSBiYXNlIGRlIGRhdG9zLiANCg0KDQojIyMjIyAqKlBhc28gNS4qKiBQbGFuIGRlIGVqZWN1Y2nDs24uDQpFbCBhYmFycm90ZSBhbmFsaXphZG8gcG9kcsOtYSBlbXBlemFyIGEgKip2ZW5kZXIgc8OhbmR3aWNoZXMgeWEgaGVjaG9zKiogY29tbyBlc3RyYXRlZ2lhIHBhcmEgZGl2ZXJzaWZpY2FyIHN1IGNhbmFzdGEgeSBzYXRpc2ZhY2VyIGxhcyBuZWNlc2lkYWRlcyBkZSBzdXMgY2xpZW50ZXMuIEFkZW3DoXMgc2UgZGVzY3VicmnDsyBxdWUgZWwgY2xpZW50ZSBub3JtYWxtZW50ZSBjdWFuZG8gY29tcHJhIENsb3JhbGV4IHRhbWJpw6luIGNvbXByYW4gUGlub2wgeSBjdWFuZG8gY29tcHJhIEZhYnVsb3NvIHRhbWJpw6luIGNvbXByYW4gU2Fsdm8sIHBvciBsbyBxdWUgc2UgcG9kcsOtYW4gaGFjZXIgKipwYXF1ZXRlcyBhIHVuIG1lbm9yIHByZWNpbyBwYXJhIHZlbmRlciBtw6FzLioqDQoNCiMjIyBNYXJrZXQgQmFza2V0IEFuYWx5c2lzDQpgYGB7cn0NCiAgICAjIGluc3RhbGwucGFja2FnZXMoInBseXIiKQ0KICAgICBsaWJyYXJ5KE1hdHJpeCkgICAgDQogICAgIyBpbnN0YWxsLnBhY2thZ2VzKCJhcnVsZXMiKQ0KICAgICBsaWJyYXJ5KGFydWxlcykNCiAgICAjIGluc3RhbGwucGFja2FnZXMoImFydWxlc1ZpeiIpDQogICAgIGxpYnJhcnkoYXJ1bGVzVml6KQ0KICAgICBsaWJyYXJ5KGRhdGFzZXRzKQ0KYGBgDQoNCiMjIyMgT3JkZW5hciBkZSBtZW5vciBhIG1heW9yIGxvcyBUaWNrZXRzDQpgYGB7cn0NCmJkX2xpbXBpYSA8LSBiZF9saW1waWFbb3JkZXIoYmRfbGltcGlhJEYuVGlja2V0KSxdDQogICAgIGhlYWQoYmRfbGltcGlhKQ0KICAgICB0YWlsKGJkX2xpbXBpYSkNCmBgYA0KICAgICANCiMjIyMgR2VuZXJhciBiYXNrZXQNCmBgYHtyfQ0KIyBpbnN0YWxsLnBhY2thZ2VzKCJwbHlyIikNCiAgICAgbGlicmFyeShwbHlyKQ0KICAgICBiYXNrZXQgPC0gZGRwbHkoYmRfbGltcGlhLGMoIkYuVGlja2V0IiksIGZ1bmN0aW9uKGJkX2xpbXBpYSlwYXN0ZShiZF9saW1waWEkTWFyY2EsIGNvbGxhcHNlID0gIiwiKSkNCmBgYA0KDQojIyMjIEVsaW1pbmFyIE7Dum1lcm8gZGUgVGlja2V0DQpgYGB7cn0NCiBiYXNrZXQkRi5UaWNrZXQgPC0gTlVMTA0KYGBgDQogICAgDQojIyMjIFJlZW5vbWJyYW1vcyBlbCBub21icmUgZGUgbGEgY29sdW1uYQ0KYGBge3J9DQpjb2xuYW1lcyhiYXNrZXQpIDwtIGMoIk1hcmNhIikNCmBgYA0KICAgICANCiMjIyMgRXhwb3J0YXIgYmFza2V0DQpgYGB7cn0NCiB3cml0ZS5jc3YoYmFza2V0LCAiYmFza2V0LmNzdiIsIHF1b3RlID0gRkFMU0UsIHJvdy5uYW1lcyA9IEZBTFNFKQ0KYGBgDQoNCiMjIyMgSW1wb3J0YXIgdHJhbnNhY2Npb25lcw0KIGZpbGUuY2hvb3NlKCkNCiAgICAgdHIgPC0gcmVhZC50cmFuc2FjdGlvbnMoIkM6XFxVc2Vyc1xcbWFyaWFcXERvY3VtZW50c1xcYmFza2V0LmNzdiIsIGZvcm1hdCA9ICJiYXNrZXQiLCBzZXA9IiwiKQ0KDQpyZWdsYXMuYXNvY2lhY2lvbiA8LSBhcHJpb3JpKHRyLCBwYXJhbWV0ZXIgPSBsaXN0KHN1cHA9MC4wMDEsIGNvbmY9MC4yLCBtYXhsZW49MTApKQ0Kc3VtbWFyeShyZWdsYXMuYXNvY2lhY2lvbikNCmluc3BlY3QocmVnbGFzLmFzb2NpYWNpb24pDQoNCnJlZ2xhcy5hc29jaWFjaW9uIDwtIHNvcnQocmVnbGFzLmFzb2NpYWNpb24sIGJ5ID0iY29uZmlkZW5jZSIsIGRlY3JlYXNpbmcgPSBUUlVFKQ0Kc3VtbWFyeShyZWdsYXMuYXNvY2lhY2lvbikNCmluc3BlY3QocmVnbGFzLmFzb2NpYWNpb24pDQogICAgIA0KdG9wMTByZWdsYXMgPC0gaGVhZChyZWdsYXMuYXNvY2lhY2lvbiwgbj0xMCwgYnk9ImNvbmZpZGVuY2UiKQ0KcGxvdCh0b3AxMHJlZ2xhcywgbWV0aG9kPSJncmFwaCIsIGVuZ2luZT0iaHRtbHdpZGdldCIpDQoNCjxpbWcgc3JjPSAiQzpcXFVzZXJzXFxtYXJpYVxcRG93bmxvYWRzXFxCbGFuay5wbmciPg0KICAgDQoqKk5vdGE6KiogKkVzdGUgYXBhcnRhZG8gc2UgZGViacOzIGRlIHBvbmVyIGVuIHRleHRvIHlhIHF1w6kgYWwgcXVlcmVyIGNvcnJlcmxvIGVuIG1hcmtkb3duIG5vIGNhcmdhYmEgbcOhcyBxdWUgdW4gOTUlLiBQb3IgbG8gcXVlIHNlIG9wdMOzIHBvciBwb25lciBsYSBmb3RvIGRlIGxhIGdyw6FmaWNhIGFwYXJ0ZS4qDQogICAgIA0KIyMjICoqQ29uY2x1c2lvbmVzKioNCiAgICAgDQpFbiBlc3RlIGFuw6FsaXNpcyBkZSBNYXJrZXQgQmFza2V0LCBvYnR1dmltb3MgdW5hIGdyw6FmaWNhIHF1ZSBub3Mgc2lydmnDsyBwYXJhICoqcmVsYWNpb25hciBsYXMgdmVudGFzIGRlIGxvcyBkaXN0aW50b3MgcHJvZHVjdG9zKiouIFBvciBlamVtcGxvLCBvYnR1dmltb3MgcXVlIGVsIGNsaWVudGUgbm9ybWFsbWVudGUgY3VhbmRvIGNvbXByYSBQYW4gQmltYm8sIHRhbWJpw6luIGNvbXByYSBqYW3Ds24geSBtYXlvbmVzYSwgcG9yIGxvIHF1ZSBpbmZlcmltb3MgcXVlIHNlIGhhY2Ugc8OhbmR3aWNoZXMuIA0KDQogICAgIA0KICAgICAgICAgIA0KICAgICAgICAgIA==