He estado operando un negocio en línea durante dos años seguidos, así que tengo mis datos de ventas mensuales durante aproximadamente dos años. Mi negocio para cada mes ciertamente se ve afectado por el cambio estacional (funciona mejor en Navidad, etc.) y probablemente por otros factores que no conozco.
Para predecir mejor las ventas futuras, y para medir la efectividad de mi campaña de ventas, o el impacto de nuevos competidores, quiero poder desarrollar un modelo de serie temporal apropiado para extrapolar mis datos de ventas actuales en el futuro. Esto es para que cuando compare el resultado de mi predicción con el resultado real, pueda evaluar cuantitativamente la efectividad de mi campaña de ventas o el impacto de los competidores.
Mi pregunta es, dado que tengo 2 años de datos de ventas, ¿hay alguna forma de formular un modelo predictivo de series de tiempo para esto?
Nota: Me interesan más los conceptos y teorías de fondo, en lugar de las herramientas de recuadro negro. Hablando de herramientas, tengo Mathica, Matlab, R, Excel, Google Spreadsheet ... lo que sea.
fuente
Respuestas:
Sí, hay formas de hacer esto. La gente se gana la vida haciendo cosas como esta ;-)
Está buscando pronósticos causales . Mire este libro de texto en línea gratuito sobre pronósticos para aprender sobre la metodología de pronóstico.
Tienes dos problemas clave en tus manos con los que debes lidiar: la estacionalidad (o más generalmente, la estructura de series de tiempo, posiblemente con autorregresión) por un lado, y los efectos causales como las promociones por otro lado. El Capítulo 8 en el libro de texto anterior trata sobre las series temporales en el contexto de ARIMA, mientras que el Capítulo 5 trata sobre los efectos causales.
Afortunadamente, es posible abordar ambos problemas calculando los llamados modelos ARIMAX (la X significa "efectos externos", es decir, ARIMA con efectos externos) o regresiones con errores ARIMA. Consulte la publicación del blog de Rob Hyndman sobre "El embrollo del modelo ARIMAX" para ver la diferencia. La
auto.arima()
función en elforecast
paquete R se ajustará a una regresión con errores ARIMA. Veamos un ejemplo, donde tomo un conjunto de datos estándar con tendencia fuerte y estacionalidad y agrego "promociones".Los puntos rojos son las promociones. Por defecto, obtendrá intervalos de predicción trazados en gris. Puede alimentar múltiples regresores en su modelo a través del
xreg
parámetro, lo que debe hacer si tiene diferentes tipos de promociones con diferentes efectos. Experimenta un poco.Recomendaría buscar más datos detallados que mensualmente si los tiene, por ejemplo, semanalmente. Especialmente, por supuesto, si sus promociones no duran meses completos. Puede hacer esto por separado por producto, especialmente si promociona productos específicos o en categorías completas.
Una alternativa sería, dado que está más interesado en los conceptos que en el código, mirar el suavizado exponencial y cambiarlo para satisfacer sus necesidades, agregando componentes promocionales a los componentes estándar de tres niveles, temporada y tendencia. Puede hacer mucho más usted mismo con el suavizado exponencial que con el intento de estimar la máxima probabilidad de un modelo ARIMAX, pero el suavizado puede convertirse en una pesadilla de contabilidad si tiene varios tipos de promoción.
fuente
primero, no tienes muchos datos para jugar, solo 24 observaciones. En su caso, significa que apenas tiene un par de parámetros para estimar de manera confiable. La forma más sistemática en el pronóstico es proponer un proceso de generación de datos (DGP). usted asume cuál es el verdadero proceso para sus ventas, luego intenta estimar sus parámetros.
en Matlab este modelo se especifica como
arima('ARLags',1,'SARLags',12)
Esto supone que sus ventas son estables, es decir, generalmente no crecen.
Si cree que sus ventas están creciendo, entonces tiene dos opciones: caminata aleatoria (RW) y una tendencia temporal.
en Matlab RW se especifica con
arima('D',1,'SARLags',12)
obviamente, estos son solo ejemplos de diferentes DGP. Hagas lo que hagas, ten en cuenta la cantidad de parámetros a estimar. con 24 observaciones, su modelo debe ser muy simple, 4 parámetros como máximo (incluidas las variaciones).
fuente
Esto es lo que debe hacer Hacer dos gráficos:
Míralos. Anote las fechas de cualquier promoción especial o actividad competitiva conocida. "Diciembre" generalmente es bastante obvio, pero agregue una nota si lo ayuda a llamarlo.
Siga adelante y ajuste un modelo de serie temporal: cualquier modelo (hay cientos). El modelo puede darle un pronóstico ligeramente mejor para el próximo período (t + 1) que su criterio. Al menos, desafiará tu juicio. Más allá del próximo período (t + n, n> 1), cualquier modelo de serie temporal es una mierda. † Olvídese de evaluar cuantitativamente la efectividad de las campañas de ventas o los efectos de los competidores. Si compara las ventas reales con las predicciones, encontrará que las predicciones son basura. Predecir el futuro es difícil, y ningún método cambia ese hecho básico.
Encontrará sus dos gráficos más útiles. Estudie esos durante un tiempo, luego pase el resto de su tiempo ideando ideas sobre cómo aumentar las ventas; este será un uso mucho más rentable de su tiempo que tratar de adaptarse a un modelo de serie temporal.
† Tiene más esperanza si puede crear un modelo predictivo basado en los indicadores principales , es decir, las ventas de viviendas para el mes anterior pueden ser útiles para predecir las ventas de persianas en el mes actual.
fuente