Skip to content

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.