Contexto

Importar la base de datos

#file.choose()
df<- read.csv("C:\\Users\\Acer\\Desktop\\R studio\\arca.csv")

Entender la base de datos

resumen<- summary(df)
resumen
##        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  
##                    
##                    
## 
library(tidyverse)
## ── 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
library(dplyr) 
str(df) 
## '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" ...
count(df, Territorio, sort = TRUE)
##    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)
#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 titulos en lugar de datos.
2. Cambiar formato (De enero a diciembre) de caracter a entero.

Limpieza

df<- df[-184065, ]

df$Enero <- as.integer(df$Enero)
## Warning: NAs introducidos por coerción
df$Febrero <- as.integer(df$Febrero)
## Warning: NAs introducidos por coerción
df$Marzo <- as.integer(df$Marzo)
## Warning: NAs introducidos por coerción
df$Abril <- as.integer(df$Abril)
## Warning: NAs introducidos por coerción
df$Mayo <- as.integer(df$Mayo)
## Warning: NAs introducidos por coerción
df$Junio <- as.integer(df$Junio)
## Warning: NAs introducidos por coerción
df$Julio <- as.integer(df$Julio)
## Warning: NAs introducidos por coerción
df$Agosto <- as.integer(df$Agosto)
## Warning: NAs introducidos por coerción
df$Septiembre <- as.integer(df$Septiembre)
## Warning: NAs introducidos por coerción
df$Octubre <- as.integer(df$Octubre)
## Warning: NAs introducidos por coerción
df$Noviembre <- as.integer(df$Noviembre)
## Warning: NAs introducidos por coerción
df$Diciembre <- as.integer(df$Diciembre)
## Warning: NAs introducidos por coerción
df$Año <- as.character(df$Año)

summary(df)
##        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 meses.
4. Tenemos cantidades negativas.
5. No tenemos ventas totales.

#Cuantos NA tengo en la base de datos?
sum(is.na(df))
## [1] 3149791
# Remplazar NA con CEROS (0)
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

str(df)
## 'data.frame':    466508 obs. of  26 variables:
##  $ ID                  : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ Año                 : chr  "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               : num  0 0 0 0 0 0 1 0 3 0 ...
##  $ Febrero             : num  0 2 0 0 0 0 0 1 3 0 ...
##  $ Marzo               : num  0 8 3 0 0 1 0 0 4 0 ...
##  $ Abril               : num  0 4 6 0 0 0 0 1 4 0 ...
##  $ Mayo                : num  0 4 3 0 0 0 0 0 4 0 ...
##  $ Junio               : num  0 2 3 0 0 0 0 1 4 0 ...
##  $ Julio               : num  0 2 3 0 0 0 0 0 4 0 ...
##  $ Agosto              : num  0 2 3 0 0 0 0 1 7 0 ...
##  $ Septiembre          : num  0 2 3 0 0 0 0 1 4 0 ...
##  $ Octubre             : num  0 2 3 0 0 0 0 0 3 0 ...
##  $ Noviembre           : num  0 4 3 0 0 0 0 0 1 0 ...
##  $ Diciembre           : num  1 2 3 1 0 0 0 0 3 0 ...
##  $ Ventas              : num  1 34 33 1 0 1 1 5 44 0 ...
summary(df)
##        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
# para cambiar a positivo usar absoluto (abs) : df$Enero<- abs(df$Enero)

# Garfica de caja y bigotes
boxplot(df$Enero,horizontal = TRUE)

summary(df)
##        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

Los numeros negativos son asumiendo que fueron devoluciones

Preguntas

Pregunta 1

¿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 en las ventas atraves de los años.

#install.packages("ggplot2")
library(ggplot2)

ggplot(df, aes(x=Ventas)) +
  geom_histogram() +
  labs(
    title = "Histograma de Ventas",
    subtitle = "Arca", 
    y = "Cantidad"
  )
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

ggplot(df, aes(x=Ventas, y= Año, colour=Sub.Territorio)) +
  geom_point() +
  labs(
    title = "Grafica de Puntos",
    subtitle = "ARCA",
    y = "Año"
  )

# stat = "identyty" es para que ponga el total,todas sumadas, no las ventas individuales
ggplot(df, aes(x=Año, y=Ventas)) +
  geom_bar(stat="identity") +
  labs( 
    title = "Ventas por año",
    subtitle = "Caso Arca Continental",
    )

Pregunta 2

¿El incremento en las ventas es similar entre los diferentes tamaños de clientes? Respuesta:El incremento de ventas se debio a la incorporacion de tamaño de cliente Grande y Pequeño. Extra Grande bajo sus ventas el ultimo año, y Micro las subio.

library(ggplot2)
ggplot(df, aes(x=Ventas, y= Tamaño.Cte.Industria, colour=Ventas)) +
  geom_point(stat ="identity") +
  labs(
    title = "Grafica de Puntos",
    subtitle = "ARCA",
    y = "Tamaño.Cte.Industria"
  )

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")

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",
    )

Pregunta 3

¿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 mas 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 Marca 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 Marca Sprite",
    subtitle = "Caso Arca Continental",
    )

Pregunta 4

¿Se ha incrementado la venta de productos en envases retornables en los últimos dos años? Respuesta: No nada mas hubo un incremento en el ultimo 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",
    )

Pregunta 5

¿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 ultimo año. Sin embargo, Isotónicos Regular aumento 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",
    ) 

Pregunta 6

¿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 refresco no estan relacionadas.

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",
    ) 

Pregunta 7

¿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 regresion lineal, las ventas esperadas para Coca Cola de 500 ml NR de 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) -54970595   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
# Ecuacion de la recta y = -54970595 + 27433 * Año

datos <- data.frame(Año=2020)
predict(regresion,datos)
##        1 
## 444065.5
LS0tDQp0aXRsZTogIkV2aWRlbmNpYSINCmF1dGhvcjogIkRpZWdvIEd1dGllcnJleiBGbG9yZXMgQTAxNzIyNDUyIg0KZGF0ZTogImAyMDIzLTA5LTEzYCINCm91dHB1dDogDQogIGh0bWxfZG9jdW1lbnQ6DQogICAgdG9jOiBUUlVFDQogICAgdG9jX2Zsb2F0OiBUcnVlDQogICAgY29kZV9kb3dubG9hZDogVFJVRQ0KICAgIHRoZW1lOiAic3BhY2VsYWIiDQogICAgaGlnaGxpZ3RoOiAibW9ub2Nocm9tZSINCi0tLQ0KDQohW10oQzpcXFVzZXJzXFxBY2VyXFxEZXNrdG9wXFxSIHN0dWRpb1xcY29jYSBjb2xhIGdpZi5naWYpDQoNCg0KDQoNCiMjIyA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPkNvbnRleHRvPC9zcGFuPg0KDQoNCiMjIyA8c3BhbiBzdHlsZT0iY29sb3I6IHJlZDsiPkltcG9ydGFyIGxhIGJhc2UgZGUgZGF0b3M8L3NwYW4+DQpgYGB7cn0NCiNmaWxlLmNob29zZSgpDQpkZjwtIHJlYWQuY3N2KCJDOlxcVXNlcnNcXEFjZXJcXERlc2t0b3BcXFIgc3R1ZGlvXFxhcmNhLmNzdiIpDQpgYGANCg0KIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+RW50ZW5kZXIgbGEgYmFzZSBkZSBkYXRvczwvc3Bhbj4NCmBgYHtyfQ0KcmVzdW1lbjwtIHN1bW1hcnkoZGYpDQpyZXN1bWVuDQpsaWJyYXJ5KHRpZHl2ZXJzZSkNCmxpYnJhcnkoZHBseXIpIA0Kc3RyKGRmKSANCg0KY291bnQoZGYsIFRlcnJpdG9yaW8sIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmLCBTdWIuVGVycml0b3Jpbywgc29ydCA9IFRSVUUpDQojY291bnQoZGYsIENFREksIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmLCBDbGllbnRlLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZiwgTm9tYnJlLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZiwgVGFtYcOxby5DdGUuSW5kdXN0cmlhLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZiwgU2VnbWVudG8uRGV0LCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZiwgTWFyY2EsIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmLCBQcmVzZW50YWNpb24sIHNvcnQgPSBUUlVFKQ0KI2NvdW50KGRmLCBUYW1hw7FvLCBzb3J0ID0gVFJVRSkNCiNjb3VudChkZiwgUmV0b3JuYWJsZV9OUiwgc29ydCA9IFRSVUUpDQpgYGANCk9ic2VydmFjaW9uZXM6DQoxLiBFTGltaW5hciByZW5nbG9uIDE4NDA2NSBxdWUgdGllbmUgdGl0dWxvcyBlbiBsdWdhciBkZSBkYXRvcy4gIA0KMi4gQ2FtYmlhciBmb3JtYXRvIChEZSBlbmVybyBhIGRpY2llbWJyZSkgZGUgY2FyYWN0ZXIgYSBlbnRlcm8uICANCg0KIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+TGltcGllemE8L3NwYW4+DQpgYGB7cn0NCmRmPC0gZGZbLTE4NDA2NSwgXQ0KDQpkZiRFbmVybyA8LSBhcy5pbnRlZ2VyKGRmJEVuZXJvKQ0KZGYkRmVicmVybyA8LSBhcy5pbnRlZ2VyKGRmJEZlYnJlcm8pDQpkZiRNYXJ6byA8LSBhcy5pbnRlZ2VyKGRmJE1hcnpvKQ0KZGYkQWJyaWwgPC0gYXMuaW50ZWdlcihkZiRBYnJpbCkNCmRmJE1heW8gPC0gYXMuaW50ZWdlcihkZiRNYXlvKQ0KZGYkSnVuaW8gPC0gYXMuaW50ZWdlcihkZiRKdW5pbykNCmRmJEp1bGlvIDwtIGFzLmludGVnZXIoZGYkSnVsaW8pDQpkZiRBZ29zdG8gPC0gYXMuaW50ZWdlcihkZiRBZ29zdG8pDQpkZiRTZXB0aWVtYnJlIDwtIGFzLmludGVnZXIoZGYkU2VwdGllbWJyZSkNCmRmJE9jdHVicmUgPC0gYXMuaW50ZWdlcihkZiRPY3R1YnJlKQ0KZGYkTm92aWVtYnJlIDwtIGFzLmludGVnZXIoZGYkTm92aWVtYnJlKQ0KZGYkRGljaWVtYnJlIDwtIGFzLmludGVnZXIoZGYkRGljaWVtYnJlKQ0KZGYkQcOxbyA8LSBhcy5jaGFyYWN0ZXIoZGYkQcOxbykNCg0Kc3VtbWFyeShkZikNCg0KYGBgDQpPYnNlcnZhY2lvbmVzOg0KMy4gVGVuZW1vcyBOQSBlbiBsYXMgY29sdW1uYXMgZGUgbWVzZXMuICANCjQuIFRlbmVtb3MgY2FudGlkYWRlcyBuZWdhdGl2YXMuICANCjUuIE5vIHRlbmVtb3MgdmVudGFzIHRvdGFsZXMuICANCg0KDQpgYGB7cn0NCg0KI0N1YW50b3MgTkEgdGVuZ28gZW4gbGEgYmFzZSBkZSBkYXRvcz8NCnN1bShpcy5uYShkZikpDQoNCiMgUmVtcGxhemFyIE5BIGNvbiBDRVJPUyAoMCkNCmRmW2lzLm5hKGRmKV0gPC0gMA0KDQojIEFncmVnYXIgY29sdW1uYSBkZSB2ZW50YXMNCmRmJFZlbnRhcyA8LSBkZiRFbmVybyArIGRmJEZlYnJlcm8gKyBkZiRNYXJ6byArIGRmJEFicmlsICsgZGYkTWF5byArIGRmJEp1bmlvICsgZGYkSnVsaW8gKyBkZiRBZ29zdG8gKyBkZiRTZXB0aWVtYnJlICsgZGYkT2N0dWJyZSArIGRmJE5vdmllbWJyZSArIGRmJERpY2llbWJyZQ0KDQpzdHIoZGYpDQpzdW1tYXJ5KGRmKQ0KDQojIHBhcmEgY2FtYmlhciBhIHBvc2l0aXZvIHVzYXIgYWJzb2x1dG8gKGFicykgOiBkZiRFbmVybzwtIGFicyhkZiRFbmVybykNCg0KIyBHYXJmaWNhIGRlIGNhamEgeSBiaWdvdGVzDQpib3hwbG90KGRmJEVuZXJvLGhvcml6b250YWwgPSBUUlVFKQ0KDQpzdW1tYXJ5KGRmKQ0KYGBgDQpMb3MgbnVtZXJvcyBuZWdhdGl2b3Mgc29uIGFzdW1pZW5kbyBxdWUgZnVlcm9uIGRldm9sdWNpb25lcyAgDQoNCg0KIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+UHJlZ3VudGFzPC9zcGFuPg0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+UHJlZ3VudGEgMTwvc3Bhbj4gDQrCv1B1ZWRlIG9ic2VydmFyc2UgdW4gY3JlY2ltaWVudG8gZW4gbGFzIHZlbnRhcyBkZSBhbGd1bm9zIGRlIGxvcyBzZWdtZW50b3MgZGUgcHJvZHVjdG9zIGRlIGxhIGZhbWlsaWEgQ29jYSBDb2xhIGVuIGxhcyB0aWVuZGFzIGVuIGxhcyBxdWUgc2UgaW1wbGVtZW50w7MgZWwgUHJveWVjdG8gU2lnbG8gWFhJIGRlIEFyY2EgQ29udGluZW50YWw/ICANCioqUmVzcHVlc3RhOlNlIG9ic2VydmEgdW4gaW5jcmVtZW50byBlbiBsYXMgdmVudGFzIGF0cmF2ZXMgZGUgbG9zIGHDsW9zLiAqKg0KYGBge3J9DQojaW5zdGFsbC5wYWNrYWdlcygiZ2dwbG90MiIpDQpsaWJyYXJ5KGdncGxvdDIpDQoNCmdncGxvdChkZiwgYWVzKHg9VmVudGFzKSkgKw0KICBnZW9tX2hpc3RvZ3JhbSgpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJIaXN0b2dyYW1hIGRlIFZlbnRhcyIsDQogICAgc3VidGl0bGUgPSAiQXJjYSIsIA0KICAgIHkgPSAiQ2FudGlkYWQiDQogICkNCg0KZ2dwbG90KGRmLCBhZXMoeD1WZW50YXMsIHk9IEHDsW8sIGNvbG91cj1TdWIuVGVycml0b3JpbykpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJHcmFmaWNhIGRlIFB1bnRvcyIsDQogICAgc3VidGl0bGUgPSAiQVJDQSIsDQogICAgeSA9ICJBw7FvIg0KICApDQojIHN0YXQgPSAiaWRlbnR5dHkiIGVzIHBhcmEgcXVlIHBvbmdhIGVsIHRvdGFsLHRvZGFzIHN1bWFkYXMsIG5vIGxhcyB2ZW50YXMgaW5kaXZpZHVhbGVzDQpnZ3Bsb3QoZGYsIGFlcyh4PUHDsW8sIHk9VmVudGFzKSkgKw0KICBnZW9tX2JhcihzdGF0PSJpZGVudGl0eSIpICsNCiAgbGFicyggDQogICAgdGl0bGUgPSAiVmVudGFzIHBvciBhw7FvIiwNCiAgICBzdWJ0aXRsZSA9ICJDYXNvIEFyY2EgQ29udGluZW50YWwiLA0KICAgICkNCmBgYA0KDQoNCiMjIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5QcmVndW50YSAyPC9zcGFuPiANCsK/RWwgaW5jcmVtZW50byBlbiBsYXMgdmVudGFzIGVzIHNpbWlsYXIgZW50cmUgbG9zIGRpZmVyZW50ZXMgdGFtYcOxb3MgZGUgY2xpZW50ZXM/DQoqKlJlc3B1ZXN0YTpFbCBpbmNyZW1lbnRvIGRlIHZlbnRhcyBzZSBkZWJpbyBhIGxhIGluY29ycG9yYWNpb24gZGUgdGFtYcOxbyBkZSBjbGllbnRlIEdyYW5kZSB5IFBlcXVlw7FvLiBFeHRyYSBHcmFuZGUgYmFqbyBzdXMgdmVudGFzIGVsIHVsdGltbyBhw7FvLCB5IE1pY3JvIGxhcyBzdWJpby4gKioNCmBgYHtyfQ0KbGlicmFyeShnZ3Bsb3QyKQ0KZ2dwbG90KGRmLCBhZXMoeD1WZW50YXMsIHk9IFRhbWHDsW8uQ3RlLkluZHVzdHJpYSwgY29sb3VyPVZlbnRhcykpICsNCiAgZ2VvbV9wb2ludChzdGF0ID0iaWRlbnRpdHkiKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiR3JhZmljYSBkZSBQdW50b3MiLA0KICAgIHN1YnRpdGxlID0gIkFSQ0EiLA0KICAgIHkgPSAiVGFtYcOxby5DdGUuSW5kdXN0cmlhIg0KICApDQoNCmdncGxvdChkZiwgYWVzKHg9QcOxbywgeT1WZW50YXMsIGNvbG91cj1UYW1hw7FvLkN0ZS5JbmR1c3RyaWEgKSkgKw0KICBnZW9tX2JhcihzdGF0PSJpZGVudGl0eSIpICArDQogIGxhYnMoIA0KICAgIHRpdGxlID0gIlZlbnRhcyBwb3IgYcOxbyIsDQogICAgc3VidGl0bGUgPSAiQ2FzbyBBcmNhIENvbnRpbmVudGFsIiwNCiAgICApDQoNCmRmMjwtIGRmJT4lZmlsdGVyKFRhbWHDsW8uQ3RlLkluZHVzdHJpYT09IkV4dHJhIEdyYW5kZSIpDQoNCmdncGxvdChkZjIsIGFlcyh4PUHDsW8sIHk9VmVudGFzLCBjb2xvdXI9VGFtYcOxby5DdGUuSW5kdXN0cmlhICkpICsNCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiKSAgKw0KICBsYWJzKCANCiAgICB0aXRsZSA9ICJWZW50YXMgcG9yIGHDsW8iLA0KICAgIHN1YnRpdGxlID0gIkNhc28gQXJjYSBDb250aW5lbnRhbCIsDQogICAgKQ0KZGYzPC0gZGYlPiVmaWx0ZXIoVGFtYcOxby5DdGUuSW5kdXN0cmlhPT0iR3JhbmRlIikNCmdncGxvdChkZjMsIGFlcyh4PUHDsW8sIHk9VmVudGFzLCBjb2xvdXI9VGFtYcOxby5DdGUuSW5kdXN0cmlhICkpICsNCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiKSAgKw0KICBsYWJzKCANCiAgICB0aXRsZSA9ICJWZW50YXMgcG9yIGHDsW8iLA0KICAgIHN1YnRpdGxlID0gIkNhc28gQXJjYSBDb250aW5lbnRhbCIsDQogICAgKQ0KZGY0PC0gZGYlPiVmaWx0ZXIoVGFtYcOxby5DdGUuSW5kdXN0cmlhPT0iTWljcm8iKQ0KZ2dwbG90KGRmNCwgYWVzKHg9QcOxbywgeT1WZW50YXMsIGNvbG91cj1UYW1hw7FvLkN0ZS5JbmR1c3RyaWEgKSkgKw0KICBnZW9tX2JhcihzdGF0PSJpZGVudGl0eSIpICArDQogIGxhYnMoIA0KICAgIHRpdGxlID0gIlZlbnRhcyBwb3IgYcOxbyIsDQogICAgc3VidGl0bGUgPSAiQ2FzbyBBcmNhIENvbnRpbmVudGFsIiwNCiAgICApDQoNCmRmNTwtIGRmJT4lZmlsdGVyKFRhbWHDsW8uQ3RlLkluZHVzdHJpYT09IlBlcXVlw7FvIikNCmdncGxvdChkZjUsIGFlcyh4PUHDsW8sIHk9VmVudGFzLCBjb2xvdXI9VGFtYcOxby5DdGUuSW5kdXN0cmlhICkpICsNCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiKSAgKw0KICBsYWJzKCANCiAgICB0aXRsZSA9ICJWZW50YXMgcG9yIGHDsW8iLA0KICAgIHN1YnRpdGxlID0gIkNhc28gQXJjYSBDb250aW5lbnRhbCIsDQogICAgKQ0KDQpgYGANCg0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+UHJlZ3VudGEgMzwvc3Bhbj4gDQrCv0N1w6FsIGVzIGVsIGNvbXBvcnRhbWllbnRvIG9ic2VydmFkbyBkZSBsYXMgdW5pZGFkZXMgdmVuZGlkYXMgcG9yIG1lcyBkZSBjYWRhIHVuYSBkZSBsYXMgbWFyY2FzLCBpbmRlcGVuZGllbnRlbWVudGUgZGUgc3VzIHJlc3BlY3RpdmFzIHByZXNlbnRhY2lvbmVzPw0KKipSZXNwdWVzdGE6IExhIG1hcmNhIENvY2EtY29sYSBlcyBsYSBtYXMgdmVuZGlkYSBkZSB0b2RhcywgY29uIGluY3JlbWVudG8gZGUgdmVudGFzIGVuIDIwMTkuIExhIG1hcmNhIFNwcml0ZSBjb24gaW5jcmVtZW50byBkZSB2ZW50YXMgYcOxbyBjb24gYcOxby4qKg0KYGBge3J9DQpkZjY8LSBkZiU+JWZpbHRlcihNYXJjYT09IkNvY2EtQ29sYSIpDQoNCmdncGxvdChkZjYsIGFlcyh4PUHDsW8sIHk9VmVudGFzLCBjb2xvdXI9VGFtYcOxby5DdGUuSW5kdXN0cmlhICkpICsNCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiKSAgKw0KICBsYWJzKCANCiAgICB0aXRsZSA9ICJWZW50YXMgcG9yIGHDsW8gZGUgTWFyY2EgQ29jYSBDb2xhIiwNCiAgICBzdWJ0aXRsZSA9ICJDYXNvIEFyY2EgQ29udGluZW50YWwiLA0KICAgICkNCg0KZGY3PC0gZGYlPiVmaWx0ZXIoTWFyY2E9PSJTcHJpdGUiKQ0KDQpnZ3Bsb3QoZGY3LCBhZXMoeD1Bw7FvLCB5PVZlbnRhcywgY29sb3VyPVRhbWHDsW8uQ3RlLkluZHVzdHJpYSApKSArDQogIGdlb21fYmFyKHN0YXQ9ImlkZW50aXR5IikgICsNCiAgbGFicyggDQogICAgdGl0bGUgPSAiVmVudGFzIHBvciBhw7FvIGRlIE1hcmNhIFNwcml0ZSIsDQogICAgc3VidGl0bGUgPSAiQ2FzbyBBcmNhIENvbnRpbmVudGFsIiwNCiAgICApDQoNCmBgYA0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+UHJlZ3VudGEgNDwvc3Bhbj4gDQrCv1NlIGhhIGluY3JlbWVudGFkbyBsYSB2ZW50YSBkZSBwcm9kdWN0b3MgZW4gZW52YXNlcyByZXRvcm5hYmxlcyBlbiBsb3Mgw7psdGltb3MgZG9zIGHDsW9zPw0KKipSZXNwdWVzdGE6IE5vIG5hZGEgbWFzIGh1Ym8gdW4gaW5jcmVtZW50byBlbiBlbCB1bHRpbW8gYcOxby4qKg0KYGBge3J9DQpkZjg8LSBkZiU+JWZpbHRlcihSZXRvcm5hYmxlX05SPT0iUmV0b3JuYWJsZSIpDQoNCmdncGxvdChkZjgsIGFlcyh4PUHDsW8sIHk9VmVudGFzLCBjb2xvdXI9VGFtYcOxby5DdGUuSW5kdXN0cmlhICkpICsNCiAgZ2VvbV9iYXIoc3RhdD0iaWRlbnRpdHkiKSAgKw0KICBsYWJzKCANCiAgICB0aXRsZSA9ICJWZW50YXMgcG9yIGHDsW8gZGUgZW52YXNlcyByZXRvcm5hYmxlcyIsDQogICAgc3VidGl0bGUgPSAiQ2FzbyBBcmNhIENvbnRpbmVudGFsIiwNCiAgICApDQpgYGANCg0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+UHJlZ3VudGEgNTwvc3Bhbj4gDQrCv0VsIGNvbXBvcnRhbWllbnRvIGRlIGxhIHZlbnRhIGRlIGFndWEgaGEgaW5jcmVtZW50YWRvIGVuIHJlbGFjacOzbiBhbCBkZSBsb3MgcmVmcmVzY29zIG8gbGFzIGJlYmlkYXMgaXNvdMOzbmljYXM/DQoqKlJlc3B1ZXN0YTogTGFzIHZlbnRhcyBkZSBBZ3VhIFB1cmlmaWNhZGEgeSBDb2xhcyBSZWd1bGFyIGJhamFyb24gZW4gc3UgdWx0aW1vIGHDsW8uIFNpbiBlbWJhcmdvLCBJc290w7NuaWNvcyBSZWd1bGFyIGF1bWVudG8gYcOxbyBjb24gYcOxby4gKioNCmBgYHtyfQ0KZGY5PC0gZGYlPiVmaWx0ZXIoU2VnbWVudG8uRGV0PT0iQWd1YSBQdXJpZmljYWRhIiB8IFNlZ21lbnRvLkRldD09Iklzb3TDs25pY29zIFJlZ3VsYXIiIHwgU2VnbWVudG8uRGV0PT0iQ29sYXMgUmVndWxhciIpDQoNCmdncGxvdChkZjksIGFlcyh4PUHDsW8sIHk9VmVudGFzLCBmaWxsPVNlZ21lbnRvLkRldCkpICsNCiAgZ2VvbV9iYXIocG9zaXRpb24gPSAiZG9kZ2UiLCBzdGF0ID0iaWRlbnRpdHkiKSAgKw0KICBsYWJzKCANCiAgICB0aXRsZSA9ICJWZW50YXMgcG9yIGHDsW8iLA0KICAgIHN1YnRpdGxlID0gIkNhc28gQXJjYSBDb250aW5lbnRhbCIsDQogICAgKSANCmBgYA0KDQoNCiMjIyMgPHNwYW4gc3R5bGU9ImNvbG9yOiByZWQ7Ij5QcmVndW50YSA2PC9zcGFuPiANCsK/UHVlZGUgZGVjaXJzZSBxdWUgbGEgdmVudGEgbWVuc3VhbCBkZSBhZ3VhIGVzdMOhIHJlbGFjaW9uYWRhIGNvbiBsYSB2ZW50YSBtZW5zdWFsIGRlIHJlZnJlc2NvcyBlbiBsb3Mgw7psdGltb3MgNCBhw7Fvcz8NCioqUmVzcHVlc3RhOiBMYSB2ZW50YSBkZSBhZ3VhIHkgcmVmcmVzY28gbm8gZXN0YW4gcmVsYWNpb25hZGFzLioqDQpgYGB7cn0NCmRmMTA8LSBkZiU+JWZpbHRlcihTZWdtZW50by5EZXQ9PSJBZ3VhIFB1cmlmaWNhZGEiIHwgU2VnbWVudG8uRGV0PT0iQ29sYXMgUmVndWxhciIpDQoNCmdncGxvdChkZjEwLCBhZXMoeD1Bw7FvLCB5PVZlbnRhcywgZmlsbD1TZWdtZW50by5EZXQpKSArDQogIGdlb21fYmFyKHBvc2l0aW9uID0gImRvZGdlIiwgc3RhdCA9ImlkZW50aXR5IikgICsNCiAgbGFicyggDQogICAgdGl0bGUgPSAiVmVudGFzIHBvciBhw7FvIiwNCiAgICBzdWJ0aXRsZSA9ICJDYXNvIEFyY2EgQ29udGluZW50YWwiLA0KICAgICkgDQoNCmBgYA0KDQojIyMjIDxzcGFuIHN0eWxlPSJjb2xvcjogcmVkOyI+UHJlZ3VudGEgNzwvc3Bhbj4gDQrCv0EgY3XDoW50byBhc2NpZW5kZW4gbGFzIHZlbnRhcyBlc3BlcmFkYXMgcGFyYSBlbCAyMDIwIGVuIGxhIENvY2EgQ29sYSBkZSA1MDAgbWwgTlIgVmlkcmlvPw0KKipSZXNwdWVzdGE6IEFjb3JkZSBhIHVuIG1vZGVsbyBwcmVkaWN0aXZvIHV0aWxpemFuZG8gcmVncmVzaW9uIGxpbmVhbCwgbGFzIHZlbnRhcyBlc3BlcmFkYXMgcGFyYSBDb2NhIENvbGEgZGUgNTAwIG1sIE5SIGRlIFZpZHJpbyBlbiAyMDIwIHNvbiBkZSA0NDQsMDY2IHVuaWRhZGVzLCBjb24gdW5hIFIgY3VhZHJhZGEgYWp1c3RhZGEgZGVsIDQ4JS4qKg0KYGBge3J9DQoNCmRmMTE8LSBkZiU+JWZpbHRlcihNYXJjYT09IkNvY2EtQ29sYSIgJiBQcmVzZW50YWNpb249PSI1MDAgbWwgTlIgVmlkcmlvIikNCg0KZGYxMjwtIGFnZ3JlZ2F0ZShWZW50YXMgfiBBw7FvLCBkZjExLCBzdW0pDQpkZjEyJEHDsW8gPC0gYXMuaW50ZWdlcihkZjEyJEHDsW8pDQpyZWdyZXNpb24gPC0gbG0oVmVudGFzIH4gQcOxbywgZGF0YSA9IGRmMTIpDQpzdW1tYXJ5KHJlZ3Jlc2lvbikNCg0KIyBFY3VhY2lvbiBkZSBsYSByZWN0YSB5ID0gLTU0OTcwNTk1ICsgMjc0MzMgKiBBw7FvDQoNCmRhdG9zIDwtIGRhdGEuZnJhbWUoQcOxbz0yMDIwKQ0KcHJlZGljdChyZWdyZXNpb24sZGF0b3MpDQoNCmBgYA0KDQo=