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
© Copyright 2025 Paperzz