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

sas-innovate-2026-white.png



April 27 – 30 | Gaylord Texan | Grapevine, Texas

Registration is open

Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!

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
  • 1051 views
  • 0 likes
  • 2 in conversation