DEMAND
FORECASTING
Basic Time Series Models
Time Series Forecasting
2
Models
Time series models predict the future
using past data
Forecasts are estimated by
extrapolating past data into the future
Require less data than causal models
Usually not extraordinarily complex
Most commonly used techniques
Time Series Forecasting
3
Models
Past trends may be a good indication of the
future, but forecasters must be wary
External factors can have a significant impact on
the variable being forecast
If something is going to happen in the future that
has not happened in the past, time series
analysis cannot respond to it
Much like driving a car with the windshield
blocked out, only being able to see through
the rearview mirror
Developing a time series forecast:
4
1. Identify time series data components
2. Choose appropriate time series methods
Depends on the types of data
components present in the data
3. Evaluate different methods:
a) Calculate forecasts using historical (past) data
b) Evaluate forecasting errors for each forecast
method
c) Choose method which performs best
The assumption is -- if it works well on past
data, it will work well in the future
4. Implement method of choice
1. Identify time series data
components.
5
Demand
a) Random
(Stationary) Time
b) Trend (or
Demand
no trend)
Time
Demand
c) Seasonal
0 1 2 3 4 5 6 7 8 9 10 11 12
Time
e) Cyclical
Demand
Time
2. Choose appropriate time series
methods.
6
Guide to Selecting Appropriate Time Series Methods:
Time Series Components
Trend and
Stationary Trend Seasonal Seasonality
Simple moving average
Weighted moving average
Simple exponential smoothing
Linear trend
Holt's exponential smoothing
Seasonal decomposition
Winter's exponential smoothing
Time series decomposition
Holt-Winter's exponential smoothing
MODELS FOR
RANDOM PATTERNS
Example
8
Candy store owner
1 customer; rolls dice each day to decide how much to
buy
Owner has no idea;Candy
wants to forecast demand
Sales
6
5
Demand
4
3
2
1
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Day
Demand
Knowing what you know, what’s best possible forecast?
Underlying Level
Ignore the randomness
What type of model could produce this forecast for us?
9 Running Average
Running Average
10
Forecast for a given period is simply the
average of demand from all previous
periods
Ex: Forecast for period 10 is the average of
demand in periods 1-9
Candy Sales
6
5
Demand
4
3
2
1
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29
Day
Demand Simple Average Forecast
This model quickly filters out the
Running Average
11
Problem: What happens if kid changes
rule?
Now rolls 2 dice instead of 1
Candy Sales
12
11
10
9
8
Demand
7
6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Day
Demand
Level has shifted
Running Average
12
Level has shifted, but Running Average
forecast takes a long time to detect and
“catch up” Candy Sales
12
11
10
9
8
Demand
7
6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Day
Demand Simple Average Forecast
13 Simple Moving Average
Simple Moving Average Forecasting
Model
14
This method works well when the demand is
fairly stable over time
Random component only
If trend is present, this model will lag demand
because of averaging effect
Moving averages attempt estimate the level
while filtering out the random component
Simple average places the same weight (or
emphasis) on all past demand periods
Simple Moving Average Forecasting
Model
15
The n-period moving average forecast is
given by,
t
A i
Ft 1 i t n 1
n
where:
Ft+1 = forecast for Period t+1
n = number of periods used to
calculate moving
average, and
Example 5.1: Simple Moving Average
16
Period Demand Forecast
1 1,600 n/a
2 2,200 n/a
3 2,000 n/a
4 1,600 n/a
5 2,500 1,850
6 3,500
7 3,300
8 3,200
9 3,900
10 4,700
11 4,300
12 4,400
Forecast (Period 6) = (2,200 + 2,000 + 1,600 + 2,500)/4 = 2,075
Example: Candy Store
17
Candy Sales
12
11
10
9
8
Demand
7
6
5
4
3
2
1
0
1 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39 41 43 45 47 49 51 53 55 57 59
Day
Demand Simple Average Forecast 3 Period MA
Moving Average picks up level shift quickly, but is quite
sensitive to randomness, (i.e. responsive to noise).
Increasing the number of periods averaged in the forecast,
creates a less responsive forecast
Example: Candy Store
18
3 vs. 10 Period MA
Candy Sales
12
11
10
9
8
Demand
7
6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Day
Demand Simple Average Forecast 3 Period MA 10 Period MA
Example of Lag Effect
19
Exchange Rate With Japan Three-Quarter Moving Average Forecast
300.00
250.00
200.00
Yen per US Dollar
150.00
100.00
50.00
0.00
D 5
D 6
D 7
D 8
D 9
D 0
D 1
D 2
D 3
D 4
D 5
D 6
D 7
D 8
D 9
D 0
D 1
D 2
D 3
4
-8
-8
-8
-8
-8
-9
-9
-9
-9
-9
-9
-9
-9
-9
-9
-0
-0
-0
-0
-0
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
ec
D
Actual Rate Three-Quarter Moving Average Forecast
This is a problem with any of these “randomness only” models
20 Weighted Moving Average
Weighted Moving Average
21
Forecasting Model
The weighted moving average allows the forecaster to
assign weights to past periods
“Regular” moving average model spreads them out evenly
The n-period weighted moving average forecast is given by,
t
Ft 1 wA
i t n 1
i i
where:
Ft+1 = forecast for Period t+1
n = number of periods used to calculate moving average
Ai = Actual demand in Period i
wi = weight assigned to Period i (with Σwi = 1)
Example 5.2: Weighted Moving
Average
22
weights of 0.4, 0.3, 0.2, and 0.1
Forecast???
F5 = 0.4( 1,600 ) + 0.3( 2,000 ) + 0.2(2,200 ) + 0.1(1,600 )= 1840
Example: Candy Store
23
Weights: 0.4, 0.3, 0.2, 0.1
Candy Sales
12
11
10
9
8
Demand
7
6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Day
Demand 4 Period WMA
Weighted Moving Average also picks up level shift quickly,
but can sensitive to randomness, (i.e. responsive to noise).
Increasing the number of periods in forecast and/or decreasing
the size of the weights, creates a less more responsive forecast
24
Simple Exponential
Smoothing
Simple Exponential
25
Smoothing (SES)
Like the previous time series models, the SES
model is suitable for data that show no trend
patterns
Due to its simplicity, exponential smoothing is a
very popular forecasting technique
Exponential smoothing forecasting is essentially
another weighted moving average forecast model
AKA: Exponential Weighted Moving Average (EWMA)
Simple Exponential
Smoothing (SES)
Forecaster doesn’t need to choose weights
or number of periods to include!!
Only one parameter to set – the smoothing
•
constant
The exponential smoothing equation places exponentially larger weights on more recent data
• Weight is determined by setting smoothing constant (a) between 0 and 1
Weighting
Time Period Structure a = 0.7 a = 0.2
Most rec ent time period a (1-a )0 0.700 0.200
One time period bac k a (1-a )1 0.210 0.160
T w o time periods bac k a (1-a )2 0.063 0.128
T hree time periods bac k a (1-a )3 0.019 0.102
Four time periods bac k a (1-a )4 0.006 0.082
Five time periods bac k a (1-a )5 0.002 0.066
Six time periods bac k a (1-a )6 0.001 0.052
Seven time periods bac k a (1-a )7 0.000 0.042
Eight time periods bac k a (1-a )8 0.000 0.034
N ine time periods bac k a (1-a )9 0.000 0.027
T en time periods bac k a (1-a )10 0.000 0.021
Simple Exponential
27
Smoothing (SES)
The next period’s forecast is simply the current period’s forecast adjusted by a
fraction of the difference between the current period’s actual demand and its
forecast.
Ft 1 Ft At Ft
where:
Ft+1 = forecast for Period t +1
Ft = forecast for Period t
At= Actual demand in Period t, and
a = Smoothing constant
Each new forecast (Ft+1) implicitly is built upon many past actual demands, each of which
receives less and less weight. This is because each past forecast (Ft) is itself a function of
prior demands
Simple Exponential
Slide 28
Smoothing (SES)
Choosing
If data has a lot of random variation – select low value of
alpha (close to 0)
Puts more weight on historical observations
If you want the forecast to respond greatly to recent
changes or shifts in the data – select a large alpha (close to
1.0)
Puts more weight on recent observations
Will chase randomness more however
The larger the smoothing constant (a), the “less
smooth” the forecast, (or the more responsive it is
to randomness)
Notes:
In practice, small values of alpha tend to work best when
SES is the appropriate model to be using
As a general rule, alpha should be kept between .01
and .30
Example: Candy Store
Slide 29
Candy Sales
12
11
10
9
Demand
8
7
a = 0.1 6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Demand SES
Day
Candy Sales
12
11
10
9
Demand
a = 0.6 7
6
5
4
3
2
1
0
1 2 3 4 5 6 7 8 9 101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
Demand SES
Day
Simple Exponential
30
Smoothing (SES)
When using the Exponential smoothing method, your
are required to provide an initial forecast for the first
period of data.
This can be done through numerous methods:
Qualitative methods, such as the Delphi forecast
Using an average of some kind
Simply setting the initial forecast equal to the
demand of that period (naïve forecast).
There is little evidence to suggest that any particular
method of initializing the forecast is the best
Example: Simple Exponential
Smoothing
Slide 31
Ft +1 = Ft + (At Ft)
Example using: = 0.3
Period Demand Forecast
1. 1600 You must initialize
1600
2. 2200
the first forecast!
1600
3. 2000 1780 Set: F1 = A1
4. 1600 1846