1 votos

Separar el volumen básico y el promocional

Estoy trabajando en un proyecto en el que tengo que separar el volumen base y promocional de los datos de ventas. Tengo datos de ventas de los últimos 4 años a nivel de semana. Cómo puedo separar el volumen base y promocional a partir de sólo esta cantidad de datos?

¿Es posible hacerlo mediante regresión o cualquier enfoque de series temporales? Agradecería cualquier comentario. Gracias.

2voto

icelava Puntos 548

Una posibilidad sería ARIMAX, donde la actividad promocional serían los regresores adicionales. Observe ?auto.arima en R.

He aquí un ejemplo. Simulamos un proceso ARMA(1,1) con una media distinta de cero y promociones (18 semanas sin promociones, seguidas de 2 semanas con promociones, repetido una y otra vez durante 200 semanas) y lo introducimos en un proceso ts con una estacionalidad de 52, que es casi el número de semanas al año:

library(forecast)
hist.promos <- rep(c(rep(0,18),rep(1,2)),10)
set.seed(2)
sales.ts <- ts(10*arima.sim(model=list(ar=0.5,ma=0.3),
    n=length(hist.promos))+60+50*hist.promos,frequency=52)

Para ello, utilizamos el modelo auto.arima() alimentando las promociones históricas a través del xreg parámetro:

model <- auto.arima(sales.ts,xreg=hist.promos)
model

(Tenga en cuenta que auto.arima() no recupera el modelo verdadero: cree que hay una estacionalidad que no hemos puesto. Así es la vida en estadística).

Ahora podemos hacer previsiones con el modelo, utilizando forecast.Arima() (fíjate en la A mayúscula por si quieres leer la página de ayuda). Tenga en cuenta que tenemos que proporcionar el futuro valores de los regresores (es decir, los ascensos) mediante xreg . Calculamos una previsión de referencia sin promociones futuras y otra con ellas:

fcast.without.promos <- forecast(model,h=20,xreg=rep(0,20))
fcast.with.promos <- forecast(model,h=20,xreg=c(rep(0,18),rep(1,2)))

Podemos comparar las previsiones medias (previsiones puntuales). La diferencia es, por supuesto, exactamente 46,3007: el coeficiente estimado del modelo.

fcast.with.promos
fcast.without.promos
fcast.with.promos$mean-fcast.without.promos$mean
plot(fcast.with.promos)

arima forecast

Por último, algunas preguntas meta: ¿las promociones coinciden con las definiciones de la semana, o van, por ejemplo, de miércoles a martes, mientras que la semana se define de domingo a sábado? Piénselo detenidamente. Además, piense si tiene un solo tipo de promoción o diferentes (BOGO frente a reducción de precio directa, anunciada en televisión frente a en las etiquetas de los estantes, etc.). Por último, en función de los productos, es posible que también desee incluir regresores para eventos del calendario, como Navidad, etc., si auto.arima() y amigos no captan estos efectos automáticamente.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X