Event Modeling in ATT forecast engine

This topic describes the required conditions to call the ATT forecast engine and generate event forecasts for the selected item and location, when the Perform Event Modeling = TRUE. Events are considered as specific effects occurring in history periods due to activities such as marketing and promotions, in addition to the history data.
Note: It is recommended that you do not maintain the effects of events in the history for the purpose of statistical model fitting. The engine attempts to estimate an average event size, and remove this effect prior to model fitting so that the baseline history can be generated. After model fitting and forecasting the engine connects the event effects to the baseline forecast.

Functions and conditions:

  • When the engine is of the type ATT and the Perform Event Modeling = TRUE, the forecast engine uses the defined events and executes event modeling, in addition to the selected technique (algorithm).
  • The measure mapped to the events is retrieved and processed for each item and location, at the forecast engine period level, to produce arrays of the history and forecast periods that store the 'event magnitude'.
    • For the Events measure, the values of each item and location in the cycle period history horizon are retrieved and each non-zero value is added to a 'historical event magnitude array. This indicates the index of the period and the event magnitude.
    • The time periods are indexed from 0, with zero being the index of the earliest history period. Only one entry for each time period is allowed.
    • The event magnitude represents the size of the event in relation to an event unit and not the event size that is calculated in item units.
    • The 'historical event magnitude' array is used to store an entry for each event (that is, the non-zero value for events of the cycle period history horizon).
    • If the historical event magnitude array is not specified, that is, non-zero values for the Events measure in the cycle period history horizon do not exist, both arrays are transferred without a value. The engine does not process the item or location with event modeling, but uses the 'fit as normal' option based on the specified algorithm.
    • If the historical event magnitude array is specified, the values for the Events measure in the cycle period future horizon are retrieved and each non-zero value is added to a 'forecast event magnitude' array.
  • The engine generates an average event size for event modeling, which is stored against the specified measure, if mapped. This is a time-independent value written to PCONST. Other results are processed by the normal ATT engine, based on the specified algorithm.
    Note:  When the forecast engine uses the Holt-Winters or Best algorithm, events are removed before Robust Holt-Winters history adjustments. The 'Model fitting History' is generated without the event history.

Example of Events with historical and forecast event magnitude:

A cycle period history horizon = 12 and the cycle period future horizon = 12 (months). The forecast engine period level = months.

The Events measure historical values:

0, 0, 0, 0, 1, 2, 1, 1, 0, 0, 0, 0

Events measure future values:

0, 0, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0

Table 1. Historical event magnitude array
Index Magnitude
4 1
5 2
6 1
7 1
Table 2. Forecast event magnitude array
Index Magnitude
2 2
3 2
4 2
5 1
Note: Periods with event magnitude values are not required to be sequential or have the same number or size for historical and forecast periods. Event values can also contain decimal values.