Se presenta el analisis de ventas a un grupo especifico de productos de la canasta familiar, con el fin de determinar el comportamiento de la serie que lo compone.

Se asume que la informacion suministrada es por el periodo de un año y el primer dato corresponde a un dia Domingo.

Cafe Molido Bolsa 250 gr

library(forecast)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
library(ggplot2)
library(readxl)

DATOS_SUPERMERCADO <- read_excel("~/Australia/Self Development/Forecast/DATOS SUPERMERCADO.xlsx")


cafe <- ts(DATOS_SUPERMERCADO$`CAFÉ MOLIDO BOLSA X 250 G`, frequency = 7)
autoplot(cafe)

La informacion de ventas presenta variaciones entre cero y mas de 40 unidades vendidas por dia. El anterior grafico no muestra con claridad un comportamiento especifico, para esto se analizara la informacion de diferentes maneras.

ggAcf(cafe, lag.max = 300)

# Se elaboro un correlograma para identificar posibles comportamientos de la serie que en un historgrama no pueden identificarsen.

El correlograma muestra una estacionalidad de las ventas con una frecuencia de 7 dias, en las cuales se generan picos de ventas mayores a los limites sugeridos. Los picos tienen una frecuencia definida.

autoplot(mstl(cafe))

Se realizo una descomposicion de la serie de tiempo a la informacion y se grafico con periodos de 7 dias. Alli se evidencia que Cafe Molido 250 gr presenta un comportamiento estacional debido a su frecuencia de ventas y las magnitudes de estas.

ggseasonplot(cafe, polar = TRUE)

Para la identificacion de los periodos claves de ventas se grafico de manera polar las ventas por dias y se obtiene que la mayor demanda de este producto se presento durante los dias Martes. Al igual que la demanda para los dias Martes se puede observar las ventas para los demas dias de la semana.

ggsubseriesplot(cafe)

# Las unidades vendidas fueron graficadas por dia, es decir en el anterior grafico se agruparon las ventas por cada dia de la semana, lo que permite comparar de manera sencilas las ventas entre dias. Asi mismo nos permite analizar de manera rapida posibles datos atipicos en las ventas. Lo anterior nos ayuda a afirmar que las ventas para Cafe Molido contiene un componente estacional en sus ventas.

Chocolate Amargo Barra 250 gr

chocolate <- ts(DATOS_SUPERMERCADO$`CHOCOLATE AMARGO EN BARRA X 250 G`)
autoplot(chocolate)

# Esta informacion presenta picos de ventas atipicos a su comportamiento medio, ya que se salen del promedio de ventas y apararentemente tendria un componente ciclico, pero se realizaran mas analisis para descartar cualquier otro comportamiento.

autoplot(mstl(chocolate))

# En la grafica de tendencia se observa un comportamiento ascendente y descente en diferentes periodos de tiempo, es decir presenta oscilaciones en sus ventas pero estas no tienen una frecuencia de ocurrencia definida. Adicionalmente, estas oscilaciones tienen diferentes magnitudes, por lo anterior podemos afirmar que tenemos una seria ciclica para el Chocolate Amargo 250 gr.

ggAcf(chocolate, lag.max = 300)

Aceite Vegetal Barra 500 gr

aceite <- ts(DATOS_SUPERMERCADO$`ACEITE VEGETAL SOLIDO EN BARRA X 500 G`)
autoplot(aceite)

# La demanda de este producto es baja y en ocaciones de cero ventas. Se realizara otros procedimientos de analisis ya que mas del 85% de las ventas es cero.

autoplot(mstl(aceite))

# La tendencia de venta de este producto muestra comportamientos decresientes y ascendentes, pero sin una tendencia definida. Ademas, estos comportamientos no tienen una frecuencia y ni magnitud definida.

ggAcf(aceite, lag.max = 300)

Podriamos caracterizar esta seria de ventas de Aceite como un componente estacionario, para su ejecucion de forecast.

Chocolate Clavos y Canela 500 gr

chococanela <- ts(DATOS_SUPERMERCADO$`CHOCOLATE CLAVOS Y CANELA EN BARRA X 250 G`)
autoplot(chococanela)

# Este producto presenta un crecimiento alrededor de los 100 dias en el periodo, pero no es sufiente informacion para afirmar que esta serie tiene un especifico componente. Para identificar el comportamiento de esta serie se realizaron otros analisis a la serie de datos.

autoplot(mstl(chococanela))

# En esta descomposicion de la serie se pudo evidenciar de nuevo el crecimiento de las ventas cercano al dia 100 del periodo. La serie presenta una clara tendencia en su comportamiento, lo que nos permite afirmar que este componente este presente en la serie.

ggAcf(chococanela, lag.max = 300)

#

Salsa Tomate 200 gr

salsatom <- ts(DATOS_SUPERMERCADO$`SALSA DE TOMATE DOYPACK X 200 G`, frequency = 7)
autoplot(salsatom)

# Ventas de la Salsa de Tomate en el año analizado no muestra picos con frecuencia, ni tendencia en la serie. Para conocer mas sobre el comportamiento analizaremos de manera mas precisa su fluctuacion.

ggAcf(salsatom, lag.max = 300)

# El anterior es un correlograma en el cual podemos identificar como los periodos de ventas afectan a otros en la misma serie de datos. Ademas, se puede establecer que las ventas de este producto tienen una periodicidad de 7 dias, debido a que con esta frecuencia el grafico muestra picos por fuera de los limites recomendados para la serie.

autoplot(mstl(salsatom))

La anterior descomposicion nos muestra la grafica establecida con frecuencia de 7 dias, la cual nos muestra un claro comportamiento periodico con valores o magnitudes similares y frecuencia en el tiempo analizado. Por esto podemos afirmar que la serie presenta un componente de estacionalidad durante el periodo analizado de ventas.

ggseasonplot(salsatom, polar = TRUE)

# La mayor frecuencia y magnitud de ventas se ve reflejada para los dias Martes del año, como se observa en la grafica. Esta caracteristica marca la periodicidad de las ventas en el año, ya que influyen en el comportamiento que vemos reflejado en la serie. Esto parte en dos el inicio y final de cada periodo al ser su comportamiento diferente al de los demas dias.

ggsubseriesplot(salsatom)

# Los Martes presentan una demanda de 5 unidades en promedio mayor a los demas dias de la semana.

Azucar Blanco 2500 gr

azucar <- ts(DATOS_SUPERMERCADO$`AZUCAR BLANCO X 2500 G`, frequency = 7)
autoplot(azucar)

# Las ventas de azucar presentan valores entre 10 unds y 60 unds en promedio. Se procedera a establecer su comportamiento por medio de descomposicion de la serie.

ggAcf(azucar, lag.max = 300)

La serie de datos presenta una relacion de periodicidad de 7 dias entre los picos que se elevan por encima de los limites establecidos. Esto permite establecer que la serie tiene un componente estacional en su comportamiento.

autoplot(mstl(azucar))

ggseasonplot(azucar, polar = TRUE)

# Las mayores ventas fueron realizadas en los dias Martes del periodo analizado, como se puede observar en la anterior grafica. Esta caracterista divide el periodo o comportamiento de las ventas cada 7 dias, creando un inicio o fin de un ciclo al ser un comportamiento diferente al resto de la serie.

ggsubseriesplot(azucar)

# Las ventas de los dias Martes tuvieron un promedio de 37 unds aproximadamente, y el resto de dias tuvieron una variacion entre 14 a 22 unds diarias.