Default parameter set for the ATT forecast engine
This topic describes the default parameters specified for the configuration of the ATT forecast engine. The list contains the single value input parameters to configure the forecast engine. The default parameter list for an initial model using the "best" fit (picking algorithm):
Name | Description | Used by Algorithms | Accepted Range | Default Value (Demand+ template) |
---|---|---|---|---|
Boundary constant | ATTEngineDataClass.boundaryConstant
Used in the Robust Holt-Winters algorithm. The recommended values are 100, if no outlier detection is required. If outlier detection is required, the value is 3.5. The boundary constant represents the number of standard deviations of the historical value, when compared to the forecasted value. |
Best, H-W | positive decimal | 3.5 |
Confidence Limit | BatsEngineDataClass.confidenceLimit
This represents the confidence limit for the Ljung-Box test. The Ljung-Box test checks for the statistical significance in the model fitted residuals. If the test is significant, the residuals are not random which is not valid for a well fitted model. A value of zero instructs the engine to not calculate this statistic. The closer the value is to 1, the more likely that a significant result is generated. However, the model can still be used, even if the result is significant. |
BATS | 0 < x <= 1 | 0.95 |
Decision Criterion | MainDataClass.decisionCriterion
This determines the type of decision criterion to be used for testing which model is "best" . Used in both the Best algorithm and optimization. AIC (Akaike Information Criterion) and BIC (Bayesian Information Criterion) are typically better than the SD (Standard Deviation) model. |
Best, H-W (Optimize = TRUE) | AIC, BIC, SD | AIC |
Epoch | The number of loops of the entire data set that the model performs to calculate the model coefficients.
Higher the value of epoch, more accurate the model, but impacts the performance
Note: This is applicable when option is set to On.
|
Best where any of ML Train-Test, ML Train-Test randomization, ML Cross-Validation, ML full dataset or ML full dataset randomization = True | Positive Integer | 50 |
Folds | The number of folds used in setting up cross-validation data sets.
Note: This is applicable when option is set to On.
|
Best where Machine Learning Cross-Validation = True | Positive Integer | 50 |
Forecast Test Magnitude | Represents the magnitude of forecast against history. This also provide a check to help in assessing the fitness of the future forecast. | All | Positive decimal | 0 |
History Trend Damping Factor | ModelDataClass.historyTrendDampingFactor
This represents the history trend damping factor for the Holt-Winters algorithm. This factor is used to dampen the trend during the model fitting process. This factor is also used to continue dampening the trend in the forecast. If there is a strong trend in the data, the trend damping factor must be close to 1, so that a value of 0.95 is considered acceptable. If no trend damping is required, you must use a value of 1. |
Best, H-W | 0 < x <= 1 | 1 |
Initialization Type | ModelFitController:InitialisationType
This determines which initialization technique must be used, when the algorithm is Holt-Winters. Not applicable, when calling the engine using Best (fitmodelPickingAlgorithm), because a subset of initialization techniques are used. |
H-W | NOINITIALISATION, MEDIANS, AVERAGING, DECOMPOSITION, LEASTSQUARE, BACKCASTING | MEDIANS |
Intervention Regression Discount | BatEngineDataClass.interventionRegressionDiscount
Applied to revise the regression coefficients of the forecast. This is used in place of the routine version under certain circumstances, for example an outlier or a step-change.
Note: This value must be lower than the standard discount factor.
|
BATS | 0 =< x < 1 | 0 |
Intervention Seasonal Discount | BatEngineDataClass.interventionSeasonalDiscount Applied to revise the seasonal coefficient of the forecast. This is used in place of the routine version under certain circumstances, for example an outlier or a step-change.
Note: This value must be lower than the standard discount factor.
|
BATS | 0 =< x < 1 | 0 |
Intervention Trend Discount | BatEngineDataClass.interventionTrendDiscount Applied to revise the trend elements of the forecast (level and growth). This is used in place of the routine version under certain circumstances, for example an outlier or a step-change.
Note: This value must be lower than the standard discount factor.
|
BATS | 0 =< x < 1 | 0 |
Intervention Variance Discount | BatEngineDataClass.interventionVarianceDiscount Applied to revise the variance estimate of the forecast (level and growth). This is used in place of the routine version under certain circumstances, for example an outlier or a step-change. |
BATS | 0 =< x < 1 | 0 |
Exponentially weighted moving average Lambda | ATTEngineDataClass.exponentiallyWMALambda This represents the weighting factor used by the exponential moving average algorithm. This is used to increase or decrease the influence of the new observation on the moving average value. When the coefficient is 0, the new observation has no influence on the moving average value. When the coefficient is 1, the new observation becomes the moving average value. For example, a value of 0.05 <= x <= 0.25 and 0.2 <= x <= 0.3 is reasonable. |
Best, EWMA | 0 < x <= 1 | 0.2 |
Least Squares outlier standard deviation | ATTEngineDataClass.leastSquaresOutlierSD The minimum number of standard deviations for a data point when compared to the forecast, to flag the same as an outlier for the Least Squares algorithm (default = 0, which effectively stops the outlier detection). If the outlier testing is required, low values are recommended, for example, 2. Outliers work only when large errors occur. This is due to the Least Squares model fit including any outlier observations in the initial calculation and therefore being relatively unresponsive to outliers. |
BEST, LS | integer | 2 |
Level Inflation Factor | BatsEngineDataClass.levelInflationFactor Applied to the current standard deviation estimation to create two alternative models (one higher and one lower) to compare with the current model. This is used in BATS monitoring. |
BATS | 0 - 99.9 | 3.5 |
Level Inflation Threshold | BatsEngineDataClass.levelInflationThreshold
The minimum accepted value for the Bayes factor for level shift before a tracking signal is activated. This is used in BATS monitoring. If the Bayes factor falls below the threshold value in an individual period, an outlier is declared. If the Bayes factor falls below the threshold value on a cumulative basis, the tracking signal and process are activated. |
BATS | 0 < x <= 1 | 1 |
Level smoothing coefficient | ModelDataClass.alpha
This represents the level smoothing coefficient for the Holt-Winters algorithm. This is used to increase or decrease the influence (the weighting, rate of decay, and so on) of the new observation on the level component of the Holt-Winters model. When the coefficient is 0, the new observation has no influence on the level of the model. When the coefficient is 1, the new observation becomes the smoothing level (after any seasonal influence is removed, where applicable).
Note: If the switch is enabled, the engine applies several values based on Late Acceptance Hill Climbing (LAHC) optimization heuristic parameters and uses the values that produce the model with the lowest decision criteria.
|
Best. H-W (Optimization = TRUE) |
0 < x <= 1 | 0.4 |
Learning rate | Determines the errors that are built back into the model during the calculation of the model coefficient.
Note: This is applicable when option is set to On.
|
Best where any of ML Train-Test, ML Train-Test randomization, ML Cross-Validation, ML full dataset or ML full dataset randomization = True | Positive Decimal | 0.001 |
Maximum Model Terms | BatsEngineDataClass.maximumModelTerms
The maximum number of terms in the generated model. If Period Level is Months, this includes level, trend and 6 harmonics (6 pairs of a sine and cosine). If Period Level is Weeks, this includes level, trend and 26 harmonics (26 pairs of a sine and cosine).
Note: It does not include regressors.
|
BATS | 1-106 | 14 |
Minimum periods for SMP | Determines the minimum number of non-zero history values for an item to be considered as a non-SMP (slow moving product, or product of intermittent/sparse demand).
Note: The user-defined masks are removed before the test.
|
All, except EVO | Integer >= 0 | 0 |
Model Form | ModelDataClass.ModelForm
This determines the type of model to be used, for example, constant (level only), linear (level and trend), seasonal (level, trend and seasonality). This must work together with the selected SeasonalType parameter.
Note:
|
All | NOTSET, CONSTANT, LINEAR, CONSTANT_SEASONAL, SEASONAL | NOTSET |
Moving Average outlier standard deviation | ATTEngineDataClass.movingAverageOutlierSD
The minimum number of standard deviations for a data point when compared to the forecast, to flag the same as an outlier for the Moving Average algorithm (default = 0, which effectively stops outlier detection). If outlier testing is required, low values are recommended, for example, 2. Outliers work only when large errors must occur. This is due to the Moving Average model fit including any outlier observations in the initial calculation and therefore being relatively unresponsive to outliers. |
BEST, MA, EWMA | integer | 2 |
Moving average point value | ModelDataClass.movingAveragePoint)
This represents the number of data points used in each moving point calculation.
Note: This is not a centered moving average.
|
BEST, EWMA, MA | positive integer | 4 |
MLR Trim Factor | This removes the highest and lowest forecasts (x) in each time period prior to the combining process. This represents a one-sided value that is when you remove the first and last values, x =1.
Note: This is applicable when the option is set to On.
|
Best where any of ML Train-Test, ML Train-Test randomization, ML Cross-Validation, ML full dataset or ML full dataset randomization = True | Positive Integer | 0 |
Optimization Increment | OptimisationDataClass.optimisationIncrement
The Late Acceptance Hill Climbing (LAHC) optimization heuristic parameter is used to determine the quantum of increase for the relevant Holt-Winters smoothing coefficient, on an iteration of the optimization algorithm. Decrease this value towards zero to increase the number of iterations, which in turn decreases the overall optimization performance. |
BATS, BEST, H-W | 0 =< x <= 1 | 0.1 |
Optimization Percentage | OptimisationDataClass.optimisationPercentage
The Late Acceptance Hill Climbing (LAHC) optimization heuristic parameter is used to determine the number of candidate solutions that must be calculated consecutively, when the solution is not saved to complete the optimization run. This is the percentage of the total number of runs that can occur, based on the incremental optimization and the model form. If this value is equal to one, the optimization is used to determine the total number of runs that can occur based on the incremental optimization and the model form. If this value is zero, a single run is performed using the optimization starting values for the relevant smoothing coefficients. The use of the default value is the recommended. As this value reaches 1, the length of the run increases and therefore the performance decreases. However, the possibility of reaching the required global minimum value (the Best smoothing parameters) increases. |
BEST, H-W | 0 =< x <= 1 | 0.1 |
Optimization Starting Value Alpha | OptimisationDataClass. OptimisationStartingValueAlpha
The Late Acceptance Hill Climbing (LAHC) optimization heuristic parameter is used to determine the starting value of the trend smoothing coefficient for the Holt-Winters algorithm. |
BATS, BEST, H-W | 0 =< x <= 1 | 0 |
Optimization Starting Value Beta | OptimisationDataClass. OptimisationStartingValueBeta
The Late Acceptance Hill Climbing (LAHC) optimization heuristic parameter is used to determine the starting value of the trend smoothing coefficient for the Holt-Winters algorithm. |
BATS, BEST, H-W | 0 =< x <= 1 | 0 |
Optimization Starting Value Gamma | OptimisationDataClass. OptimisationStartingValueGamma
The Late Acceptance Hill Climbing (LAHC) optimization heuristic parameter is used to determine the starting value of the seasonal smoothing coefficient for the Holt-Winters algorithm. |
BATS, BEST, H-W | 0 =< x <= 1 | 0 |
Outlier Exception Horizon | Determines the history horizon in the Outlier Exception test at the period level of the calculated forecast (For example, number of months, if Period Level = Months). Outliers are set for the full history, however only if there is an outlier within the most recent periods covering the exception horizon is flagged as a static alert (at pconst). If not specified, all history horizon is considered. | BATS, BEST, EWMA, LS, MA | Positive Integer | Null |
Perform Outlier Testing | MainDataClass.performOutlierTesting
Determines if checks are performed for outliers in the Holt-Winters, Least Squares, Moving Average, and Exponential Moving Average algorithms. |
BATS, BEST, EWMA, H-W, LS, MA | True or False | True |
Perform Step Changes | MainDataClass.performStepChanges
Determines if checks are performed for step changes in the Holt-Winters algorithm. |
BATS, BEST, H-W | True or False | True |
Perform Tracking | MainDataClass.performTracking
Determines if the engine checks for tracking signals in the Holt-Winters, Least Squares, Moving Average, and Exponential Moving Average algorithms. |
BATS, BEST, EWMA, H-W, LS, MA | True or False | True |
Periodicity | MainDataClass.period
Periodicity of the history passed and the mask information. This represents the repeating nature of the data for predicting seasonal influences (for example, Months = 12/13, Weeks = 52, Quarters = 4, and so on ). |
BEST, ARIMA, BATS, H-W, NA | ARIMA, Holt-Winters, Naive (seasonal) algorithms: 4 (quarterly data); 12, 13 (monthly data), 52 (weekly data); 7, 365 (daily data). BATS algorithm: 4, 7, 12, 13, 52. For all other algorithms, 0 is valid. | 0 |
Random number seed | Possible values:
Note: This is applicable when option is set to On.
|
Best where one of ML Train-Test randomization, ML Cross-Validation or ML full dataset randomization = True | Integer | -1 |
Recent History | ModelDataClass.recentHistory
Indicates the number of recent history periods to check if the items have any sales history. If the items have no sales history for the number of periods specified in the parameter, the engine does not return forecast for the periods and a recent History Exception is flagged/indicated by the engine. |
All | Integer >= 0, based on Periodicity | No default set in the engine |
Routine Regression Discount | BatEngineDataClass.trendDiscount
This is used to increase or decrease the influence (weighting or rate of decay) of the new observation on the regression component of the BATS model. If discount factor tends to 1, the model become more dynamic whereas if tends to 0, the model become less dynamic. |
BATS | 0 =< x < 1 | 0 |
Routine Seasonal Discount | BatEngineDataClass.seasonalDiscount
This is used to increase or decrease the influence (weighting or rate of decay) of the new observation on the seasonal component of the BATS model. If discount factor tends to 1, the model become more dynamic whereas if tends to 0, the model become less dynamic.
Note: If the switch is enabled, the engine applies several values based on Late Acceptance Hill Climbing (LAHC) optimization heuristic parameters and uses the values that produce the model with the lowest decision criteria.
|
BATS | 0 =< x < 1 | 0 |
Routine Trend Discount | BatEngineDataClass.trendDiscount
This used increase or decrease the influence (weighting or rate of decay) of the new observation on the trend component of the BATS model. If discount factor tends to 1, the model become more dynamic whereas if tends to 0, the model become less dynamic.
Note: If the switch is enabled, the engine applies several values based on Late Acceptance Hill Climbing (LAHC) optimization heuristic parameters and uses the values that produce the model with the lowest decision criteria.
|
BATS | 0 =< x < 1 | 0 |
Routine Variance Discount | BatEngineDataClass.varianceDiscount
This used increase or decrease the influence (weighting or rate of decay) of the new observation on the variance component of the BATS model. If discount factor tends to 1, the model become more dynamic whereas if tends to 0, the model become less dynamic.
Note: If the switch is enabled, the engine applies several values based on Late Acceptance Hill Climbing (LAHC) optimization heuristic parameters and uses the values that produce the model with the lowest decision criteria.
|
BATS | 0 =< x < 1 | 0 |
Run Length Limit | BatsEngineDataClass.runLengthLimit
Defines the number of periods to be monitored for significant shifts in the level and/or the variance, and the maximum length a tracking signal can run before the tracking signal is flagged (If not flagged already). When a tracking signal is detected, the item/location combination is written to Tracking Signal Exception, where mapped. This is used in BATS monitoring. |
BATS | Positive integer | 4 |
Scale Inflation Factor | BatsEngineDataClass.scaleInflationFactor
The factors used in to develop an alternative model to monitor the increase in the estimation of variance. This is used in BATS monitoring. |
BATS | 0.001-100 | 20 |
Scale inflation threshold | BatsEngineDataClass.scaleInflationThreshold
The minimum allowed value for the variance Bayes factor before a tracking signal is activated. If the Bayes factor falls below this threshold, the tracking signal process is activated. This is used in BATS monitoring. |
BATS | 0 < x <= 1 | 0.01 |
Scale smoothing coefficient | ModelDataClass.lambda
The scale smoothing coefficient for the Robust Holt-Winters algorithm. This is used to increase or decrease the influence of the forecast error on the scale component of the Robust Holt-Winters model. When the coefficient is 0, the forecast error has no influence on the scale of the model. When the coefficient is 1, the forecast error has a significant effect on the scale of the model making the same unstable. It is recommended that this figure be set to 0.1 and not modified. |
Best, H-W | 0 < x <= 1 | 0.1 |
Seasonal smoothing coefficient | ModelDataClass.gamma
This represents the seasonal smoothing coefficient for the Holt-Winters algorithm. This is used to increase or decrease the influence of the new observation on the relevant seasonal index of the Holt-Winters model. When the coefficient is 0, the new observation does not influence the relevant seasonal index of the model. When the coefficient is 1, the new observation becomes the relevant seasonal index (after the influence of the level is removed).
Note: If the switch is enabled, the engine applies several values based on Late Acceptance Hill Climbing (LAHC) optimization heuristic parameters and uses the values that produce the model with the lowest decision criteria.
|
Best, H-W (Optimization = TRUE) | 0 < x <= 1 | 0.4 |
Seasonal Type | ModelDataClass.SeasonalType
This determines the type of seasonality to be used for Holt-Winters models, for example, additive or multiplicative . |
Best, BATS, H-W | NONE, ADDITIVE, MULTIPLICATIVE | NONE |
Short History | ModelDataClass.shortHistoryLength
Stores the minimum length of history required for performing the model fit. The history length must be equal or greater than the specified Short History parameter. The user defined masks are removed before the test. |
All, except EVO | Integer > 0 | 0 |
SMP Gap discount factor | BatsEngineDataClass.smpDiscount
Stores the discount factor used to smooth the level in BATS for SMPs. This eases the process of estimating the current length of time between sales events. |
BATS | 0 =< x < 1 | 0.2 |
Step Change Exception Horizon |
Determine the history horizon in the Step Change Exception test at the period level of the calculated forecast (For example, number of months, if Period Level = Months). Step Changes is set for the full history, however only if there is a step change within the most recent periods covering the exception horizon is flagged as a static alert (at pconst). If not specified, there is no limit . |
BEST, H-W | Positive integer | Null |
Step Change Maximum Run Length | ATTEngineDataClass.stepChangeMaximumRunLength
Contains the maximum number of contiguous outliers required to trigger a step change in the Holt-Winters algorithm. All the outliers must be in the same direction. |
BEST, H-W | Integer | 3 |
Tracking Exception Horizon |
Determine the history horizon in the Tracking Exception test at the period level of the calculated forecast (For example, number of months, if Period Level = Months). Tracking Signals are set for the full history, however only if there is a tracking signal within the most recent periods covering the exception horizon is flagged as a static alert (at pconst). |
BATS, BEST, EWMA, H-W, LS, MA | Positive Integer | Null |
Tracking Control Limit | TrackingSignalDataClass.controlLimit
Determine the control limit for tracking, when the tracking is set to On. The value 0.99 effectively turns tracking signal detection off. |
BEST, EWMA, H-W, LS, MA | 0.8, 0.9, 0.95, 0.96, 0.97, 0.98, 0.99 | 0.99 |
Tracking Type | TrackingSignalDataClass.type
Determine the tracking signal strategy used when the tracking is set to On. |
BEST, EWMA, H-W, LS, MA | NOTRACKING, SIMPLETRACKINGSIGNAL, BROWNSCUSUMTRACKINGSIGNAL, TRIGGSSMOOTHEDERRORTRACKINGSIGNAL, AUTOCORRELATIONTRACKINGSIGNAL | NOTRACKING |
Trend smoothing coefficient | ModelDataClass.beta
This represents the trend smoothing coefficient for the Holt-Winters algorithm. This is used to increase or decrease the influence of the level on the trend component of the Holt-Winters model. When the coefficient is 0, the difference between the new and old levels does not influence the trend of the model. When the coefficient is 1, the difference between the new and old levels is the trend.
Note: If the switch is enabled, the engine applies several values based on Late Acceptance Hill Climbing (LAHC) optimization heuristic parameters and uses the values that produce the model with the lowest decision criteria.
|
Best, H-W | 0 < x <= 1 | 0 |
Trim factor | Indicates the number of extreme values to be removed when running the Trimmed Mean technique of Forecast Combining. This represents a one-sided value that is when you remove the first and last values, x =1.
Note: This is applicable when the option is set to On.
|
Best and Classic Combining set to On. | Positive Integer | 1 |
Winsorizing factor | Indicates the number of extreme values to replace when running the Winsizoring technique. This represents a one-sided value that is when you remove the first and last values, x =1. | Best and Classic Combining set to On. | Positive Integer | 1 |
Weighted AIC Maximum | ForecastingConstants.AICMAXIMUM
Indicates the maximum difference from the lowest AIC value for a technique to be included in the weighing calculation. This is used in Weighted AIC technique and applicable when the option is set to On. |
Best and Classic Combining set to On. | Positive Decimal | 4 |
- The Advanced Traditional Techniques engine requires an additional horizon (ForecastDataClass.horizon_) parameter, which is used from the Cycle.FutureHorizon parameter. This is applied to all the items or locations, or both. This is done as part of the process, when calling the Forecast Engine.
- The application performs a validation on the parameters, prior to calling the forecast engine. The item and location combinations using invalid parameter settings are rejected. The code list and invalid parameters are specified in the audit log entry for the forecast engine, in the attached discard log.
- Algorithm, SeasonalType, and ModelForm work in tandem with each other. The possible combinations are (in order of Algorithm, SeasonalType, and ModelForm):
LEASTSQUARES, NONE, LINEAR MOVINGAVERAGE, NONE, CONSTANT EXPONENTIALMOVINGAVERAGE, NONE, CONSTANT CROSTONS, NONE, CONSTANT HOLTWINTERS, NONE, CONSTANT HOLTWINTERS, NONE, LINEAR HOLTWINTERS, ADDITIVE, SEASONAL HOLTWINTERS, MULTIPLICATIVE, SEASONAL.