I'm using ARIMA models to estimate sales forecast for a company. The company's sales channel is broken down into 4 sales channels and I'm running 4 different models to estimate the sales for each channel. Eventually, I'm going to aggregate the sales of these channels to find the total forecasted sales for the whole company. My questions is, how should i go about finding the confidence interval for the overall forecast? Adding up the confidence intervals of each channel is not correct since that will give me a very large interval.

I'd really appreciate if anyone can give me some idea on how to approach this sort of issue. Thanks in advance!


Two ways, basically.

One is two use vector models, of which there's a ton. For instance, VAR (vector autoregression) on differences, VARMA etc. This sounds proper but the problem is usually with availability of data. With 4 variables, you have 4x4 coefficients per lag to estimate. You'll probably run out of observations quickly on sales data. However, if you have data, consider this seriously.

The second way is to estimate the models separately, then obtain residual correlation matrix. Next, run Monte Carlo with correlated errors. You can use Copulas if the errors are not normal. For normal errors, it's easier, a simple Cholesky decomposition will let you generated correlated errors.

Monte Carlo may sound cumbersome, but it's very flexible, you can easily calculate higher moments or percentiles for fan charts. Another thing is you can plug in your assumptions. Let's say you have a bunch of assumptions when forecasting sales, which is not unusual. Now you can form a distribution for assumptions, and calculate the confidence intervals including the uncertainty of assumptions.

  • $\begingroup$ Hello, I'm dealing with a similar situation but with dozens of forecasting models per aggregation level. Those models will be of one type, but one of the following: ARIMA, ETS or Prophet. Is y our approach applicable to other than ARIMA models? Also, could you explain in more detail how you e.g. obtain correlation matrix, run Monte Carlo with correlated errors, etc. Thanks for your help! $\endgroup$ – Kasia Kulma Mar 25 '19 at 15:39

This is elementary using the discipline of probability management in which each stochastic forecast is stored as an array of realizations called SIPs. You can simply add the SIPs of each channel and then find any percentile on the total.

  • 3
    $\begingroup$ Welcome to Cross Validated! It'd be helpful if you could add a little explanation of how these SIPs work, and perhaps a reference; lest your answer be seen as a mere advert. Other information about you & your company is best put on your profile page - your name & photo, with a link to your profile, will be automatically appended to the end of each of your posts. $\endgroup$ – Scortchi - Reinstate Monica Oct 12 '15 at 22:22
  • 4
    $\begingroup$ I've edited out the material that doesn't belong in an answer, including personal details that belong in your profile. If you would like to advertise your services here, one option is to buy an ad; I gather the rates are very reasonable. (An alternative is to give answers of such high quality that people are moved to investigate your profile; top answerers here get many thousands of profile views.) In your answer, you should edit to clarify what "SIP" stands for; also your answer is so brief as to be verging on a mere comment. Please consider expanding on it. $\endgroup$ – Glen_b -Reinstate Monica Oct 12 '15 at 22:31

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.