I am trying to fit a regression model to predict the revenue generated from the sales of a particular product. I have found out seasonality both in the outcome(sales revenue) as well as in the input variables.

Sales Revenue Revenue

The 'Seasonally Adjusted Annual Rate' and the 'Non Seasonally Adjusted' version of each of the input variables are available.

  1. What version should be used to training the model ?
  2. Should 'month' be included as a categorical variable as a means to capture seasonality ?
  3. Should the seasonality be removed from revenue if the Seasonally Adjusted version of inputs are used?

If the goal is to predict actual revenue, you want to predict the unadjusted rate. You should include month as a variable so your model has a chance of getting the seasonality right.

If the goal was more performance monitoring (e.g. "We did better in March than February"), then you would want to be analyzing the adjusted rate. You see this all the time in the US news when they forecast adjusted home sales, car sales, or unemployment.

  • $\begingroup$ Thanks for the reply. The goal is to predict the actual revenue. Should the 'Non Seasonally Adjusted' version of the input variable be used in the regression ? $\endgroup$ Jun 7 '17 at 19:31
  • $\begingroup$ Unadjusted = non seasonally adjusted $\endgroup$
    – CalZ
    Jun 7 '17 at 23:52

Maybe its the wording you are using, but this is not in fact regression task, but job for time series. Your data (and time series in general) are correlated with itself, hence invalidating assumption of regression (independency).

Therefore I'd suggest to step back and rethink the approach. Try to fit simple ARMA model and see.

Time series will elegantly deal with your questions since you will be able to take the trends into account and actually model them.

You could use regression, but then the data must be stationary (thus fit regression on differences). However, I would advice to use the reqular time-series approach.

  • $\begingroup$ Thanks for the reply. I am planning to use a combination of regression, time-series and one another machine learning method to make the forecast. Not sure if this would work out. Open to suggestions. $\endgroup$ Jun 8 '17 at 11:52
  • $\begingroup$ Well you can use it as sort of ensemble model, which could work. Furthermore, you can try some non-parametric methods, such as GAM, regression trees or the Facebook API for forecasting Prophet (which is actually improved GAM). $\endgroup$
    – HonzaB
    Jun 8 '17 at 11:59

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.