BookmarkSubscribeRSS Feed
mdavidson
Quartz | Level 8

I'm working on creating a forecast using cumulative sales data collected at various points in time. I'm trying to forecast the cumulative sales at the end of each month using the ESM procedure. My issue is that my forecasts are sometimes lower than my actual cumulative sales values.

 

My simple forecast code:

 

proc esm data=work.test lead=365 outfor=work.sales_data_forecast;
	id sale_date interval=day;
	forecast sales_cumulative / method=linear alpha=0.95;
run;

 

 

I realize this is difficult without input data but is there a way I can specify essentially a "floor" for the forecasted value? In other words, if I have made 4300 sales half way through a month my forecast should be at least 4300 by the end of the month. In my case my code returns a lower number which is not possible.

 

1 REPLY 1
SteveDenham
Jade | Level 19

Remember, this model is giving you the expected sales, conditional on the monthly sales up to the previous month. It is therefore not unlikely to get a lower value than the current sales, especially if there has been any sort of level change in an unmonitored (and thus not included in the model) variable. I guess you could have some dichotomous check in the output that if the predicted value is less than the current value that the output would default to the current value.

 

SteveDenham

hackathon24-white-horiz.png

2025 SAS Hackathon: There is still time!

Good news: We've extended SAS Hackathon registration until Sept. 12, so you still have time to be part of our biggest event yet – our five-year anniversary!

Register Now

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 1 reply
  • 910 views
  • 0 likes
  • 2 in conversation