#Ejemplo de pronóstico de ventas básico para comprender la importancia de la analítica de datos. Concentración de Analítica para Negocios.

# para instalar el paquete forecast si no lo tienes instalado
#install.packages('forecast')

# cargar el paquete forecast
library(forecast)
## Registered S3 method overwritten by 'quantmod':
##   method            from
##   as.zoo.data.frame zoo
# cargar los datos
datos <- c(150,157,160,170,185,160,145,130,125,120,115,110,150,157,160,170,185,160,145,130,125,120,115,110,150,157,160,170,185,160,145,130,125,120,115,110,150,157,160,170,185,160)

# convertir los datos en una serie de tiempo
ventas_ts <- ts(datos, frequency = 12)

# descomponer la serie de tiempo
ventas_descompuestas <- stl(ventas_ts, s.window="periodic")

# trazar la serie de tiempo descompuesta
plot(ventas_descompuestas)
## Warning in plot.window(xlim, ylim, log, ...): axis(2, *): range of values ( 0)
## is small wrt |M| = 1.4e+02 --> not pretty()

# predecir los próximos 6 meses
pronostico <- forecast(ventas_descompuestas, h = 6)

# trazar el pronóstico
plot(pronostico)

# convertir los datos en una serie de tiempo
ventas_ts <- ts(datos, frequency = 12)

# ajustar un modelo de suavización exponencial a los datos
modelo <- ets(ventas_ts)

# pronosticar los próximos 6 meses
pronostico <- forecast(modelo, h = 6)

# imprimir el pronóstico
print(pronostico)
##       Point Forecast Lo 80 Hi 80 Lo 95 Hi 95
## Jul 4            145   145   145   145   145
## Aug 4            130   130   130   130   130
## Sep 4            125   125   125   125   125
## Oct 4            120   120   120   120   120
## Nov 4            115   115   115   115   115
## Dec 4            110   110   110   110   110
# Para visualizar los resultados, utiliza la siguiente línea:
# plot(pronostic)