chapter7.ppt

advertisement
Supply Chain Management
Chapter 7
Demand Forecasting
in a Supply Chain
7-1
Role of Forecasting
in a Supply Chain
The basis for all strategic and planning decisions
in a supply chain
Used for both push and pull processes
Examples:
– Production: scheduling, inventory, aggregate planning
– Marketing: sales force allocation, promotions, new
production introduction
– Finance: plant/equipment investment, budgetary
planning
– Personnel: workforce planning, hiring, layoffs
All of these decisions are interrelated
7-2
Characteristics of Forecasts
Forecasts are always wrong. Should include
expected value and measure of error.
Long-term forecasts are less accurate than shortterm forecasts (forecast horizon is important)
Aggregate forecasts are more accurate than
disaggregate forecasts
7-3
Forecasting Methods
Qualitative: primarily subjective; rely on
judgment and opinion
Time Series: use historical demand only
– Static
– Adaptive
Causal: use the relationship between demand and
some other factor to develop forecast
Simulation
– Imitate consumer choices that give rise to demand
– Can combine time series and causal methods
7-4
Components of an Observation
Observed demand (O) =
Systematic component (S) + Random component (R)
Level (current deseasonalized demand)
Trend (growth or decline in demand)
Seasonality (predictable seasonal fluctuation)
• Systematic component: Expected value of demand
• Random component: The part of the forecast that deviates
from the systematic component
• Forecast error: difference between forecast and actual demand
7-5
Time Series Forecasting
Quarter
II, 1998
III, 1998
IV, 1998
I, 1999
II, 1999
III, 1999
IV, 1999
I, 2000
II, 2000
III, 2000
IV, 2000
I, 2001
Demand Dt
8000
13000
23000
34000
10000
18000
23000
38000
12000
13000
32000
41000
Forecast demand for the
next four quarters.
7-6
Time Series Forecasting
50,000
40,000
30,000
20,000
10,000
0
, 2 7, 3 7, 4 8, 1 8, 2 8, 3 8, 4 9, 1 9, 2 9, 3 9, 4 0, 1
7
9
9
9
9
9
9
9
9
9
9
9
0
7-7
Time Series
Forecasting Methods
 Goal is to predict systematic component of demand
– Multiplicative: (level)(trend)(seasonal factor)
– Additive: level + trend + seasonal factor
– Mixed: (level + trend)(seasonal factor)
 Static methods
 Adaptive forecasting
–
–
–
–
Moving average
Simple exponential smoothing
Holt’s model (with trend)
Winter’s model (with trend and seasonality)
7-8
Static Methods
Assume a mixed model:
Systematic component = (level + trend)(seasonal factor)
Ft+l = [L + (t + l)T]St+l (forecast in period t for demand in period t + l)
L = estimate of level for period 0
T = estimate of trend
St = estimate of seasonal factor for period t
Dt = actual demand in period t
Ft = forecast of demand in period t
7-9
Static Methods
Estimating level and trend
Estimating seasonal factors
7-10
Time Series Forecasting
Quarter
II, 1998
III, 1998
IV, 1998
I, 1999
II, 1999
III, 1999
IV, 1999
I, 2000
II, 2000
III, 2000
IV, 2000
I, 2001
Demand Dt
8000
13000
23000
34000
10000
18000
23000
38000
12000
13000
32000
41000
Forecast demand for the
next four quarters.
7-11
Time Series Forecasting
50,000
40,000
30,000
20,000
10,000
0
, 2 7, 3 7, 4 8, 1 8, 2 8, 3 8, 4 9, 1 9, 2 9, 3 9, 4 0, 1
7
9
9
9
9
9
9
9
9
9
9
9
0
7-12
Estimating Level and Trend
Deseasonalize the Demand
– Deseasonalized demand: Demand that would have been
observed in the absence of seasonal fluctuations
Periodicity (p)
– the number of periods after which the seasonal cycle
repeats itself
– In our example: p = 4
7-13
Deseasonalizing Demand
[Dt-(p/2) + Dt+(p/2) + S 2Di] / 2p for p even
Dt =
(sum is from i = t+1-(p/2) to t-1+(p/2))
S Di / p for p odd
(sum is from i = t-[(p-1)/2] to t+[(p-1)/2]
7-14
Deseasonalizing Demand
For the example, p = 4 is even
For t = 3:
D3 = (D1 + D5 + 2D2+2D3+2D4)/8
= {8000+10000+[(2)(13000)+(2)(23000)+(2)(34000)]}/8
= 19750
D4 = {D2 + D6 + 2D3+2D4+2D5}/8
= {13000+18000+[(2)(23000)+(2)(34000)+(2)(10000)]/8
= 20625
7-15
Deseasonalized Demand
t
1
2
3
4
5
6
7
8
9
10
11
12
Deseasonalized
Dt
Demand
8000
13000
23000
19750
34000
20625
10000
21250
18000
21750
23000
22500
38000
22125
12000
22625
13000
24125
32000
41000
7-16
Time Series of Demand
50000
Demand
40000
30000
Dt
Dt-bar
20000
10000
0
1 2 3 4 5 6 7 8 9 10 11 12
Period
7-17
Deseasonalizing Demand
Then include trend
Dt = L + tT
where Dt = deseasonalized demand in period t
L = level (deseasonalized demand at period 0)
T = trend (rate of growth of deseasonalized demand)
Trend is determined by linear regression using
deseasonalized demand as the dependent variable and
period as the independent variable (can be done in
Excel)
In the example, L = 18,439 and T = 524
7-18
Estimating Seasonal Factors
Use the previous equation to calculate deseasonalized
demand for each period
St = Dt / Dt = seasonal factor for period t
In the example,
D2 = 18439 + (524)(2) = 19487 D2 = 13000
S2 = 13000/19487 = 0.67
The seasonal factors for the other periods are
calculated in the same manner
7-19
Estimating Seasonal Factors
t
1
2
3
4
5
6
7
8
9
10
11
12
Dt Dt-bar S-bar
8000 18963 0.42 = 8000/18963
13000 19487 0.67 = 13000/19487
23000 20011 1.15 = 23000/20011
34000 20535 1.66 = 34000/20535
10000 21059 0.47 = 10000/21059
18000 21583 0.83 = 18000/21583
23000 22107 1.04 = 23000/22107
38000 22631 1.68 = 38000/22631
12000 23155 0.52 = 12000/23155
13000 23679 0.55 = 13000/23679
32000 24203 1.32 = 32000/24203
41000 24727 1.66 = 41000/24727
7-20
Estimating Seasonal Factors
The overall seasonal factor for a “season” is then obtained
by averaging all of the factors for a “season”
If there are r seasonal cycles, for all periods of the form
pt+i, 1<i<p, the seasonal factor for season i is
Si = [Sum(j=0 to r-1) Sjp+i]/r
In the example, there are 3 seasonal cycles in the data and
p=4, so
S1 = (0.42+0.47+0.52)/3 = 0.47
S2 = (0.67+0.83+0.55)/3 = 0.68
S3 = (1.15+1.04+1.32)/3 = 1.17
S4 = (1.66+1.68+1.66)/3 = 1.67
7-21
Estimating the Forecast
Using the original equation, we can forecast the next
four periods of demand:
F13 = (L+13T)S1 = [18439+(13)(524)](0.47) = 11868
F14 = (L+14T)S2 = [18439+(14)(524)](0.68) = 17527
F15 = (L+15T)S3 = [18439+(15)(524)](1.17) = 30770
F16 = (L+16T)S4 = [18439+(16)(524)](1.67) = 44794
7-22
Adaptive Forecasting
The estimates of level, trend, and seasonality are
adjusted after each demand observation
Moving average
Simple exponential smoothing
Trend-corrected exponential smoothing (Holt’s
model)
Trend- and seasonality-corrected exponential
smoothing (Winter’s model)
7-23
Basic Formula for
Adaptive Forecasting
Ft+1 = (Lt + lTt)St+1 = forecast for period t+l in period t
Lt = Estimate of level at the end of period t
Tt = Estimate of trend at the end of period t
St = Estimate of seasonal factor for period t
Ft = Forecast of demand for period t
Dt = Actual demand observed in period t
Et = Forecast error in period t
At = Absolute deviation for period t = |Et|
MAD = Mean Absolute Deviation = average value of At
7-24
General Steps in
Adaptive Forecasting
Initialize: Compute initial estimates of level (L0),
trend (T0), and seasonal factors (S1,…,Sp). This is
done as in static forecasting.
Forecast: Forecast demand for period t+1 using the
general equation
Estimate error: Compute error Et+1 = Ft+1- Dt+1
Modify estimates: Modify the estimates of level
(Lt+1), trend (Tt+1), and seasonal factor (St+p+1), given
the error Et+1 in the forecast
Repeat steps 2, 3, and 4 for each subsequent period
7-25
Moving Average
 Used when demand has no observable trend or seasonality
 Systematic component of demand = level
 The level in period t is the average demand over the last N
periods (the N-period moving average)
 Current forecast for all future periods is the same and is based
on the current estimate of the level
Lt = (Dt + Dt-1 + … + Dt-N+1) / N
Ft+1 = Lt and Ft+n = Lt
After observing the demand for period t+1, revise the
estimates as follows:
Lt+1 = (Dt+1 + Dt + … + Dt-N+2) / N
Ft+2 = Lt+1
7-26
Moving Average Example
Ex:
At the end of period 4, what is the forecast demand for periods 5
through 8 using a 4-period moving average?
L4 = (D4+D3+D2+D1)/4 = (34000+23000+13000+8000)/4 = 19500
F5 = 19500 = F6 = F7 = F8
Observe demand in period 5 to be D5 = 10000
Forecast error in period 5, E5 = F5 - D5 = 19500 - 10000 = 9500
Revise estimate of level in period 5:
L5 = (D5+D4+D3+D2)/4 = (10000+34000+23000+13000)/4 =
20000
F6 = L5 = 20000
7-27
Simple Exponential Smoothing
 Used when demand has no observable trend or seasonality
 Systematic component of demand = level
 Initial estimate of level, L0, assumed to be the average of all
historical data
L0 = [Sum(i=1 to n)Di]/n
Current forecast for all future periods is equal to the current
estimate of the level and is given as follows:
Ft+1 = Lt and Ft+n = Lt
After observing demand Dt+1, revise the estimate of the level:
Lt+1 = aDt+1 + (1-a)Lt
7-28
Simple Exponential Smoothing
Example
Ex:
L0 = average of all 12 periods of data
= Sum(i=1 to 12)[Di]/12 = 22083
F1 = L0 = 22083
Observed demand for period 1 = D1 = 8000
Forecast error for period 1, E1, is as follows:
E1 = F1 - D1 = 22083 - 8000 = 14083
Assuming a = 0.1, revised estimate of level for period 1:
L1 = aD1 + (1-a)L0 = (0.1)(8000) + (0.9)(22083) = 20675
F2 = L1 = 20675
7-29
Trend-Corrected Exponential
Smoothing (Holt’s Model)
 Appropriate when the demand is assumed to have a level and
trend in the systematic component of demand but no seasonality
 Obtain initial estimate of level and trend by running a linear
regression of the following form:
Dt = b + at
L0 = b
T0 = a
In period t, the forecast for future periods is expressed as follows:
Ft+1 = Lt + Tt
Ft+n = Lt + nTt
7-30
Trend-Corrected Exponential
Smoothing (Holt’s Model)
After observing demand for period t, revise the estimates for level
and trend as follows:
Lt+1 = aDt+1 + (1-a)(Lt + Tt)
Tt+1 = b(Lt+1 - Lt) + (1-b)Tt
a = smoothing constant for level
b = smoothing constant for trend
Example: Forecast demand for period 1 using Holt’s model (trend
corrected exponential smoothing)
Using linear regression,
L0 = 12015 (linear intercept)
T0 = 1549 (linear slope)
7-31
Holt’s Model Example (continued)
Forecast for period 1:
F1 = L0 + T0 = 12015 + 1549 = 13564
Observed demand for period 1 = D1 = 8000
E1 = F1 - D1 = 13564 - 8000 = 5564
Assume a = 0.1, b = 0.2
L1 = aD1 + (1-a)(L0+T0) = (0.1)(8000) + (0.9)(13564) = 13008
T1 = b(L1 - L0) + (1-b)T0 = (0.2)(13008 - 12015) + (0.8)(1549)
= 1438
F2 = L1 + T1 = 13008 + 1438 = 14446
F5 = L1 + 4T1 = 13008 + (4)(1438) = 18760
7-32
Trend- and Seasonality-Corrected
Exponential Smoothing
Appropriate when the systematic component of
demand is assumed to have a level, trend, and seasonal
factor
Systematic component = (level+trend)(seasonal factor)
Assume periodicity p
Obtain initial estimates of level (L0), trend (T0),
seasonal factors (S1,…,Sp) using procedure for static
forecasting
In period t, the forecast for future periods is given by:
Ft+1 = (Lt+Tt)(St+1) and Ft+n = (Lt + nTt)St+n
7-33
Trend- and Seasonality-Corrected
Exponential Smoothing (continued)
After observing demand for period t+1, revise estimates for level,
trend, and seasonal factors as follows:
Lt+1 = a(Dt+1/St+1) + (1-a)(Lt+Tt)
Tt+1 = b(Lt+1 - Lt) + (1-b)Tt
St+p+1 = g(Dt+1/Lt+1) + (1-g)St+1
a = smoothing constant for level
b = smoothing constant for trend
g = smoothing constant for seasonal factor
7-34
Trend- and Seasonality-Corrected
Exponential Smoothing Example
Example: Forecast demand for period 1 using Winter’s model.
Initial estimates of level, trend, and seasonal factors are obtained as in the static
forecasting case: L0 = 18439, T0 = 524, S1=0.47, S2=0.68, S3=1.17, S4=1.67
F1 = (L0 + T0)S1 = (18439+524)(0.47) = 8913
The observed demand for period 1 = D1 = 8000
Forecast error for period 1 = E1 = F1-D1 = 8913 - 8000 = 913
Assume a = 0.1, b=0.2, g=0.1; revise estimates for level and trend for period 1
and for seasonal factor for period 5
L1 = a(D1/S1)+(1-a)(L0+T0) = (0.1)(8000/0.47)+(0.9)(18439+524)=18769
T1 = b(L1-L0)+(1-b)T0 = (0.2)(18769-18439)+(0.8)(524) = 485
S5 = g(D1/L1)+(1-g)S1 = (0.1)(8000/18769)+(0.9)(0.47) = 0.47
F2 = (L1+T1)S2 = (18769 + 485)(0.68) = 13093
7-35
Measures of Forecast Error
 Forecast error = Et = Ft - Dt
 Mean squared error (MSE)
MSEn = (Sum(t=1 to n)[Et2])/n
 Absolute deviation = At = |Et|
 Mean absolute deviation (MAD)
MADn = (Sum(t=1 to n)[At])/n
Mean absolute percentage error (MAPE)
MAPEn = 100*(Sum(t=1 to n)|Et/ Dt|)/n
 Bias = Sum(t=1 to n)[Et]
Shows whether the forecast consistently under- or overestimates
demand; should fluctuate around 0
 Tracking Signal = Bias / MAD
Should be within the range of +6. Otherwise, possibly use a new
forecasting method
7-36
Forecasting in Practice
Collaborate in building forecasts
The value of data depends on where you are in the
supply chain
Be sure to distinguish between demand and sales
7-37
Download