Recurring Events

This function is meant to handle events that occurs at different dates/period from one year to the next like Easter, Thanksgiving, Chinese New Year, Sport events, Concerts... Such events can have a huge effect on the sales of the part and since it the event occur in different periods from one year to the next it can not be handled with seasonal profiles. In fact such events will mess up the parts seasonal pattern an make the seasonal algorithms to not work properly.

The Approach

The recurring event approach in Demand Planning is to find a normal daily sales, this sale will represent what the sales qty for a day within the event period would be it the event did not occur. This normal day sales is computed by doing a exponential smoothing (EWMA) of the daily sales for each daily sales that is not in any event period. The alpha used is set in the advanced server settings of the Demand Plan Server. ForecastModels\Holiday\AlphaDayQty. Recommended values for this day alpha is between 0,02 to 0,08 default is 0.045. Note there is a pitfall with the recurring event functionality. If a event day occur close to a high selling period, but the event itself is not in this high selling event the event indexes computed for this event will be to low so the event effect will in turn be on the low side.

During the event period the event indexes are computed for each day of the event. A event index is computed like this Event index = Actual Sold Qty / normal day qty. This index is used to increase/decrease the forecasted daily qty in the future event period. The adjusted demand in the event period is set to be equal to the normal day qty (computed by the AlphaDayQty EWMA algorithm described above), the Demand is as always set to the actual qty sold. The event indexes is also smoothed out from one event occurrence to the next, this is also done by a exponential smoothing (EWMA) of each daily index. The alpha smoothing constant is set in the advanced server settings ForecastModels\Holiday\AlphaHolidayIndex, default value is 0,6 is the default setting for this constant, so the last event occurrence will get a high weight when computing the future event index.

As a summary the recurring event function works like this, we remove the event effect from the adjusted demand so that it will not have an effect on computing seasonal profiles and the future forecast. Then we add the forecasted event effect to the future system forecast, with the computed event index day by day in the future forecast.

Tip

It can be clever to only connect recurring event template to parts that you know are effected by the holiday, and keep unaffected parts outside the holiday calculation, since these will effect the global holiday index for this holiday, and the global holiday index is used to compute the holiday effect on parts that do not have history, and it can also be used on parts whit history trough the event mix factor. It can also be smart to look at the days before and after a event and see if these also are affected by the event and maybe consider to add these to the event period as well.