This page describes the statistical forecast models in the GAINS System.
The following GAINS forecast model descriptions are stated in terms of monthly intervals since all history is provided to the Forecaster in this form. To aid in understanding the model descriptions, the following notations will be used:

The interval index, " i ", refers to the interval position in relation to the present time,
where:
i - 23 through I = oldest interval demand history (i - 23) through most recent interval history
i + 1 through i + 12 = forecasted interval demand for the next 12 intervals, starting with the next future interval (i+1)
-
Family Type 1 (Static/Moving Average)
-
- Model 1: 12-Month Moving Average
- Model 2: 6-Month Average
- Model 104: Median of Last Year (MedLY)
- Model 105: Naïve (Last Observation)
-
-
Family Type II (Zero or Simple Trend/Seasonal)
-
- Model 3: Next Year Equals Last Year
- Model 4: Quarterly Difference Adjustment
- Model 5: Annual Difference Adjustment
-
-
Family Type III (Smoothing)
-
- Model 6: Single Exponential Smoothing, alpha = 0.1
- Model 7: Single Exponential Smoothing, alpha = 0.25
- Model 12: Single Exponential Smoothing, alpha =0 .15
- Model 13: Single Exponential Smoothing, alpha =0 .20
-
-
Family Type IV (Linear Regression)
-
- Model 8: Linear Regression
- Model 9: Linear Regression Adjusted For Seasonality
-
-
Family Type V (Double Smoothing)
-
- Model 10: Double Exponential Smoothing, alpha = 0.15
-
-
Family Type VI (Significant Trend/Seasonal)
-
- Model 11: 4-Month Trend Adjustment
- Model 14: Adjusted Single Exponential Smoothing, alpha =0 .28
- Model 15: Adjusted Single Exponential Smoothing, alpha = 0.33
- Model 16: Quarterly Trend Adjustment
- Model 17: Annual Trend Adjustment
- Model 18: Adjusted Single Exponential Smoothing, alpha =0 .25
- Models 19-23 Highly Seasonal Demand
- Model 19: Annual Percent Change Adjustment
- Model 20: Average Percent Change Adjustment
- Model 21: Adjusted Seasonal Monthly Average
- Model 22: Seasonal Monthly Average
- Model 23: Monthly Difference Adjustment
- Model 25: Seasonal Item Launch Model
-
-
Family Type VII (Sporadic Demand)
-
- Model 24: High Volume/Sporadic Poisson Distribution Modeling (Version 2)
- Model 70: Extremely Sporadic
- Model 80: Low Demand Next Year Equals Last Year With Trend
-
-
Family Type VIII (Low-Volume)
-
- Model 81: 12-Month Moving Average Modified For Low Demand With Trend
- Model 83: Low Volume Poisson Distribution Modeling With Trend (Version 1)
- Model 90: Very Low Demand
- Model 91: Fractional, low-volume moving average (total prior year divided by number of months since first non-zero month last year)
- Model 92: Zero Forecast Model
- Model 93: Low Volume Poisson Distribution Modeling (Version1)
- Model 94: Low Volume Poisson Distribution Modeling (Version2)
- Model 95: Fractional, low-volume 12-month moving average (total prior year divided by 12 months)
-
-
Other Models
-
- Model 60: Imported Forecast Model
- Model 62: Lifecycle Demand Planning Forecast Model
- Model 100: Geometric Mean
- Model 101: Augmented Floored Naïve Ensemble
- Model 102: Naïve Ensemble
- Model 103: Floored Naïve Ensemble
-
Family Type 1 (Static/Moving Average)
Model 1: 12-Month Moving Average
Moving average models calculate the average monthly demand for an item over a designated span of time. In the case of Model 1, this span is the most recent 12 months. The forecast for the next 12 months, therefore, is the average monthly demand during the previous year, as shown below:
where:

Model 2: 6-Month Average
Model 2 is another moving average forecasting technique, which considers the demand during the previous six intervals in calculating a monthly average. This average then becomes the interval forecast for the next year, as shown below:

where:


Model 104: Median of Last Year (MedLY)
Take the median value of the last 12 available months of observations. Model 104 is similar to Model 1 (Mean of Last Year) in that it makes a static prediction, but the median tends to attenuate extreme values.
Fi+1 = median(D-11,..,D-1,D0)
This model works well to remove outliers that you honestly believe will not reoccur. Model 104 will always be less than or equal to Model 1. Caution is to be applied on intermittent data, if more than half of history is zero, the model will predict zero. It can be used on weekly data, but only takes the last 12 (weeks) of observations.
Model 105: Naïve (Last Observation)
Model 105 takes the last available observation for its future predictions. While very simple (hence the name Naïve), it is the best unbiased estimator for the expected value of a symmetric random walk. Only requires a single observation of history.
Fi+1 = D0
Model 105 can be used for weekly predictions.
Family Type II (Zero or Simple Trend/Seasonal)
Model 3: Next Year Equals Last Year
Model 3 replicates the most recent year's history by interval to arrive at the forecast by interval for the next year. The first forecasted interval (i +1), therefore, is set equal to the first interval history of the previous year (i-11), and so forth until the forecast of the next year is completed:

where:
Model 4: Quarterly Difference Adjustment
Model 4 computes the average interval demand difference during the most recent quarter of the previous year and applies this difference to each of the intervals of the past year to arrive at the forecast for the next year. The difference component is determined as follows:
Once the DIFFERENCE factor is computed, it is "annualized" by dividing the amount by 12. The interval forecasts are then calculated using the last year as the base and multiplying the annualized difference factor by the interval index number (i + 1 to i + 12), as shown:

Where:

Model 4 may, in extreme circumstances, yield a volatile forecast. A damping factor has been incorporated into the technique to monitor and limit, as necessary, such volatility. An upper limit is placed in the raw forecast so that the aggregate forecast (FD3) is not greater than two times the recent year's (YR2) total activity.
Model 5: Annual Difference Adjustment
Model 5 computes the average annualized difference of interval demand during the most recent year of history and applies the difference to last year's actual demand to arrive at the forecasted interval demand for the next year. The difference component, DIFFERENCE, is calculated as follows:

The forecast by interval for the next year is then computed as follows:

where:

Family Type III (Smoothing)
Model 6: Single Exponential Smoothing, alpha = 0.1
Single exponential smoothing gives a moving, weighted average forecast. The degree of weighing given to the most recent interval demand is determined by the smoothing factor, referred to as alpha (a). The higher the alpha, the more the importance attributed to the recent interval; the lower the alpha, the less the importance attributed to the recent interval.
The standard formula for single exponential smoothing, here SSV refer to the Single Smoothed Value, is:

where:


The new single smoothed interval forecast value, 1 SSV+ i , is then applied as the interval forecast for each of the next year's intervals.
Model 7: Single Exponential Smoothing, alpha = 0.25
Model 7 uses the same techniques as Model 6 except that the most recent month's demands are given more weight (alpha = .25).
Model 12: Single Exponential Smoothing, alpha =0 .15
Model 12 employs the same basic techniques as do other single exponential smoothing models, except that the smoothing factor is 0.15.
Model 13: Single Exponential Smoothing, alpha =0 .20
Model 13 employs the same basic techniques as do other single exponential smoothing models, except that the smoothing factor is 0.20.
Family Type IV (Linear Regression)
Model 8: Linear Regression
Model 8 "fits" a line to the recorded interval demand history, which minimizes the distance between all interval values and the resulting line itself. This projection technique is known as linear regression and is calculated in GAINS using the standard, accepted manner. The resulting forecast for the next year by interval is the regression line (based on the historical data) extended out to the future.
Model 9: Linear Regression Adjusted For Seasonality
Model 9 uses the regular regression technique of Model 8 to produce a base forecast by interval over the next year. These base line forecasts are then factored by a seasonal interval index, SEASON, which is defined as the ratio of last year's interval history to the regression line through last year's data. The resulting interval forecasts, therefore, reflect the relative seasonality experience during the previous year.
Family Type V (Double Smoothing)
Model 10: Double Exponential Smoothing, alpha = 0.15
Model 10 utilizes techniques similar to the single exponential smoothing models, except that the resulting single smoothed value (SSV) is smoothed again with the previous double smoothed value (DSV). The net effect is a forecast, which is more responsive to recent trends or changes in demand history.
Family Type VI (Significant Trend/Seasonal)
Model 11: 4-Month Trend Adjustment
Using last year's actual history as a base, Model 11 multiplies each interval value by a trend factor to arrive at the forecast by interval for the next year. This trend factor is determined in the following manner:

The forecast is then computed as:

where: 
Model 11 may, in extreme circumstances, yield a volatile forecast. A damping factor has been incorporated into the technique to monitor and limit, as necessary, such volatility. An upper limit is placed on the raw forecast so that the aggregate forecast (FD3) is not greater than two times the recent year's (YR2) total activity.
Model 14: Adjusted Single Exponential Smoothing, alpha =0 .28
Model 14 computes a single exponential forecast using a smoothing factor of 0.28 to which an adjustment is made. This adjustment is determined by considering previous adjustments, a constant adjustment factor, and the difference between the previous intervals actual demand and single smoothed forecast value. This model reacts quickly to changes in demand pattern and tends to track changing conditions well.
Model 15: Adjusted Single Exponential Smoothing, alpha = 0.33
Model 15 is similar to Model 14 except that the smoothing factor is 0.33 and the constant adjustment factor is higher. Model 15, therefore, is designed to react quickly to more major changes in the pattern of demand.
Model 16: Quarterly Trend Adjustment
Model 16 computes a quarterly trend using the last three intervals of demand history as follows:

Once the trend is determined, it is multiplied by each interval value of the previous year to arrive at the interval forecast for the next year:

where:


Model 17: Annual Trend Adjustment
Model 17 computes the rolling annual trend of interval demand during the most recent demand interval as follows:

Once the trend is determined, it is multiplied by each interval value of the previous year to arrive at the interval forecast for the next year:

where:
Model 18: Adjusted Single Exponential Smoothing, alpha =0 .25
Model 18 computes a single smoothed forecast value using a smoothing factor of 0.25. An adjustment value is then determined by taking the difference between last month's actual and single smoothed forecast value, the previous adjustment value, and a factor determined by the number of the individual monthly intervals.
Models 19-23 Highly Seasonal Demand
Five new forecasting models have been added to GAINS Version 2.0. The models consider annum-based seasonal trends such that rational and reasonable forecasts may be generated for items with multiple months of zero demand each year.
The Additional Seasonal Forecasting Models require an additional third year of history data in order to initialize the new models. The other GAINS forecast models are initialized with two years of history data.
The additional year of history is provided on a separate file that is utilized exclusively by the forecast selection (M1) process. The third year history data is not stored in any database or file and does not appear on any screen or report (although the forecast model summary section on the Forecast Summary Report will include models 19 through 23). The forecast generation process utilizes two years of history for all the new GAINS seasonal forecast models, and follows the same process as other GAINS forecast models.
Model 19: Annual Percent Change Adjustment
Model 19 computes an Annual Trend-Seasonal Factor Percentage (ATSFP) using the past two years of interval history.

Once the ATSFP is determined, it is multiplied by each interval value of the previous year to arrive at the interval forecast for the next year:

where:
Model 20: Average Percent Change Adjustment
Model 20 divides the sum of the YR2 demand history by the number of YR2 months with history greater than zero. This qualified demand average is multiplied by the ATSFP factor, so:

where:


Model 21: Adjusted Seasonal Monthly Average
Model 21 calculates the average demand value for the same intervals in the past two years of history. This average interval value is multiplied by the ATSFP factor to arrive at the interval forecast for the next year:

where:

Model 22: Seasonal Monthly Average
Model 22 calculates the average demand value for identical intervals in the past two years of history to arrive at the interval forecast for the next year:

where:
Model 23: Monthly Difference Adjustment
Model 23 calculates an adjustment, which is the difference in demand value for identical interval in the past two years of history. This adjustment is the added to each interval value of the previous year to arrive at the interval forecast for the next year:

where:
Model 25: Seasonal Item Launch Model
The basic concept behind this model is to use a percent-by-month (PBM) calculation determined from similar items. Initially, the SKULs group_no will be used to determine similar item groupings. This model requires a pre-processor that will calculate parameters for these item groupings.
The calculations for Model 25 forecasting are detailed below.
1. Determine estimated total Y2 history. This extrapolation is required in order to estimate the months of history which are not available for the SKUL. This is calculated by summing the significant months in Y2 and dividing by the corresponding summed value from the PBM array in the PS_Groups table.
Est. Y2 History = Y2M12 + Y2M11 / ((PBM (month 12) + PBM (month 11)
If the sum of the PBM values in the denominator equals zero: for this calculation, assume each PBM value = (1/12). For example, if there are 3 significant months, all with PBM = 0, then the denominator = 3/12 = 0.75.
2. Determine estimated annual forecast. This is obtained by multiplying the estimated Y2 history calculated in step 1 by the Aggregate Growth parameter for the SKUL’s group calculated in step 3 of the pre-processor. This is performed for both forecast years 1 and 2.
Est. Annual Fcst Year 1 = Est. Y2 History * Agg Growth FY1 for SKUL’s Group
Est. Annual Fcst Year 2 = Est. Y2 History * Agg Growth FY2 for SKUL’s Group
3. Determine monthly forecast for SKUL. This is calculated by taking the Est. Annual Forecast for Forecast Year 1 and multiplying it by the PBM value for each month to get a forecast value for each month. This is then repeated for Forecast Year 2.
Raw F1Mx = Est. Annual Fcst for FY1 * PBM (month x)
Adjusted F1Mx = FLOOR(Raw F1Mx + Remainder for Previous Month)
Remainder for F1Mx = Remainder for Previous Month + (Raw F1Mx – Adjusted F1Mx)
----------------------------------------------------------------------------------------------------
Raw F1Mx = Est. Annual Fcst for FY2 * PBM (month x)
Adjusted F2Mx = FLOOR(Raw F2Mx + Remainder for Previous Month)
Remainder for F2Mx = Raw F2Mx – Adjusted F2Mx
4. Estimate MAD by multiplying the SKUL’s lead-time forecast by the COGS weighted RER for the SKUL’s group calculated in pre-processor step 4.
MAD = (lead-time forecast) * (COGS weighted RER for Group)
The following example shows how Forecast Model 25 functions. Row 2 of this example shows the yearly percentage of sales of a similar item. The third row represents the item we are deriving seasonal forecasting for. Users will take a known value (e.g. January = 15) and the model will scale the Unit total and other months according to the percentages in row 2. Estimated growth percentages for this item are further depicted by scaling the unit values by that percentage.

Forecast Model 25 Example
Family Type VII (Sporadic Demand)
Model 24: High Volume/Sporadic Poisson Distribution Modeling (Version 2)
This Low-Volume model considers both lead time and time since the previous occurrence of demand (usage) when determining the Poisson mean (m) or Lambda (l) to be used in the first lead time forecast. Following the lead time horizon, the demand pattern will either follow the Poisson curve throughout the two-year forecast
Model 70: Extremely Sporadic
Model 70 utilizes history beyond the 3-year history array horizon to forecast demand for items with time between demand occurrences (hits) greater than 6 months. The expected number of hits throughout the forecast horizon is defined as the number with a cumulative Poisson probability of 50% or greater likelihood of occurring. This expected number of total hits is then distributed evenly over the forecast horizon. For Model 70 the forecast horizon can be between 24 and 60 months and is definable for each SKUL.
The quantity of each demand hit is set equal to the smoothed value of the most recent demand hit. The smoothed demand values are determined by combining 70% of the previous smoothed demand hit with 30% of the current demand hit.
SKULs eligible for Model 70:
- are not “inactive”;
- are at least two years old;
- have at least three total hits,;
- have an average of at least six months between hits; AND
- have had less than six hits in the past three years.
For the purposes of Model 70, “inactive” items have had enough time elapse with no hits that the probability of another hit is not within the targeted service level. For example, a SKUL with no hits in the past two years but a 99.99% targeted service level may be eligible for Model 70, while a SKUL with similar history but an 85% targeted service level might be classified inactive. Inactive SKULs receive a zero forecast.
Model 80: Low Demand Next Year Equals Last Year With Trend
Model 80 is a model for items with very low demand. This model is selected when the demand for last year is less than one per period (12 units or less in YR3). The resulting forecast is next year equals last year (Model 3) with a trend factor.

Family Type VIII (Low-Volume)
Model 81: 12-Month Moving Average Modified For Low Demand With Trend
Model 81 calculates a modified 12-month moving average (Model 1) with a trend factor (see TREND above) in the following manner:
- If the average monthly forecast generated is less than one unit, but greater than 0 units (i.e. 0 history) 1 unit will be “front-loaded” as the first months forecast.
- Then the fractional forecasts for each month will be accumulated until another full unit is reached. The forecast will be spread across 3 years according to the trend factor.
Model 83: Low Volume Poisson Distribution Modeling With Trend (Version 1)
This Low-Volume (12 units or less in YR3) model considers both lead time and since the previous occurrence of demand (usage) when determining the Poisson mean (m) or Lambda (l) to be used on the first lead time forecast. Following the lead time horizon, the demand pattern will either follow the Poisson curve throughout the two-year forecast horizon based on a fixed . The trend factor utilized for this model is applied to the Lambda.
Model 90: Very Low Demand
Model 90 is a model for items with very low demand. This model is selected when the demand for last year is less than one per period. The resulting forecast is next year equals last year (Model 3) if it is the designated default.
Model 91: Fractional, low-volume moving average (total prior year divided by number of months since first non-zero month last year)
Model 91 is a model selected when it is impractical to use other forecasting techniques due to the pattern of demand. Model 91 calculates a modified 12-month moving average (Model 1) in the following manner:
- If the average monthly forecast generated is less than 1 unit but greater than 0 units (i.e., 0 history), 1 unit will be "front-loaded" as the first month's forecast.
- Then the fractional forecasts for each month will be accumulated until another full unit is reached, at which point another unit is forecast.
This will yield a total forecast equal to total year-2 history, spread evenly across 12 months. See Model 95 for a similar approach that is not front loaded.
Model 92: Zero Forecast Model
Model 92, like Model 90 is a model selected when it is impractical to use other forecasting techniques due to the pattern of demand. However, using this model will produce a zero forecast for the next twelve (12) months.
Model 93: Low Volume Poisson Distribution Modeling (Version 1)
This Low-Volume (12 units or less in YR3) model considers both lead time and since the previous occurrence of demand (usage) when determining the Poisson mean (m) or Lambda (l) to be used on the first lead time forecast. Following the lead time horizon, the demand pattern will either follow the Poisson curve throughout the two-year forecast horizon based on a fixed . The trend factor utilized for this model is applied to the Lambda.
Model 94: Low Volume Poisson Distribution Modeling (Version2)
This Low-Volume (12 units or less in YR3) model considers both lead time and since the previous occurrence of demand (usage) when determining the Poisson mean (m) or Lambda (l) to be used on the first lead time forecast. Following the lead time horizon, the demand pattern will either follow the Poisson curve throughout the two-year forecast horizon based on a fixed . The trend factor utilized for this model is applied to the Lambda.
Model 95: Fractional, low-volume 12-month moving average (total prior year divided by 12 months)
Model 95 is identical to the method used in Model 91 except it is not “front loaded.” In other words, fractional demand is calculated and accumulated until a full unit is reached, at which point a unit of demand is forecasted and the process repeats. This yields a total forecast equal to total year-2 history, spread evenly across 12 months, where the 12th month always has a unit of demand forecasted.
Other Models
Model 60: Imported Forecast Model
This model is generated externally based on forecasts from the client. This can be any type of forecast whether it is from a vendor, customer, or a third party source. GAINS will load this external forecast into the "ImportedFcst" and "ImportedFcst_Weekly" tables. A sync program can convert weekly forecasts into monthly forecasts.
Within the table, previous imported forecasts will be archived and used to calculate FMAD to determine how accurate the forecasts have been. At least three historical observations are needed to start calculating.
An additional source for Model 60 is the Planning Bill of Materials. Users have the option to set this forecast as the fixed model or allow it to compete with the other Forecast Models.
Model 62: Lifecycle Demand Planning Forecast Model
New forecasts are generated for SKULs in the Lifecycle Demand Planning screen for a population of SKULs. Selecting “Save and Apply” in that screen applies Model 62 to those SKULs. Model 62 is a fixed forecasting model which takes the user approved "Lifecycle Demand Planning" forecast and replaces the Raw Forecast for those SKULs.
Model 100: Geometric Mean
Model 100 is a multiplicative ensemble (an additive model if we use log transforms of our demands to predict log of our forecast). It includes Last Observation (model 105, Naïve predictor) and SMLY (model 3, Same Month Last Year) but also MedLY (model 104, Median of Last Year). Instead of summing them, it uses the geometric mean which allows the model to generate zeros when last year's median value is zero. If one of the three inputs is zero, it constructs the geometric mean (sqrt) from the remaining two.
if (MedLY (model 104) is zero):
Fi+1 = floor(1/2 * sqrt(D0) * sqrt(Di-11) )
else if (SMLY (model 3) is zero):
Fi+1 = floor( 1/2 * sqrt(D0) * sqrt(median(D-11,..,D-1,D0)) )
else if (LastObs (model 105) is zero):
Fi+1 = floor( 1/2 * sqrt(Di-11) * sqrt(median(D-11,..,D-1,D0)) )
else:
Fi+1 = floor( cuberoot(D0) * cuberoot(Di-11) * cuberoot(median(D-11,..,D-1,D0)) )
Note if more than one of the other input models is zero, model 100 will predict identical zeros. Models 100-103 all assume monthly data and a year of history since model 3 is an input.
Model 101: Augmented Floored Naïve Ensemble
Model 101 uses Model 103 (which is just the floor version of model 102) but makes different predictions if one of Last Observation or Same Month Last Year is zero. In those cases it uses the augmentation from model 100 (geometric mean).
if (SMLY (model 3) is zero):
Fi+1 = floor( 1/2 * sqrt(D0) * sqrt(median(D-11,..,D-1,D0)) )
else if (LastObs (model 105) is zero):
Fi+1 = floor( 1/2 * sqrt(Di-11) * sqrt(median(D-11,..,D-1,D0)) )
else:
Fi+1 = floor(alpha * D0 + (1 - alpha) * Di-11)
Models 100-103 all assume monthly data and a year of history since model 3 is an input.
Model 102: Naïve Ensemble
Ensemble models average two or more other models for increased consistency and accuracy. Model 102 takes the weighted average of Model 105 (Naïve/Last Observation) and Model 3 (Seasonal Naïve/Same Month Last Year). This simple model only requires a single year of history so can be very responsive to regime changes.
Fi+1 = round(alpha * D0 + (1 - alpha) * Di-11)
The default value for alpha is 1/2, so the default model is the simple average of models 105 and model 3. Models 100-103 all assume monthly data and a year of history since model 3 is an input.
Model 103: Floored Naïve Ensemble
Model 103 is identical to model 102, but uses floor operation instead of round, which can help for some lower demand distributions. Uses the same alpha as model 102, defaulting to 1/2 if not set.
Fi+1 = floor(alpha * D0 + (1 - alpha) * Di-11)
Models 100-103 all assume monthly data and a year of history since model 3 is an input.




