Utilizar la informacion recolectada como los tickets de los consumidores en los puntos de ventas para permitir la implementacion de tecnicas de analitica avanzada de datos para diseñar estrategias que permitan ofrecer un mejor servicios y promociones a sus tenderos
## ID Año Territorio Sub.Territorio
## Min. : 1 Min. :2016 Length:466509 Length:466509
## 1st Qu.:116628 1st Qu.:2017 Class :character Class :character
## Median :233255 Median :2018 Mode :character Mode :character
## Mean :233255 Mean :2018
## 3rd Qu.:349882 3rd Qu.:2019
## Max. :466509 Max. :2019
## CEDI Cliente Nombre Tamaño.Cte.Industria
## Length:466509 Length:466509 Length:466509 Length:466509
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Segmento.Det Marca Presentacion Tamaño
## Length:466509 Length:466509 Length:466509 Length:466509
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Retornable_NR Enero Febrero Marzo
## Length:466509 Length:466509 Length:466509 Length:466509
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Abril Mayo Junio Julio
## Length:466509 Length:466509 Length:466509 Length:466509
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Agosto Septiembre Octubre Noviembre
## Length:466509 Length:466509 Length:466509 Length:466509
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Diciembre
## Length:466509
## Class :character
## Mode :character
##
##
##
#count(df, Territorio, sort =TRUE)
#count(df, Sub.Territorio, sort =TRUE)
#count(df, CEDI, sort =TRUE)
#count(df, Cliente, sort =TRUE)
#count(df, Nombre, sort =TRUE)
#count(df, Tamaño.Cte.Industria, sort =TRUE)
#count(df, Segmento.Det, sort =TRUE)
#count(df, Marca, sort =TRUE)
#count(df, Presentacion, sort =TRUE)
#count(df, Tamaño, sort =TRUE)
#count(df, Retornable_NR, sort =TRUE)Observaciones:
1. Eliminar reglon 184065 que tiene titulos en lugar de datos.
2. Cambiar formato (de Enero a Diciembre) de caracter a entero.
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## Territorio n
## 1 Guadalajara 466508
## 2 Territorio 1
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
## Warning: NAs introducidos por coerción
df$Año<-as.character(df$Año)
df$Enero <- abs(df$Enero)
df$Febrero <- abs(df$Febrero)
df$Marzo <- abs(df$Marzo)
df$Abril <- abs(df$Abril)
df$Mayo <- abs(df$Mayo)
df$Junio <- abs(df$Junio)
df$Julio <- abs(df$Julio)
df$Agosto <- abs(df$Agosto)
df$Septiembre <- abs(df$Septiembre)
df$Octubre <- abs(df$Octubre)
df$Noviembre <- abs(df$Noviembre)
df$Diciembre <- abs(df$Diciembre)
df[is.na(df)]<-0
resumen<-summary(df)
resumen## ID Año Territorio Sub.Territorio
## Min. : 1 Length:466508 Length:466508 Length:466508
## 1st Qu.:116628 Class :character Class :character Class :character
## Median :233256 Mode :character Mode :character Mode :character
## Mean :233255
## 3rd Qu.:349882
## Max. :466509
## CEDI Cliente Nombre Tamaño.Cte.Industria
## Length:466508 Length:466508 Length:466508 Length:466508
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Segmento.Det Marca Presentacion Tamaño
## Length:466508 Length:466508 Length:466508 Length:466508
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## Retornable_NR Enero Febrero Marzo
## Length:466508 Min. : 0.000 Min. : 0.000 Min. : 0.000
## Class :character 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.000
## Mode :character Median : 0.000 Median : 0.000 Median : 0.000
## Mean : 4.691 Mean : 4.582 Mean : 5.402
## 3rd Qu.: 2.000 3rd Qu.: 2.000 3rd Qu.: 3.000
## Max. :999.000 Max. :986.000 Max. :986.000
## Abril Mayo Junio Julio
## Min. : 0.000 Min. : 0.000 Min. : 0.000 Min. : 0.000
## 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.000
## Median : 0.000 Median : 0.000 Median : 0.000 Median : 0.000
## Mean : 5.521 Mean : 6.122 Mean : 5.908 Mean : 5.585
## 3rd Qu.: 3.000 3rd Qu.: 3.000 3rd Qu.: 3.000 3rd Qu.: 3.000
## Max. :993.000 Max. :991.000 Max. :998.000 Max. :993.000
## Agosto Septiembre Octubre Noviembre
## Min. : 0.000 Min. : 0.000 Min. : 0.00 Min. : 0.00
## 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.00 1st Qu.: 0.00
## Median : 0.000 Median : 0.000 Median : 0.00 Median : 0.00
## Mean : 5.781 Mean : 3.316 Mean : 3.33 Mean : 3.25
## 3rd Qu.: 3.000 3rd Qu.: 1.000 3rd Qu.: 1.00 3rd Qu.: 1.00
## Max. :999.000 Max. :993.000 Max. :998.00 Max. :991.00
## Diciembre
## Min. : 0.000
## 1st Qu.: 0.000
## Median : 0.000
## Mean : 3.479
## 3rd Qu.: 0.000
## Max. :997.000
Observaciones: 3. Tenemos NA en las columnas en los meses. 4. Tenemos
cantidades negativas.
5. Converti en absolutos porque se dificulta encontrar y hacer graficas
al futuro.
6. No tenemos ventas por año. 7. Cantida maximas muy elevedads
## [1] 0
## ID Año Territorio
## 0 0 0
## Sub.Territorio CEDI Cliente
## 0 0 0
## Nombre Tamaño.Cte.Industria Segmento.Det
## 0 0 0
## Marca Presentacion Tamaño
## 0 0 0
## Retornable_NR Enero Febrero
## 0 0 0
## Marzo Abril Mayo
## 0 0 0
## Junio Julio Agosto
## 0 0 0
## Septiembre Octubre Noviembre
## 0 0 0
## Diciembre
## 0
# Borrar todos los registros con NA de la tabla
#df <- na.omit(df)
# Reemplazar NA con CEROS
# df[is.na(df)] <- 0
#En la parte de arriba considere datos negativos como error de dedo
# Reemplazar NA con PROMEDIO
# df$PLU [is.na(df$PLU)] <- mean(df$PLU, na.rm=TRUE)
#Grafica de Caja y Bigotes
boxplot(df$Enero, horizontal = TRUE)¿Puede observarse un crecimiento en las ventas de algunos de los segmentos de productos de la familia Coca Cola en las tiendas en las que se implementó el Proyecto Siglo XXI de Arca Continental?
df$Ventas <- df$Enero + df$Febrero + df$Marzo + df$Abril +df$Mayo + df$Junio + df$Julio+ df$Agosto + df$Septiembre + df$Octubre + df$Noviembre + df$Diciembre
#install.packages("ggplot2")
library(ggplot2)
ggplot(df, aes(x=Año, y=Ventas)) +
geom_bar(stat="identity") +
labs(
title = "Ventas Anuales",
subtitle = "Caso Arca Continental",
)Respuesta
En arca continental, si hubo un aumento de ventas del año 2016 al 2017,
2017 a 2018 se mantuvo y 2018 a 2019 aumentaron.
¿El incremento en las ventas es similar entre los diferentes tamaños de clientes?
library(ggplot2)
ggplot(df, aes(x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas Anuales",
subtitle = "Caso Arca Continental",
)df2 <- df %>% filter(Tamaño.Cte.Industria =="Extra Grande")
ggplot(df2, aes(x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas Anuales",
subtitle = "Caso Arca Continental",
)df3 <- df %>% filter(Tamaño.Cte.Industria =="Grande")
ggplot(df3, aes(x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas Anuales",
subtitle = "Caso Arca Continental",
)df4 <- df %>% filter(Tamaño.Cte.Industria =="Micro")
ggplot(df4, aes(x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas Anuales",
subtitle = "Caso Arca Continental",
)df5 <- df %>% filter(Tamaño.Cte.Industria =="Pequeño")
ggplot(df5, aes(x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas Anuales",
subtitle = "Caso Arca Continental",
)Respuesta
No, basandonos en la grafica anterior, podemos observar que en 2016-2018 solo se consideraba extra grande donde se mantuvo las ventas y micro se redujo las ventas. Pero en 2019, se agregaron otros tamaños de clientes donde parece que el extra grande se redujo a los años anteriores, se agrego tamaño de cliente grande y se aumento un poco el tamaño micro y se agrego el tamaño de clientes pequeño. Si no tuvieramos filtrado esto pareceria que se aumento las ventas en 2019, pero no es del todo verdad.
¿Cuál es el comportamiento observado de las unidades vendidas por mes de cada una de las marcas, independientemente de sus respectivas presentaciones?
#install.packages("ggplot2")
#install.packages("dplyr")
library(ggplot2)
library(dplyr)
df6 <- df %>% filter(Marca =="Coca-Cola")
ggplot(df6, aes(x=Año, y= Ventas, colour = Tamaño.Cte.Industria)) +
geom_bar(stat = "Identity") +
labs(
title = "Ventas por año de la marca de Coca Cola",
subtitle = "Caso Arca Continental Ventas Anuales"
)df7 <- df%>% filter(Marca =="Sprite")
ggplot(df7, aes(x=Año, y= Ventas, colour = Tamaño.Cte.Industria)) +
geom_bar(stat = "Identity") +
labs(
title = "Ventas por año de la marca de Sprite",
subtitle = "Caso Arca Continental Ventas Anuales"
)Respuesta
La marca de Coca-Cola es la más vendida de todas, con incremento de ventas en 2019. La marca Sprite con incremento de ventas año con año
¿Se ha incrementado la venta de productos en envases retornables en los últimos dos años?
df8 <- df%>% filter(Retornable_NR =="Retornable")
ggplot(df7, aes(x=Año, y= Ventas, colour = Tamaño.Cte.Industria)) +
geom_bar(stat = "Identity") +
labs(
title = "Ventas por año de envase retornables",
subtitle = "Caso Arca Continental Ventas Anuales"
)Respuesta
No hubo un incremento en el ultimo año.
¿El comportamiento de la venta de agua ha incrementado en relación al de los refrescos o las bebidas isotónicas?
df9 <- df%>% filter(Segmento.Det =="Agua Purificada" | Segmento.Det=="Isotónicos Regular" | Segmento.Det=="Colas Regular")
ggplot(df9, aes(x=Año, y= Ventas, fill=Segmento.Det)) +
geom_bar(position ="dodge", stat = "identity") +
labs(
title = "Ventas por año",
subtitle = "Caso Arca Continental Ventas Anuales"
)Respuesta
Las ventas de Agua Purificada y Colas Regular bajaron en su ultimo año. Sin embargo, Isotonicos Regular aumento año con año.
¿Puede decirse que la venta mensual de agua está relacionada con la venta mensual de refrescos en los últimos 4 años?
df10 <- df%>% filter(Segmento.Det =="Agua Purificada" | Segmento.Det=="Colas Regular")
ggplot(df10, aes(x=Año, y= Ventas, fill=Segmento.Det)) +
geom_bar(position ="dodge", stat = "identity") +
labs(
title = "Ventas por año",
subtitle = "Caso Arca Continental Ventas Anuales"
)Respuesta
La venta de agua y refresco no esta relacionada.
¿A cuánto ascienden las ventas esperadas para el 2020 en la Coca Cola de 500 ml NR Vidrio?
df11 <- df%>% filter(Marca =="Coca-Cola" & Presentacion =="500 ml NR Vidrio")
df12 <- aggregate(Ventas ~ Año, df11, sum)
df12$Año <- as.integer(df12$Año)
regresion <- lm(Ventas ~ Año, data=df12)
summary(regresion)##
## Call:
## lm(formula = Ventas ~ Año, data = df12)
##
## Residuals:
## 1 2 3 4
## -23817.7 35330.1 792.9 -12305.3
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -54985035 28299337 -1.943 0.191
## Año 27440 14027 1.956 0.190
##
## Residual standard error: 31370 on 2 degrees of freedom
## Multiple R-squared: 0.6568, Adjusted R-squared: 0.4851
## F-statistic: 3.827 on 1 and 2 DF, p-value: 0.1896
#Ecuacion de la recta y = -54985035 + 27440 * Año
datos <- data.frame (Año=2020)
predict(regresion,datos)## 1
## 444169.5
Respuesta
Acorde a un modelo predictivo utilizando regresion lineal, las ventas esperadas para Coca Cola de 500 ml NR Vidrio en 2020 son de 444,169 unidades, con una R cuadrada ajustada del 48%.