“El Generador de Valor de Datos”

Paso 1. Area de negocio que buscamos impactar y su KPI. Se busca impactar la cantidad de visitas que se obtienen en el supermercado y de que manera s epodrian segmentar para obtener mejores ganancias.

Paso 2. seleccionar la plantilla (-s) para crear valor a partir de los datos de los clientes.
Vision |Segmentacion | presonalizacion | contextualizacion Se escogio la plantilla de segmentacion

Paso 3. generar ideas o conceptos especificos.
Elaborar un modelo de segmentacion de clientes de acuerdo con la cantidad de visitas realizadas

Paso 4. reunir los datos requeridos.
Elaborar un cluster en el cual se pueden descubrir clientes similares categorizando que tienen en comun.

Paso 5. plan de ejecucion. La elaboracion del cluster del los clientes

Importar la base de datos

#file.choose()
bd12 <- read.csv ("/Users/andreapaolasosa/Desktop/datos_clientes.csv")

Agregar el CustomerID como nombre de los renglones

bd13 <- bd12
rownames(bd13)<- bd13$CustomerID

Eliminar la columna de CustomerID

bd14 <- bd13
bd14 <- subset (bd14, select = -c (CustomerID))

Revisar presencia de datos anormales

summary(bd14)
##      Total             Visitas       
##  Min.   :    3.45   Min.   :  1.000  
##  1st Qu.:  178.30   1st Qu.:  1.000  
##  Median :  292.00   Median :  2.000  
##  Mean   :  415.62   Mean   :  4.227  
##  3rd Qu.:  426.63   3rd Qu.:  5.000  
##  Max.   :84236.25   Max.   :209.000
plot(bd14$Total,bd14$Visitas)

# Los datos fuera de lo normal están fuera de los siguientes límites:
# Límite Inferior = Q1 - 1.5*IQR
# Límite Superior = Q3 + 1.5*IQR
# Q1: Cuartil 1, Q3: Cuartil 3, IQR: Rango Intercuartil = Q3 - Q1

Calcular el Límite Superior del Total

iqr_total <- IQR(bd14$Total)
limite_superior_total <- 426.63 + 1.5*iqr_total
limite_superior_total
## [1] 799.1277

Conservar sólo los Tickets Promedios menores a 800

bd15 <- bd14
bd15 <- bd15[bd15$Total < 800, ]
summary(bd15)
##      Total           Visitas       
##  Min.   :  3.45   Min.   :  1.000  
##  1st Qu.:172.96   1st Qu.:  1.000  
##  Median :272.23   Median :  2.000  
##  Mean   :298.21   Mean   :  4.125  
##  3rd Qu.:390.24   3rd Qu.:  5.000  
##  Max.   :799.62   Max.   :209.000

Calcular el Límite Superior de las Visitas

iqr_visitas <- IQR(bd14$Visitas)
limite_superior_visitas <- 5 + 1.5*iqr_visitas
limite_superior_visitas
## [1] 11

Conservar sólo las Visitas menores a 12

bd16<-bd15
bd16 <- bd16[bd16$Visitas < 12, ]

summary(bd16)
##      Total           Visitas      
##  Min.   :  3.45   Min.   : 1.000  
##  1st Qu.:168.67   1st Qu.: 1.000  
##  Median :267.13   Median : 2.000  
##  Mean   :293.99   Mean   : 2.971  
##  3rd Qu.:384.80   3rd Qu.: 4.000  
##  Max.   :799.62   Max.   :11.000
plot(bd16$Total,bd16$Visitas)

Paso 1. Normalizar variables

# k-means Clustering

bd17 <- bd16
bd17 <- as.data.frame(scale(bd17))

plot(bd17$Total,bd17$Visitas)

Paso 2. k-means Clustering

# Exportar csv
write.csv(asignacion,"clientes_segmentados.csv")
#Visualizar Segmentos
#install.packages("factoextra")
library(factoextra)
## Loading required package: ggplot2
## Welcome! Want to learn more? See two factoextra-related books at https://goo.gl/ve3WBa
fviz_cluster(segmentos, data = bd17,palette=c("red", "blue", "black", "darkgreen"), ellipse.type = "euclid", star.plot = T, repel = T, ggtheme = theme())
## Warning: ggrepel: 3734 unlabeled data points (too many overlaps). Consider
## increasing max.overlaps

# Optimizar k
library(cluster)
library(data.table)

set.seed(123)
optimizacion <- clusGap(bd17, FUN = kmeans, nstart = 25, K.max = 10, B = 50)
## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations

## Warning: did not converge in 10 iterations
plot(optimizacion, xlab = "Numero de clusters k")

Conclusion

En el analisis realizado previamente se puede observar como la segmentacion de mercado en este caso en un supermercado puede ayduar a obtener informacion fundamental acerca del perfil de cada cliente. gracias a la segmentacion se pueden crear clusters de clientes de los cuales se pueden agrupar de acuerdo a la relacion que tengan en comun, de esta manenra implementando estartegias para cada segmento de cliente de acuerdo con sus preferencias.

LS0tCnRpdGxlOiAiU2VnbWVudGFjaW9uIGRlIE1lcmNhZG8iCmF1dGhvcjogIkFuZHJlYSBQYW9sYSBTb3NhIEEwMDgyNzM1OSIKZGF0ZTogIjIwMjItMDktMjAiCm91dHB1dDogCiAgICBodG1sX2RvY3VtZW50OgogICAgICB0b2M6IHRydWUKICAgICAgdG9jX2Zsb2F0OiB0cnVlCiAgICAgIGNvZGVfZG93bmxvYWQ6IHRydWUKICAgICAgIAotLS0KCjxpbWcgc3JjPSAiL1VzZXJzL2FuZHJlYXBhb2xhc29zYS9EZXNrdG9wL3NlZ21lbnRhY2lvbi5wbmciID4KCiMjICJFbCBHZW5lcmFkb3IgZGUgVmFsb3IgZGUgRGF0b3MiCioqUGFzbyAxLioqIEFyZWEgZGUgbmVnb2NpbyBxdWUgYnVzY2Ftb3MgaW1wYWN0YXIgeSBzdSBLUEkuIApTZSBidXNjYSBpbXBhY3RhciBsYSBjYW50aWRhZCBkZSB2aXNpdGFzIHF1ZSBzZSBvYnRpZW5lbiBlbiBlbCBzdXBlcm1lcmNhZG8geSAgZGUgcXVlIG1hbmVyYSBzIGVwb2RyaWFuIHNlZ21lbnRhciBwYXJhIG9idGVuZXIgbWVqb3JlcyBnYW5hbmNpYXMuIAoKKipQYXNvIDIuKiogc2VsZWNjaW9uYXIgbGEgcGxhbnRpbGxhICgtcykgcGFyYSBjcmVhciB2YWxvciBhIHBhcnRpciBkZSBsb3MgZGF0b3MgZGUgbG9zIGNsaWVudGVzLiAgCioqVmlzaW9uKiogIHxTZWdtZW50YWNpb24gfCBwcmVzb25hbGl6YWNpb24gfCBjb250ZXh0dWFsaXphY2lvbiAKU2UgZXNjb2dpbyBsYSBwbGFudGlsbGEgZGUgc2VnbWVudGFjaW9uIAoKKipQYXNvIDMuKiogZ2VuZXJhciBpZGVhcyBvIGNvbmNlcHRvcyBlc3BlY2lmaWNvcy4gIApFbGFib3JhciB1biBtb2RlbG8gZGUgc2VnbWVudGFjaW9uIGRlIGNsaWVudGVzIGRlIGFjdWVyZG8gY29uIGxhIGNhbnRpZGFkIGRlIHZpc2l0YXMgcmVhbGl6YWRhcyAKCioqUGFzbyA0LioqIHJldW5pciBsb3MgZGF0b3MgcmVxdWVyaWRvcy4gICAgCkVsYWJvcmFyIHVuIGNsdXN0ZXIgZW4gZWwgY3VhbCBzZSBwdWVkZW4gZGVzY3VicmlyIGNsaWVudGVzIHNpbWlsYXJlcyBjYXRlZ29yaXphbmRvIHF1ZSB0aWVuZW4gZW4gY29tdW4uCgoqKlBhc28gNS4qKiBwbGFuIGRlIGVqZWN1Y2lvbi4gCkxhIGVsYWJvcmFjaW9uIGRlbCBjbHVzdGVyIGRlbCBsb3MgY2xpZW50ZXMKCgojIyBJbXBvcnRhciBsYSBiYXNlIGRlIGRhdG9zCmBgYHtyfQojZmlsZS5jaG9vc2UoKQpiZDEyIDwtIHJlYWQuY3N2ICgiL1VzZXJzL2FuZHJlYXBhb2xhc29zYS9EZXNrdG9wL2RhdG9zX2NsaWVudGVzLmNzdiIpCmBgYAoKIyMgQWdyZWdhciBlbCBDdXN0b21lcklEIGNvbW8gbm9tYnJlIGRlIGxvcyByZW5nbG9uZXMKYGBge3J9CgpiZDEzIDwtIGJkMTIKcm93bmFtZXMoYmQxMyk8LSBiZDEzJEN1c3RvbWVySUQKYGBgCgojIyBFbGltaW5hciBsYSBjb2x1bW5hIGRlIEN1c3RvbWVySUQKYGBge3J9CmJkMTQgPC0gYmQxMwpiZDE0IDwtIHN1YnNldCAoYmQxNCwgc2VsZWN0ID0gLWMgKEN1c3RvbWVySUQpKQpgYGAKCiMjIFJldmlzYXIgcHJlc2VuY2lhIGRlIGRhdG9zIGFub3JtYWxlcwpgYGB7cn0KCnN1bW1hcnkoYmQxNCkKcGxvdChiZDE0JFRvdGFsLGJkMTQkVmlzaXRhcykKYGBgCgpgYGB7cn0KIyBMb3MgZGF0b3MgZnVlcmEgZGUgbG8gbm9ybWFsIGVzdMOhbiBmdWVyYSBkZSBsb3Mgc2lndWllbnRlcyBsw61taXRlczoKIyBMw61taXRlIEluZmVyaW9yID0gUTEgLSAxLjUqSVFSCiMgTMOtbWl0ZSBTdXBlcmlvciA9IFEzICsgMS41KklRUgojIFExOiBDdWFydGlsIDEsIFEzOiBDdWFydGlsIDMsIElRUjogUmFuZ28gSW50ZXJjdWFydGlsID0gUTMgLSBRMQpgYGAKCiMjIENhbGN1bGFyIGVsIEzDrW1pdGUgU3VwZXJpb3IgZGVsIFRvdGFsCmBgYHtyfQoKaXFyX3RvdGFsIDwtIElRUihiZDE0JFRvdGFsKQpsaW1pdGVfc3VwZXJpb3JfdG90YWwgPC0gNDI2LjYzICsgMS41Kmlxcl90b3RhbApsaW1pdGVfc3VwZXJpb3JfdG90YWwKYGBgCgojIyBDb25zZXJ2YXIgc8OzbG8gbG9zIFRpY2tldHMgUHJvbWVkaW9zIG1lbm9yZXMgYSA4MDAKYGBge3J9CgpiZDE1IDwtIGJkMTQKYmQxNSA8LSBiZDE1W2JkMTUkVG90YWwgPCA4MDAsIF0Kc3VtbWFyeShiZDE1KQpgYGAKCiMjIENhbGN1bGFyIGVsIEzDrW1pdGUgU3VwZXJpb3IgZGUgbGFzIFZpc2l0YXMKYGBge3J9Cmlxcl92aXNpdGFzIDwtIElRUihiZDE0JFZpc2l0YXMpCmxpbWl0ZV9zdXBlcmlvcl92aXNpdGFzIDwtIDUgKyAxLjUqaXFyX3Zpc2l0YXMKbGltaXRlX3N1cGVyaW9yX3Zpc2l0YXMKYGBgCgojIyBDb25zZXJ2YXIgc8OzbG8gbGFzIFZpc2l0YXMgbWVub3JlcyBhIDEyCmBgYHtyfQpiZDE2PC1iZDE1CmJkMTYgPC0gYmQxNltiZDE2JFZpc2l0YXMgPCAxMiwgXQoKc3VtbWFyeShiZDE2KQpwbG90KGJkMTYkVG90YWwsYmQxNiRWaXNpdGFzKQpgYGAKCiMjIFBhc28gMS4gTm9ybWFsaXphciB2YXJpYWJsZXMKYGBge3J9CiMgay1tZWFucyBDbHVzdGVyaW5nCgpiZDE3IDwtIGJkMTYKYmQxNyA8LSBhcy5kYXRhLmZyYW1lKHNjYWxlKGJkMTcpKQoKcGxvdChiZDE3JFRvdGFsLGJkMTckVmlzaXRhcykKYGBgCgojIyBQYXNvIDIuIGstbWVhbnMgQ2x1c3RlcmluZwpgYGB7ciwgaW5jbHVkZT1GQUxTRX0Kc2VnbWVudG9zIDwtIGttZWFucyhiZDE3LCAzKQpzZWdtZW50b3MKCmFzaWduYWNpb24gPC0gY2JpbmQoYmQxNiwgY2x1c3RlciA9IHNlZ21lbnRvcyRjbHVzdGVyKQpoZWFkKGFzaWduYWNpb24sMTApCgpgYGAKYGBge3J9CiMgRXhwb3J0YXIgY3N2CndyaXRlLmNzdihhc2lnbmFjaW9uLCJjbGllbnRlc19zZWdtZW50YWRvcy5jc3YiKQpgYGAKCmBgYHtyfQojVmlzdWFsaXphciBTZWdtZW50b3MKI2luc3RhbGwucGFja2FnZXMoImZhY3RvZXh0cmEiKQpsaWJyYXJ5KGZhY3RvZXh0cmEpCmZ2aXpfY2x1c3RlcihzZWdtZW50b3MsIGRhdGEgPSBiZDE3LHBhbGV0dGU9YygicmVkIiwgImJsdWUiLCAiYmxhY2siLCAiZGFya2dyZWVuIiksIGVsbGlwc2UudHlwZSA9ICJldWNsaWQiLCBzdGFyLnBsb3QgPSBULCByZXBlbCA9IFQsIGdndGhlbWUgPSB0aGVtZSgpKQpgYGAKCmBgYHtyfQojIE9wdGltaXphciBrCmxpYnJhcnkoY2x1c3RlcikKbGlicmFyeShkYXRhLnRhYmxlKQoKc2V0LnNlZWQoMTIzKQpvcHRpbWl6YWNpb24gPC0gY2x1c0dhcChiZDE3LCBGVU4gPSBrbWVhbnMsIG5zdGFydCA9IDI1LCBLLm1heCA9IDEwLCBCID0gNTApCnBsb3Qob3B0aW1pemFjaW9uLCB4bGFiID0gIk51bWVybyBkZSBjbHVzdGVycyBrIikKCmBgYAoKIyMjIENvbmNsdXNpb24KRW4gZWwgYW5hbGlzaXMgcmVhbGl6YWRvIHByZXZpYW1lbnRlIHNlIHB1ZWRlIG9ic2VydmFyIGNvbW8gbGEgc2VnbWVudGFjaW9uIGRlIG1lcmNhZG8gZW4gZXN0ZSBjYXNvIGVuIHVuIHN1cGVybWVyY2FkbyBwdWVkZSBheWR1YXIgYSBvYnRlbmVyIGluZm9ybWFjaW9uIGZ1bmRhbWVudGFsIGFjZXJjYSBkZWwgIHBlcmZpbCBkZSBjYWRhIGNsaWVudGUuCmdyYWNpYXMgYSBsYSBzZWdtZW50YWNpb24gc2UgcHVlZGVuIGNyZWFyIGNsdXN0ZXJzIGRlIGNsaWVudGVzIGRlIGxvcyBjdWFsZXMgc2UgcHVlZGVuIGFncnVwYXIgZGUgYWN1ZXJkbyBhIGxhIHJlbGFjaW9uIHF1ZSB0ZW5nYW4gZW4gY29tdW4sIGRlIGVzdGEgbWFuZW5yYSBpbXBsZW1lbnRhbmRvIGVzdGFydGVnaWFzIHBhcmEgY2FkYSBzZWdtZW50byBkZSBjbGllbnRlIGRlIGFjdWVyZG8gY29uIHN1cyBwcmVmZXJlbmNpYXMuICAKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCg==