3. Demand Forecast Overview¶
This chapter provides an overview of the concepts involved in configuring and generating a statistical demand forecast.
After loading the demand data, the Community Edition process is organized around three connected elements:
- the execution profile records the process's general settings;
- material and location clusters segment demand into groups that share a statistical policy;
- each material cluster + location cluster pair receives its own statistical configuration.
---
config:
layout: elk
---
flowchart LR
subgraph G["General settings"]
P["Execution profile<br/><span style='font-size:10px;color:#64748b'>Planning Horizon,<br/>Time Bucket Size</span>"]
end
subgraph E["Statistical Forecast Model Configuration"]
C["Cluster-Level Statistical Configuration<br/><span style='font-size:10px;color:#64748b'>Statistical Model,<br>Sales History,<br>Split Model,<br>Forecast Unit of Measure</span>"]
L["Location cluster<br/><span style='font-size:10px;color:#64748b'>Location Filters</span>"]
M["Material cluster<br/><span style='font-size:10px;color:#64748b'>Material Filters</span>"]
L --> C
M --> C
end
P --> C
The objective here is to understand the relationships among these elements before entering the practical configuration steps.
Execution profile: general process settings¶
The execution profile groups the general Demand Planning settings. In Community Edition, the main settings in this record are:
- time bucket size: the plan's time aggregation unit, such as month, week, or day;
- planning horizon: the number of future buckets projected when the Demand Plan is generated;
- default unit of measure (UOM): an initial suggestion for new configurations. The effective forecast unit is confirmed in each cluster combination's configuration, and the platform converts history when a valid unit relationship exists.
The bucket and horizon should reflect the decision being made, the process cadence, and the total lead time required to react. The examples below are design references, not universal rules:
| Decision process | A potentially suitable bucket | How to think about the horizon |
|---|---|---|
| S&OP | Monthly | Cover tactical decisions, relevant seasonality, and the accumulated lead time across procurement, production, and distribution |
| S&OE | Weekly | Cover the portfolio's production cycle, production and distribution times, inventory policy, and the horizon in which purchasing, sales, and capacity already require commitments |
| DRP | Weekly or daily, according to network cadence | Extend beyond transfer lead times, the interval between replenishments, and the coverage established by inventory policy |
| Strategic view | Annual | Represent aggregate long-term decisions without unnecessary operational detail |
A monthly bucket with a 12-period horizon represents 12 future months; a weekly bucket with the same number of periods represents only 12 weeks. Bucket and horizon must therefore be decided together.
The profile is created and saved on its own screen. It does not contain the statistical-model choice, historical window, effective UOM, or split. Those decisions belong to each cluster combination's configuration, introduced later.
Statistical projection by cluster¶
In Community Edition, statistical forecasts follow a top-down approach: the
projection is calculated for aggregate groups, not separately for every
product at every customer. This is the hierarchy used in this tutorial; see
the FPP3 discussion of hierarchical forecasting
for the broader method.
---
config:
layout: elk
---
flowchart LR
subgraph LOC["Location Clusters"]
direction TB
L1["Location cluster 1<br/><span style='font-size:10px;color:#64748b'>Macroregion 1</span>"]
L2["Location cluster 2<br/><span style='font-size:10px;color:#64748b'>Macroregion 2</span>"]
end
subgraph MAT["Material Clusters"]
direction TB
M1["Material cluster 1<br/><span style='font-size:10px;color:#64748b'>Category A</span>"]
M2["Material cluster 2<br/><span style='font-size:10px;color:#64748b'>Category B</span>"]
M3["Material cluster 3<br/><span style='font-size:10px;color:#64748b'>Category C</span>"]
end
Each material-cluster and location-cluster combination has its own statistical projection configuration, as illustrated below:
---
config:
layout: elk
---
flowchart TB
%% The Rxx subgraphs are invisible and exist only to keep each
%% Cluster-Level Forecast aligned to the right of its combination.
subgraph R11[" "]
direction LR
subgraph SG11["Combination 1-1"]
direction LR
L11["Location cluster 1<br/><span style='font-size:10px;color:#64748b'>Macroregion 1</span>"]
M11["Material cluster 1<br/><span style='font-size:10px;color:#64748b'>Category A</span>"]
C11["Forecast Configuration 1-1"]
L11 --> C11
M11 --> C11
end
F11["Cluster-Level<br/>Forecast 1-1"]
SG11 --> F11
end
subgraph R12[" "]
direction LR
subgraph SG12["Combination 1-2"]
direction LR
L12["Location cluster 1<br/><span style='font-size:10px;color:#64748b'>Macroregion 1</span>"]
M12["Material cluster 2<br/><span style='font-size:10px;color:#64748b'>Category B</span>"]
C12["Forecast Configuration 1-2"]
L12 --> C12
M12 --> C12
end
F12["Cluster-Level<br/>Forecast 1-2"]
SG12 --> F12
end
subgraph R13[" "]
direction LR
subgraph SG13["Combination 1-3"]
direction LR
L13["Location cluster 1<br/><span style='font-size:10px;color:#64748b'>Macroregion 1</span>"]
M13["Material cluster 3<br/><span style='font-size:10px;color:#64748b'>Category C</span>"]
C13["Forecast Configuration 1-3"]
L13 --> C13
M13 --> C13
end
F13["Cluster-Level<br/>Forecast 1-3"]
SG13 --> F13
end
subgraph R21[" "]
direction LR
subgraph SG21["Combination 2-1"]
direction LR
L21["Location cluster 2<br/><span style='font-size:10px;color:#64748b'>Macroregion 2</span>"]
M21["Material cluster 1<br/><span style='font-size:10px;color:#64748b'>Category A</span>"]
C21["Forecast Configuration 2-1"]
L21 --> C21
M21 --> C21
end
F21["Cluster-Level<br/>Forecast 2-1"]
SG21 --> F21
end
subgraph R22[" "]
direction LR
subgraph SG22["Combination 2-2"]
direction LR
L22["Location cluster 2<br/><span style='font-size:10px;color:#64748b'>Macroregion 2</span>"]
M22["Material cluster 2<br/><span style='font-size:10px;color:#64748b'>Category B</span>"]
C22["Forecast Configuration 2-2"]
L22 --> C22
M22 --> C22
end
F22["Cluster-Level<br/>Forecast 2-2"]
SG22 --> F22
end
subgraph R23[" "]
direction LR
subgraph SG23["Combination 2-3"]
direction LR
L23["Location cluster 2<br/><span style='font-size:10px;color:#64748b'>Macroregion 2</span>"]
M23["Material cluster 3<br/><span style='font-size:10px;color:#64748b'>Category C</span>"]
C23["Forecast Configuration 2-3"]
L23 --> C23
M23 --> C23
end
F23["Cluster-Level<br/>Forecast 2-3"]
SG23 --> F23
end
R11 ~~~ R12
R12 ~~~ R13
R13 ~~~ R21
R21 ~~~ R22
R22 ~~~ R23
style R11 fill:none,stroke:none
style R12 fill:none,stroke:none
style R13 fill:none,stroke:none
style R21 fill:none,stroke:none
style R22 fill:none,stroke:none
style R23 fill:none,stroke:none
The segmentation detail moves to 4. DFU clusters.
Model configuration and the top-down decomposition to each material-location
DFU are applied in 6. Manual statistical
configuration.
For more detail, see forecast levels and clusters, statistical models, and split models.
Return to the course map or continue to 4. DFU clusters.