Para Arca Continental su principal canal de distribución es el canal tradicional, es decir, las tienditas de la esquina. Esto permite que la familia de productos de la compañía Coca Cola estén siempre cerca de sus consumidores a través de estas pequeñas empresas familiares que forman parte de su propia comunidad.
Sin embargo, este tipo de formato de Retail está enfrentando una fuerte competencia por parte de los canales modernos. En un principio fueron las tiendas de conveniencia como Oxxo y 7-Eleven quienes comenzaron a crear una importante cantidad de nuevos establecimientos, cada vez más en zonas habitacionales y no solo en avenidas o gasolineras.
bd <- read.csv("/Users/marcogonzalez/Desktop/Programacion Bootcamp/Datos Arca Continental Original.csv")
summary(bd)
## 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
##
##
##
str(bd)
## '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" ...
# Convertir tipo de variables
bd$Cliente <- as.integer(bd$Cliente)
## Warning: NAs introduced by coercion
bd$Enero <- as.integer(bd$Enero)
## Warning: NAs introduced by coercion
bd$Febrero <- as.integer(bd$Febrero)
## Warning: NAs introduced by coercion
bd$Marzo <- as.integer(bd$Marzo)
## Warning: NAs introduced by coercion
bd$Abril <- as.integer(bd$Abril)
## Warning: NAs introduced by coercion
bd$Mayo <- as.integer(bd$Mayo)
## Warning: NAs introduced by coercion
bd$Junio <- as.integer(bd$Junio)
## Warning: NAs introduced by coercion
bd$Julio <- as.integer(bd$Julio)
## Warning: NAs introduced by coercion
bd$Agosto <- as.integer(bd$Agosto)
## Warning: NAs introduced by coercion
bd$Septiembre <- as.integer(bd$Septiembre)
## Warning: NAs introduced by coercion
bd$Octubre <- as.integer(bd$Octubre)
## Warning: NAs introduced by coercion
bd$Noviembre <- as.integer(bd$Noviembre)
## Warning: NAs introduced by coercion
bd$Diciembre <- as.integer(bd$Diciembre)
## Warning: NAs introduced by coercion
# ¿Cuantos NA´s en la base de datos?
sum(is.na(bd))
## [1] 3149804
# ¿Cuantos NA´s hay por variable?
sapply(bd,function(x) sum(is.na(x)))
## ID Año Territorio
## 0 0 0
## Sub.Territorio CEDI Cliente
## 0 0 1
## Nombre Tamaño.Cte.Industria Segmento.Det
## 0 0 0
## Marca Presentacion Tamaño
## 0 0 0
## Retornable_NR Enero Febrero
## 0 233552 231286
## Marzo Abril Mayo
## 227507 224186 217073
## Junio Julio Agosto
## 215908 223538 220367
## Septiembre Octubre Noviembre
## 337402 338483 338546
## Diciembre
## 341955
boxplot(bd$Enero)
boxplot(bd$Diciembre)
mean(bd$Enero, na.rm = TRUE)
## [1] 9.391922
mean(bd$Enero, trim = 10/100, na.rm = TRUE)
## [1] 3.677421
plot(bd$ID, bd$Enero, main="Ventas")
#library(dplyr)
# Muestra las ventas de Enero a Junio Por Cedi
#bdl <- select(bd,CEDI, Enero:Junio)
#head(bd1)
# Muestra los movimientos por Cedi y tamaño de tienda grande.
#bd2 <- filter(bd, Tamaño.Cte.Industria=="Grande")
#head(bd2)
# Ordena la base de datos por Cedi, por marca y por presentación.
#bd3 <- arrange(bd,CEDI)
#head(bd3)
#bd4 <- arrange(bd, Marca)
#head(bd4)
#bd5 <- arrange(bd, Presentacion)
#head(bd5)
# Cambia el nombre del campo Sub Territorio por Sub_territorio
#bd6 <- rename(bd, Sub_territorio = Sub.Territorio)
#head(bd6)
# Agrega un campo calculado con las ventas del primer semestre y muestra las ventas del primer semestre por marca.
#bd7 <- bd
#bd7$VentasSemestreUno <- sum(bd$Enero, bd$Febrero, bd$Marzo, bd$Abril, bd$Mayo, bd$Junio, na.rm = TRUE)
#head(bd7)
# Obtén la media de las ventas del primer semestre agrupado por marca, presentación y tamaño.
#summary(bd7)
En este ejercicio detectamos que la base de datos está bien construida, no tiene valores faltantes más que en los meses donde no hay ventas. Detectamos un renglón con valores de ventas con formato fecha que deberemos eliminar más adelantê. se realizaron algunas conversiones de tipos de dato de caracter (texto) a números enteros. Se practicaron algunas funciones de manejo básico de tablas.