Analizar la información de las ventas de 2016 a 2019 de productos de la familia Coca-Cola en algunos de los establecimientos de la zona Metropolitana de Guadalajara, en los cuales se implementó el Proyecto Siglo XXI de Arca Comercial.
## 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
##
##
##
## ── Attaching core tidyverse packages ──────────────────────── tidyverse 2.0.0 ──
## ✔ dplyr 1.1.3 ✔ readr 2.1.4
## ✔ forcats 1.0.0 ✔ stringr 1.5.0
## ✔ ggplot2 3.4.3 ✔ tibble 3.2.1
## ✔ lubridate 1.9.2 ✔ tidyr 1.3.0
## ✔ purrr 1.0.2
## ── Conflicts ────────────────────────────────────────── tidyverse_conflicts() ──
## ✖ dplyr::filter() masks stats::filter()
## ✖ dplyr::lag() masks stats::lag()
## ℹ Use the conflicted package (<http://conflicted.r-lib.org/>) to force all conflicts to become errors
## 'data.frame': 466509 obs. of 25 variables:
## $ ID : int 1 2 3 4 5 6 7 8 9 10 ...
## $ Año : int 2016 2016 2016 2016 2016 2016 2016 2016 2016 2016 ...
## $ Territorio : chr "Guadalajara" "Guadalajara" "Guadalajara" "Guadalajara" ...
## $ Sub.Territorio : chr "Belenes" "Belenes" "Belenes" "Belenes" ...
## $ CEDI : chr "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" "Suc. Belenes" ...
## $ Cliente : chr "77737" "77737" "77737" "77737" ...
## $ Nombre : chr "ABARR" "ABARR" "ABARR" "ABARR" ...
## $ Tamaño.Cte.Industria: chr "Extra Grande" "Extra Grande" "Extra Grande" "Extra Grande" ...
## $ Segmento.Det : chr "Agua Mineral" "Agua Purificada" "Agua Purificada" "Agua Saborizada" ...
## $ Marca : chr "Topo Chico A.M." "Ciel Agua Purificada" "Ciel Agua Purificada" "Ciel Exprim" ...
## $ Presentacion : chr "600 ml NR" "1 Ltro. N.R." "1.5 Lts. NR" "600 ml NR" ...
## $ Tamaño : chr "Individual" "Individual" "Individual" "Individual" ...
## $ Retornable_NR : chr "No Retornable" "No Retornable" "No Retornable" "No Retornable" ...
## $ Enero : chr "" "" "" "" ...
## $ Febrero : chr "" "2" "" "" ...
## $ Marzo : chr "" "8" "3" "" ...
## $ Abril : chr "" "4" "6" "" ...
## $ Mayo : chr "" "4" "3" "" ...
## $ Junio : chr "" "2" "3" "" ...
## $ Julio : chr "" "2" "3" "" ...
## $ Agosto : chr "" "2" "3" "" ...
## $ Septiembre : chr "" "2" "3" "" ...
## $ Octubre : chr "" "2" "3" "" ...
## $ Noviembre : chr "" "4" "3" "" ...
## $ Diciembre : chr "1" "2" "3" "1" ...
## Territorio n
## 1 Guadalajara 466508
## 2 Territorio 1
# 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)## Segmento.Det n
## 1 Sabores Regular 156242
## 2 Colas Regular 95720
## 3 Colas Light 43807
## 4 Jugos y Néctares 33362
## 5 Bebidas de Fruta 30641
## 6 Agua Purificada 20766
## 7 Agua Mineral 12590
## 8 Isotónicos Regular 11905
## 9 Té Regular 10062
## 10 Agua Saborizada 10056
## 11 Bebidas Energeticas 9847
## 12 Sabores Light 7330
## 13 Leche UHT Saborizada 6395
## 14 Leche UHT Regular 5618
## 15 Bebidas de Soya 5277
## 16 Leche UHT Especializ 4655
## 17 Isotónicos Light 1009
## 18 Cafe Listo Para Bebe 979
## 19 Té Light 241
## 20 Polvos 6
## 21 Segmento Det 1
# 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 renglon 184065 que tiene títulos en lugar de datos.
2. Cambiar formato (de Enero a Diciembre) de caracter a entero.
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## Warning: NAs introduced by coercion
## 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. :-19.00 Min. :-11.00 Min. :-32.00
## Class :character 1st Qu.: 1.00 1st Qu.: 1.00 1st Qu.: 1.00
## Mode :character Median : 2.00 Median : 2.00 Median : 3.00
## Mean : 9.39 Mean : 9.09 Mean : 10.54
## 3rd Qu.: 6.00 3rd Qu.: 6.00 3rd Qu.: 6.00
## Max. :999.00 Max. :986.00 Max. :986.00
## NA's :233551 NA's :231285 NA's :227506
## Abril Mayo Junio Julio
## Min. :-70.00 Min. :-106.00 Min. :-211.00 Min. :-60.00
## 1st Qu.: 1.00 1st Qu.: 1.00 1st Qu.: 1.00 1st Qu.: 1.00
## Median : 3.00 Median : 3.00 Median : 3.00 Median : 2.00
## Mean : 10.62 Mean : 11.44 Mean : 10.98 Mean : 10.72
## 3rd Qu.: 6.00 3rd Qu.: 7.00 3rd Qu.: 6.00 3rd Qu.: 6.00
## Max. :993.00 Max. : 991.00 Max. : 998.00 Max. :993.00
## NA's :224185 NA's :217072 NA's :215907 NA's :223537
## Agosto Septiembre Octubre Noviembre
## Min. :-211.00 Min. :-527 Min. :-38.0 Min. :-25.0
## 1st Qu.: 1.00 1st Qu.: 1 1st Qu.: 1.0 1st Qu.: 1.0
## Median : 3.00 Median : 3 Median : 3.0 Median : 3.0
## Mean : 10.95 Mean : 12 Mean : 12.1 Mean : 11.8
## 3rd Qu.: 6.00 3rd Qu.: 7 3rd Qu.: 7.0 3rd Qu.: 6.0
## Max. : 999.00 Max. : 993 Max. :998.0 Max. :991.0
## NA's :220366 NA's :337401 NA's :338482 NA's :338545
## Diciembre
## Min. :-28
## 1st Qu.: 1
## Median : 3
## Mean : 13
## 3rd Qu.: 7
## Max. :997
## NA's :341954
Observaciones.
3. Tenemos NA en las columnas de los meses.
4. Tenemos cantidades negativas.
5. No tenemos ventas por año.
6. Cantidades máximas muy elevadas.
## [1] 3149791
## 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 233551 231285
## Marzo Abril Mayo
## 227506 224185 217072
## Junio Julio Agosto
## 215907 223537 220366
## Septiembre Octubre Noviembre
## 337401 338482 338545
## Diciembre
## 341954
# Reemplazar NA con CEROS
df[is.na(df)] <- 0
# Agregar columna de ventas
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
# Gráfica de Caja y Bigotes
boxplot(df$Enero,horizontal=TRUE)## 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. :-19.00 Min. :-11.000 Min. :-32.000
## Class :character 1st Qu.: 0.00 1st Qu.: 0.000 1st Qu.: 0.000
## Mode :character Median : 0.00 Median : 0.000 Median : 0.000
## Mean : 4.69 Mean : 4.581 Mean : 5.401
## 3rd Qu.: 2.00 3rd Qu.: 2.000 3rd Qu.: 3.000
## Max. :999.00 Max. :986.000 Max. :986.000
## Abril Mayo Junio Julio
## Min. :-70.000 Min. :-106.000 Min. :-211.0 Min. :-60.000
## 1st Qu.: 0.000 1st Qu.: 0.000 1st Qu.: 0.0 1st Qu.: 0.000
## Median : 0.000 Median : 0.000 Median : 0.0 Median : 0.000
## Mean : 5.519 Mean : 6.117 Mean : 5.9 Mean : 5.583
## 3rd Qu.: 3.000 3rd Qu.: 3.000 3rd Qu.: 3.0 3rd Qu.: 3.000
## Max. :993.000 Max. : 991.000 Max. : 998.0 Max. :993.000
## Agosto Septiembre Octubre Noviembre
## Min. :-211.000 Min. :-527.000 Min. :-38.000 Min. :-25.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.777 Mean : 3.311 Mean : 3.327 Mean : 3.248
## 3rd Qu.: 3.000 3rd Qu.: 1.000 3rd Qu.: 1.000 3rd Qu.: 1.000
## Max. : 999.000 Max. : 993.000 Max. :998.000 Max. :991.000
## Diciembre Ventas
## Min. :-28.000 Min. :-527.00
## 1st Qu.: 0.000 1st Qu.: 2.00
## Median : 0.000 Median : 7.00
## Mean : 3.477 Mean : 56.93
## 3rd Qu.: 0.000 3rd Qu.: 26.00
## Max. :997.000 Max. :9517.00
¿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? Respuesta: Se observa un incremento general de las ventas por año.
# install.packages("ggplot2)
library(ggplot2)
ggplot(df, aes(x=Año, y=Ventas)) +
geom_bar(stat="identity") +
labs(
title="Ventas por Año",
subtitle="Caso Arca Continental"
)¿El incremento en las ventas es similar entre los diferentes tamaños de clientes? Respuesta: El incremento de ventas se debió a la incorporación de tamaño de cliente Grande y Pequeño. Extra Grande bajó sus ventas el último año, y Micro las subió
# install.packages("ggplot2)
library(ggplot2)
ggplot(df, aes (x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas por Año",
subtitle = "Caso Arca Continental"
)df2 <- df %>% filter(Tamaño.Cte.Industria=="Extra Grande" |
Tamaño.Cte.Industria=="Micro")
ggplot(df2, aes (x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas por Año",
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 por Año",
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 por Año",
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 por Año",
subtitle = "Caso Arca Continental"
)¿Cuál es el comportamiento observado de las unidades vendidas por mes de cada una de las marcas, independientemente de sus respectivas presentaciones? Respuesta: La marca 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.
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 Coca-Cola",
subtitle = "Caso Arca Continental"
)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 Sprite",
subtitle = "Caso Arca Continental"
)¿Se ha incrementado la venta de productos en envases retornables en los últimos dos años? Respuesta: No, solo hubó un incremento en el último año
df8 <- df %>% filter(Retornable_NR=="Retornable")
ggplot(df8, aes (x=Año, y=Ventas, colour=Tamaño.Cte.Industria)) +
geom_bar(stat="identity") +
labs(
title = "Ventas por Año de Envases Retornables",
subtitle = "Caso Arca Continental"
)¿El comportamiento de la venta de agua ha incrementado en relación al de los refrescos o las bebidas isotónicas? Respuesta: Las ventas de Agua Purificada y Colas Regular bajaron en su último año. Sin embargo, Isotónicos Regular aumentó año con año.
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"
) ¿Puede decirse que la venta mensual de agua está relacionada con la venta mensual de refrescos en los últimos 4 años? Respuesta: La venta de agua y refrescos no esta relacionada.
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"
)¿A cuánto ascienden las ventas esperadas para el 2020 en la Coca Cola de 500 ml NR Vidrio? Respuesta: Acorde a un modelo predictivo utilizando regresión lineal, las ventas esperadas para Coca Cola de 500 ml NR Vidrio en 2020 son de 444,066 unidades, con una R cuadrada ajustada del 48%.
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
## -23838.5 35316.5 882.5 -12360.5
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -54970594 28310425 -1.942 0.192
## Año 27433 14032 1.955 0.190
##
## Residual standard error: 31380 on 2 degrees of freedom
## Multiple R-squared: 0.6565, Adjusted R-squared: 0.4847
## F-statistic: 3.822 on 1 and 2 DF, p-value: 0.1898
#Ecuación de la recta y = -71,595,678 + 35,692 * Año
datos <-data.frame(Año=2020)
predict(regresion,datos)## 1
## 444065.5