Anda di halaman 1dari 49

Demantra Forecasting Methods

Amit Sharma Trinamix

A Look Inside the Black Box Trinamix Technologies

Accurate forecasting is easy

Here is the formula for the same..

Why its hard to be accurate?

Forecasting is an art of predicting the future by looking the past !

Why is it important to be accurate ?

Scope of discussion
General Forecasting
Evolution General Methods

Forecasting in Demantra
Setup and consideration
Forecast Tree Parameters Engine Definition, Types and nodes Forecasting process Advanced Analytics Causals

Forecasting Evolution

Exponential Smoothing Moving Average Nave forecasting

Advanced Methods

Nave Models
Nave forecasting models are based exclusively on historical observation of sales They do not explain the underlying casual relationships which produce the variable being forecasted. Advantage: Inexpensive to develop, store data and operate. Disadvantage: Do not consider any possible causal relationships that underlie the forecasted variable.
Nave models 1. To use actual sales of the current period as the forecast for the next period; then, Yt+1 = Yt 2. If we consider trends, then, Yt+1 = Yt + (Yt Yt-1)

Smoothing : Moving Averages


Definition:

Averages that are updated as new information is received.


With the moving average a manager simply employs, the most recent observations, drops the oldest observation, in the earlier calculation and calculates an average which is used as the forecast for the next period. Limitations: One has to retain a great deal of data. All data in the sample are weighed equally.

Smoothing: Exponential
Uses weighted average of past data as the basis for a forecast. Y new = a Y old + (1-a) Y old, where,
Y new = exponentially smoothed average to be used as the forecast Y old = most recent actual data Yold = most recent smoothed forecast a = smoothing constant Smoothing constant (or weight) has a value between 0 and 1 inclusive.

Zero Mean White Noise


Series 3

Series

-1

-2

-3

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

Zero Mean White Noise

1 Series 0.1

-1

-2

-3

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

Zero Mean White Noise

1 Series 0 0.1 0.3 -1

-2

-3

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

White Noise with Shifting Mean

4 3 2 1 0 -1 -2 -3 Series Mean

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

-4

96

White Noise with Shifting Mean

4 3 2 1 Series 0 -1 -2 -3 -4 0.1 Mean

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

White Noise with Shifting Mean

4 3 2 1 Series 0 -1 -2 -3 -4 0.3 Mean

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

Best Value for Alpha

Actual vs Forecast for Various Alpha


2 1.5 1

Forecast

0.5 0 -0.5 -1 -1.5 -2

Demand a=0.1 a=0.3 a=0.9

13

19

25

31

37

43

49

55

61

67

73

79

85

91

Period

97

Best Value for Alpha

Series and Forecast using Alpha=0.9


2 1.5 1

Might look good, but is it?

Forecast

0.5 0 -0.5 -1 -1.5 -2

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

Period

101

Best Value for Alpha

Series and Forecast using Alpha=0.9


2 1.5 1

Forecast

0.5 0 -0.5 -1 -1.5 -2

11

16

21

26

31

36

41

46

51

56

61

66

71

76

81

86

91

96

Period

101

Best Value for Alpha

Exponential smoothing
The following Rules of Thumb may be given : 1. When the magnitude of the random variations is large, give a lower value to a so as to average out the effects of the random variation quickly. 2. When the magnitude of the random variation is moderate, a large value can be assigned to the smoothing constant a. 3. It has been found appropriate to have a between 0.1 and 0.2 in many systems. This method has been successfully applied by banks, manufacturing companies, wholesalers and other organizations.

FORECASTING IN DEMANTRA
21

Demantra Forecasting Ideology


Most Solutions
Best Of Breed
A series of models execute at a node Model best meeting selection criteria chosen Any information not captured by selected model is lost

Demantra
Bayesian Estimator
Library of models is executed Based on goodness of fit models combined into single result set Nuances of models maintained

One Forecasting Level


Not flexible for noise or lack of historical information

Variable Forecast Level


Forecast at most applicable level

Traditional fit

23

Oracle Demantra Bayesian Model


Estimating techniques based on the assumption that the variable to be forecast (dependent variable) has cause-and-effect relationship with one or more other (independent) variables.

24

Demantra Trinamix Technologies


Engine Setup and Considerations

Forecast Tree Definition


4 3 2 1
The forecast tree determines which item/location aggregation combinations the engine will work on. The highest level (highest number) is ALWAYS all items/all locations and is fictive- not actually used. The second highest level is the FIRST level actually examined for forecast

Traversing the Forecast Tree 4


3 2
The engine examines each node in the forecast tree, from top to bottom: The nodes are examined to see if a forecast is possible at son of the node and traversal continues Once a stopping rule is reached on the downward traversal forecast is executed Stopping Rules Reached lowest tree level Reached desired forecast level Insufficient data available at lower levels

Traversing the Forecast Tree Continued

4
3 2

Once a stop has been reached generate a forecast Traverse to brothers and continue traversal Before going up check if any sons require a forecast if required generate a forecast

Continue until entire tree traversed

Forecast Split 4
3 2

Higher aggregation of forecast split to lower members who do not have a forecast Forecast is split according to defined proportion rule-set Forecast always stored at lowest system aggregation to enable view of data at any query level

Forecast Tree Configuration Continued


Define forecast tree
Forecast tree combination of item and location levels Begin with Lowest Item / Lowest Location level Continue upward in increasing order Highest level if fictive level Highest Item / Highest Location Define minimum and maximum levels in tree

High Level Engine Flow

Pre Engine Processing


Distribute engine tasks Create temporary tables Clear previous forecast data Maintain forecast columns

Learning Phase
Tree traversal Per node process Fit generation Bayesian combination

Forecasting Phase
Generate forecast Split Forecast to lowest level

Post Engine Processing


Drop temporary tables Update forecast history Notify of completion

Distributed Engine
Full data set divided into tasks Each task comprised of one or more engine branches For recommended Branch ID Multiplier divide planned rows in Sales_data/ (Engines) /250,000

Models
The Analytical Engine uses a set of theoretical models, each trying to explain history using different methods and algorithms.
Regression
Regression Log (log transformation before regression) CMReg (Markov chain selection of subset of causal factors) Elog (uses Markov chain after log transformation)

Exponential smoothing
Holt Bwint

Intermittent Models
CMReg for Intermittent Regression for Intermittent Croston

Time Series Models


ARX and ARIX Logistic and AR Logistic

Other Models
BWint (a mixture of regression and exponential smoothing) DMULT (Multiplicative)

DP and PE modes
Depending on installation and settings, you will run the engine in one of two modes:
DP Mode
Base Only causals Base Forecast Generated

PE Mode
Base and Promotional causals Forecast decomposed to base and lift

Engine Parameters
Max Fore Level
The maximum level on the forecast tree at which a forecast may be produced. Upon failure at this level, the NAIVE model will be used, if enabled. The NAIVE model is used only at the highest forecast level, and is used only if all other models have failed. It uses a simple averaging procedure.

Min Fore Level


Minimum forecast level that the engine will forecast. From that level down, the engine will split the forecast using the precalculated proportions in the mdp_matrix table. The engine does not necessarily create the forecast at this level. If the results are not good at this level (for a portion of the forecast tree), the Analytical Engine moves to a higher node of the forecast tree, creates a forecast there, and splits down to the minimum forecast level.

Engine Parameters (cont.)


Forecast Generation Horizon
Specifies what historical fit data the engine will write to the database. If this parameter is 0, the engine writes the forecast only. If this parameter is a positive integer N, the engine writes the last N historical fit values.

History Length
The number of base time buckets to consider for fit estimation and for the proport mechanism. Must be a non-negative integer. If equal to 0, the length of the history is set by the start_date parameter instead.

Engine Parameters (cont.)


Detect Outlier - This parameter is used by the preprocessing module of the Analytical Engine. Use one of the following values:
yes: The engine should attempt to detect outliers. If it finds outliers, it considers them in the analysis. no: The engine should not attempt to detect outliers.

Quantity Form
Expression that the Analytical Engine uses to compose the historical demand from the sales_data table; the result of this expression is the data that the engine receives as input. This expression should return 0, null, or a numeric quantity for any date. A date with 0 is treated as if there were no sales. A date with null is treated as a missing date; in this case, the system can interpolate a value or just ignore the date.

Engine Parameters (cont.)


Dying Time
If no sales occurred during the length of time specified by this parameter, the combination is marked as dead.

Hist Glob Prop


Maximum number of base time buckets to use in calculating glob_prop, the running average demand for any given item-location combination. This parameter is used by the proport mechanism.

Advanced Analytics/Nodal Tuning


Refers to the Analytics window, accessed by clicking here

Advanced Analytics/Nodal Tuning


Brings up another window focused on the same combination where you started:

Advanced Analytics/Nodal Tuning


What you can do here:
Fine-tune which engine models to use on this node (this combination) Specify how many data points are needed to use each model

Advanced Analytics/Nodal Tuning


Also:
Fine-tune engine parameter settings for this node

Causal factors
43

Global Causal Factors


Global causal factors apply to all combinations varying only by time

Default Causals
Trend Month of the year Constant Winter Summer Business days in the month Holidays Week ending the quarter

Typical Causals

Local Causal Factors


Local causal factors varies by item/location/time Vary greatly by customer business
Default Causals Price Typical Causals Number of open stores Events Weather

Pre-seeded Causal factor

Trinamix Trinamix Technologies


Value Chain Experts

Who We Are
Trinamix is a provider of Oracle Value Chain Planning & ERP services. Trinamix solutions focus on deploying best practices to maximize return on investment.

Trinamix is a prominent, full service, Value Chain Planning solution company with multiple customer success stories in the San Francisco Bay area. Trinamix offers pre-built solutions for various industries. Specific industry segments served include high tech, consumer packaged goods, renewable energy, manufacturing, and semiconductors.

Trinamix was founded by former members of the prestigious Oracle Product Development team, who helped create the Value Chain Planning products, and by best in class implementation experts.
48

Click to edit Master title style

On the TRAC

Email: asharma@trinamix.com
49