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 Forecast Combining 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 Forecast Combining 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.interventionSeasonalDiscountApplied 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.interventionTrendDiscountApplied 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.interventionVarianceDiscountApplied 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.exponentiallyWMALambdaThis 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.leastSquaresOutlierSDThe 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.levelInflationFactorApplied 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: When the optimize macro parameter = TRUE, the engine applies several values using the values that produce the model with the lowest value of the chosen 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 Forecast Combining 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. This includes level, trend and 6 harmonics (6 pairs of a sine and cosine).

Note: It does not include regressors.
BATS 1-14 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: 
  • Constant seasonal is applicable to the BATS algorithm only.
  • This parameter is applicable for all algorithms except Events Only.
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 Forecast Combining 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:
  • < 0: No randomization is performed
  • 0: Non-reproducible randomization is performed
  • >0: Reproducible randomization is performed, that is where the number is same the random order is the same. Therefore, the results are reproducible.
Note: This is applicable when Forecast Combining 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.

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.

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.

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: When the optimize macro parameter = TRUE, the engine applies several values using the values that produce the model with the lowest value of the chosen 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, TRIGGSSMOOTHEDTRACKINGSIGNAL, 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:  When the optimize macro parameter = TRUE, the engine applies several values using the values that produce the model with the lowest value of the chosen 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 Forecast Combining 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 Forecast Combining option is set to On.

Best and Classic Combining set to On. Positive Decimal 4
Note: 
  • 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.