DOC

Demand planning

By Joel Riley,2014-06-05 01:03
13 views 0
Demand planningDema

    Demand planning

    Forecasting Need

    The process of forecasting need (or demand planning) is a means to improve the general effectiveness of an organization. In particular, forecasting need is designed to allow an organization to:

    Schedule resources (such as production facilities, means of transportation,

    available capital, and personnel) more efficiently.

    Acquire resources (such as raw materials, machines, and employees) in a

    timely fashion.

    Determine resource requirements in advance.

    Cannibalism

    When you enter an event on a forecast part (see Forecast Graph) you can do a cannibal analyzes

    on how this event is expected to affect other parts. For example if you are promoting part A and this promotion is expected to lead to an increase of 35% in the sale of part A. Then the question how will this affect the sales of part B which is similar to part A. This cannibal analyze tool is meant to give you a suggestion in how the sale of B is likely to be effected.

    When you select the Cannibalism check the system will show you a dialog where you are asked to enter which parts in the current flow you want to check for cannibalism. I this dialog you can select if you only want to run the cannibal check on parts belonging to the same group as the cannibal part (the cannibal part is the part that has the campaign/event planned; you must select this part when selecting cannibal check form the menu). You can only select one group (1..6), you can not select multiple groups. E.g. it is possible to check for cannibalism on all parts belonging to the same part product family as the cannibal part. It is not possible to check for cannibalism on parts that belong to the same part product family and that have the same ABC class as the cannibal part. You can only select one group. It is possible to do a cannibal check of all parts in a flow. You can only do a cannibalism check on parts that are in the same flow.

    The result of the cannibal flow is displayed as an event in the same period as the events in the cannibal part. The events on the checked parts can be both negative and positive, big or large depending on the found correlation with the cannibal part.

    There are also two fields in detail view associated with the cannibal check.

    The cannibal part which shows the part no that are the current parts cannibal

    part. The cannibal part is the part that have the original planned campaign

    activity.

    Cannibal correlation is the correlation number that sates how strongly the

    parts historical sales are with the historical sales of the cannibal part.

    If a part has already an event value defined in one of the cannibal campaign period, then that part gets no cannibal effect calculated in that period. This means that you can only run a cannibal run for one part per period within the same group selection. Note that the detail view field cannibal correlation is set always even if the part checked has not got an cannibal event adjustment (due to

    previous event value in that period). The cannibal part field is only set if the part has got an cannibal event adjustment. This allows the user to see which parts that have got an cannibal adjustment and at the same time check the correlation of the parts that don't get cannibal adjustments.

    After a cannibal check is preformed all parts belonging to the cannibal run will be sorted according to the cannibal correlation factor at the top of the list, the cannibal part will be at the top. The most effected part will be second and so on.

    Note that the cannibal part has to have at least half a year of historical demand to run the cannibal check.

    The cannibal equation

    We use the regression formula to calculate the cannibalism effect

    Where x is the cannibal part and F is the part checked for cannibalism. When A is negative the parts are negative correlated this means that when you sell 1 more of part x (the cannibal part), then the sales of part F is decreased by A units.

    The cannibal correlation is calculated based on the correlation formula.

    Forecast Models

    General

    The following eleven forecast models are available:

    1. Manual forecast (based upon yearly demand)

    2. Simple moving average

    3. Exponential smoothing with level

    4. Exponential smoothing with level and trend

    5. Naive

    6. Adaptive exponential smoothing with level

    7. Regression line (least squares)

    8. Best fit (finds the best of the seven forecast models in a known historical

    period)

    9. Browns smoothing with level and trend

    10. Croston's intermittent

    11. Multiple regression

    12. Bayesian

    All these forecast models except naive and multiple regression can be combined with periodic seasonal indexes. Multiplying the basic forecast calculated for a period with the current index value for the same period results in the final forecast. Seasonal indexes are used whenever there is seasonal fluctuation in demand. These indexes are explained in detail in Season Indexes.

Introduction

    Notation

    YExpected yearly demand

    NNumber of periods per year

    DObserved demand in period tt

    LEstimated level in period tt

    TEstimated trend in period tt

    Forecast given in period t for a period n periods ahead

    t=0First period with historical demand

    t=hLast period with historical demand

    xNumber of periods used for simple moving average

    nNumber of periods for which to make a forecast

    Alpha: a smoothing constant for level, .

    Beta: a smoothing constant for trend, .

    Rho: a parameter used to reduce the long term trend, .

    Manual Forecast

    The model gives an average demand per period from a fixed yearly demand. The forecast beginning in period t and valid for future periods (t + n) is given by the following formula:Simple Moving Average

    The concept of moving average is that observations that are close in time are also likely to be close in value. Therefore, taking an average of the points near a certain point in time will provide a reasonable estimate of the trend cycle during that period. The average eliminates some of the randomness in the data, leaving a smooth trend cycle component. The forecast model has no explicit trend, so the forecast for any future period is set equal to the average of the last x periods of observations.

    The term moving average is used to describe this procedure because each average is computed by dropping the oldest observation and including the next observation. For example, suppose you decide to use a three-month moving average. The forecast for January will be calculated as the sum of demand in October, November, and December, divided by 3. In the calculation of the February forecast, October will be replaced by January.

    The general term forecast based on moving average is given by the following formula:

Exponential Smoothing

    This model applies an unequal set of weights to past data. The weights typically break down in an exponential manner from the most recent to the most distant data point, meaning that the model is taking a weighted average of past observations using weights that decrease smoothly. The weight parameter also is called the smoothing parameter. When the smoothing parameter is set equal to 0.20, the most recent period is weighted 20%, the next recent period is weighted 16% (= 0.20

    ?/φοντ> (1 ? 0.20)), ανδ τηε πρεϖιουσ περιοδ ισ ωειγητεδ 12.8%. Τηισ ισ δονε υντιλ τηε ολδεστ περιοδ ισ ρεαχηεδ ιν τηισ εξπονεντιαλ χαλχυλατιον. Τηε συµ οφ τηεσε ωειγητσ ισ αριτηµετιχαλλψ αδϕυστεδ το 1.0.

    If the smoothing parameter is set equal to the highest recommended value, 1.0, the model calculates the forecast for the next period to be equal to the most recent period. If the smoothing parameter is set equal to 0.0, the next periods will have no influence on the forecast, which will remain at the original level.

    Formula used for calculating initial forecast value

    The initial forecast value is the interception of the regression line of the historical demand. See L-1 in the exponential smoothing, corrected trend formula below.

    Formulas used for calculating current forecasts

    Starting from the first period in the history, the level is updated by using the following formula:The forecast given in period t for a future period (t + n) is given by the following formula:Exponential smoothing with level and trend

    If there is a steady trend in demand, forecasts based on moving average or exponential smoothing will lag behind the current demand. There is a need for an additional component, which helps to eliminate the lag. New values should significantly be higher or lower than the previous ones. The trend cycle T denotes an estimate of the slope of the forecast. Since there may be some randomness remaining in current demand observations, the trend T is modified by smoothing with a parameter β.

    Note that the principle for updating level and trend are the same, and these respective formulas are used:

    ,

    .

    Values for interception Land slope T are initialized by the following formulas:-1 -1

    Interception

    Slope

    The forecast calculated in period t for a future period (t + n) is given by the following formula:

    Note that the reduction factor ρ , which implies the trend effect, is reduced. In the long term, it slows down to zero. The should be set close to 1.0. If is set equal to 1.0, there will be no ρρ

    reduction in the trend effect.

    Adaptive Exponential Smoothing

    This model is very similar to the exponential smoothing. It is also called ARRSES: Adaptive Response Rate Single Exponential Smoothing. The difference between ordinary exponential smoothing and this model is that this model allows the value of alpha to be modified, in a controlled manner, as changes in the pattern of data occur. The formulas of this model are equal to the formulas of exponential smoothing except that the value of (alpha) is replaced by (t):α α

    Formulas used for calculating current forecasts

    Starting from the first period in history, the level is updated by using the following formula:The forecast given in period t for a future period (t + n) is given by:

    Starting values are:

    L-1 is the same as exponential smoothing.

    A-1 = B-1 = 0

    The start alpha for the h/4 periods is set to the initial value. Then the alpha values are starting to get corrected. For example, if a part has 24 periods of historical demand, then the alpha is set to its initial value for the 24/4 = 6 first periods of the demand.

    Naive

    This forecast just uses the previous period's sales as this period's forecast. This is the forecast method that always gives Theil's equal to 1.0.

    Formulas used for calculating current forecasts

    Regression

    This forecast model is a straight-line fitting of the historical periods, according to the least squares fitting rule.

    Regression line

    Interception

    Slope

Formulas used for calculating current forecasts

    Browns Level and Trend

    The model is very similar to the Exponential smoothing, corrected trend model mentioned above. The only difference is that the α? and the β in the forecast equation is replaced by α b and β b.

    You enter a single parameterα? that is used according to the following equations.

    A special case is when α? is set to 0 then α b=0 and β b=0

    Formulas used for calculating current forecasts

    The level and trend are updated through the following formulas:

    The forecast given in future a future period (t+n) is given by:

    Note that the reduction factor ρ , which implies the trend effect, is reduced; in the long term, it slows down to zero. The ρ should be set close to 1.0. If ρ is set equal to 1.0, there will be no

    reduction in the trend effect.

    Starting values are:

    The values for Land slope Tis the same as for the Exponential smoothing, corrected trend -1 -1

    model, as shown above.

    Best Fit

    This is a forecast model that runs every other model in competition on the last known historical demand. The model with the best result is chosen as a forecast model for this part based on which has the minimum Theil. The forecast models are run with different parameters, so that the parameters are also optimized. If no season profile is set on the part best fit will return a maximum theil of 1.0 which will be the naive forecast model if no of the more 'advanced' models can find a better solution. If the part has a profile assigned then best fit will return with the best performing 'advanced' models on the part. With 'advanced' models we mean all forecast models accept the naive forecasting model.

    A linear step is used to search for the optimal parameters. If we have a step size of 0.025, then the optimizing algorithm works like this: Start with parameter1 = 0, then parameter2 is increased from 0 to 1 in 0.025 steps. Then increase parameter1 by 0.05, and execute another run on parameter2. The best results, based on the Theil number, are kept. If you have only one parameter, then only the first run is executed. The step size is determined by the registry variable BestFitNoOfAlphaSteps or BestFitNoOBetaSteps (see below). The moving average model is executed with all possible lengths on the number of periods (2..n).

    These forecast models are run when the best fit model is selected:

     Manual forecast (based upon yearly demand) 1.

    2. Simple moving average

    3. Exponential smoothing with level

    4. Exponential smoothing with level and trend

    5. Naive

    6. Adaptive Exponential smoothing with level

    7. Regression line (least squares)

    8. Browns smoothing with level and trend

    Every forecast model is run and the parameters are selected as follows:Moving Average

    All possible number of periods are tried from min_average_period_number..n. N = number of

    historical periods on this part. The default minimum average period number is 1.

    The minimum average period number

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitMovingAverageMinPeriods

    Least Squares

    There are no parameters to change.

    EWMA (level)

    Here the alpha is changed from 0.01 to 0.3 in 25 steps (default). The limits can be changed in the

    following registry variables:

    Lower alpha limit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitEWMA_AlpaStart

    Upper alpha limit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitEWMA_AlpaStop

    Number of alpha steps

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitNoOfAlphaSteps

    EWMA (level/trend)

    Here the alpha is changed from 0.02 to 0.51 in 25 steps. Beta is changed from 0.005 to 0.18 in 25

    steps (default). The limits can be changed in the following registry variables:

    The lower alpha limmit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitEWMATREND_AlpaStart

    The upper alpha limmit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitEWMATREND_AlpaStop

    The lower beta limmit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitEWMATREND_BetaStart

    The upper beta limmit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitEWMATREND_BetaStop

    Number of alpha steps

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitNoOfAlphaSteps

    Number of beta steps

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitNoOfAlphaSteps

    AEWMA

    Here the a start value of alpha is set to 0.2. Beta values are changed between 0,1 and 0,3 in 25

    steps (default). The limits can be changed in the following registry variables:

    The lower beta limit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitAEWMA_BetaStart

    The upper beta limit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitAEWMA_BetaStop

    Number of beta steps

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitNoOfAlphaSteps

    Note that there are common variables in the registry that decide the number of steps in the alpha and beta parameter searches.

    The Rho damping is not changed. Note that if a forecast model has a seasonal profile attached, the optimalization algorithm is done with the seasonal profile applied in all calculations. Browns level and trend

    Here the alpha vales are changed between 0.01 and 0,3 in 25 steps (default). The limmits can be changed i the following registry variables:

    The lower alpha limit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitBrown_AlpaStart

    The upper alpha limit

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitBrown_AlpaStop

    Number of alpha steps

    HKEY_LOCAL_MACHINE/SOFTWARE/IFS/ForecastServer/ForecastModels/B

    estFitNoOfAlphaSteps

    Croston's Intermittent

    This forecast model is a special model to be used on parts with intermittent demand (slow movers). This model calculated the occurrence of demand an the size of demand separately.Definitions

    nSerial number of non zero actual demand period

    n'Spliced serial number of non zero demand used for initialization

    Expected size of demand

    Expected inter arrival time

    Actual inter arrival time

    Installation

    In the original algorithm a fair amount of data is needed to initialize the model. In many cases that amount of data is not available due to the sporadic nature of intermittent demand. An extension to the original algorithm based on a procedure to build an empirical distribution is presented here. Five historic demand occurrences are needed in order to initialize. First we need to extend the five historic demands into 25 occurrences by splicing five repetitions of the time series at hand together. Then the following equations are applied.

    Recursive update

The forecast given in period t for a future period (t + n) is given by:

    Note on error measures and Croston's

    The ordinary metrics MAD and ME compare the forecast, which is an expected value

    for all periods, with the actual demand and is therefore correct.

    MAPE gives divide by zero error if the actual demand is zero and can therefore only be

    updated on non zero periods. Therefore the metric is not relevant for intermittent parts.

    The PVE, Tracking Signal and TheilU-statistic donhave any meaningful

    interpretation for parts with intermittent demand. Therefore, the user has to disregard

    them

    The confidence interval will be quite large since it will be around the forecast and

    based on the MAD metric. It is not meaningful to use it for outlier detection but it gives

    an idea about the variation of the mean demand for all periods.

    Multiple Regression

    In multiple regression there is one variable to be predicted (e.g. sales), but two ore more explanation variables (se below for the mathematical general form. Thus if sales where the variable to be forecast, several factors such as GNP, advertising, prices, competition, and time could have influence on the sales. All or some of these variables can be used to calculate the forecast for the sales of this product. Explanation variables can also be used to explain time-related effects on the sales such as seasonal changes, trading day variations, variable holiday effects etc. For example lets look at seasonal changes, and assume quarterly period version to add explanation variables for seasonal changes. Add 3 explanation variables taking these values :

    QuarterExpvar 1Expvar 2Expvar 3

    1 Quarter000

    2 Quarter100

    3 Quarter010

    4 Quarter001

    Multiple regression model

    We start the regression from the first period where all explanation variables and the parts historical demand have data. If an explanation variable donhave data in all forecast periods

    then the latest period is copied in the missing periods.

    Where Y ,X ,...,X represent the ith observations of each of the variables Y ,X ,...,X(Y is the parts i1ikiii

    consumption, the Xare the explanation variables) respectively, b ,b,...,bare fixed but 01k

    unknown parameters, and eis the estimated error.i

    Solving the regression coefficients

    The method of least squares is used to find the minimum sum of the squares of the error terms, in order to find b ,b,...,bto minimize.01k

    By taking partial deviates of S with respect to each of the unknown coefficients b ,b,...,b,setting 01k

    these deviates to zero, and solving a set of k equations with k unknowns to get the estimated values of b ,b,...,b.01k

    .....

    Solving the equation set AX=B is done by Gausian elimination.

    The forecast given in period t for a future period (t + n) is given by:

    Bayesian

    This forecast is acutaly 1/4 of 4 other forecast models. The 4 different models used are :

    1. Moving average

    2. Adaptive EWMA

    3. Least squares (Regression)

    4. Browns Level and Trend

    To find the parameters for the different models a best fit parameter search is preformed see Best

    fit. This means that we find the 'optimal' parameter set for each of the 4 models. Then this model consists of 1/4 of each of the 4 models.

    Formulas used for calculating current forecasts

Report this document

For any questions or suggestions please email
cust-service@docsford.com