Managing Demand Sensing

Objective

After completing this lesson, you will be able to manage Demand Sensing.

Manage Demand Sensing Models

Demand Sensing Algorithms

The demand sensing with gradient boosting algorithm is now available to run demand sensing in SAP IBP, add-in for Microsoft Excel.

This advanced algorithm became available in 2021 and has a few advantages. Key differences between demand sensing 2.0 and demand sensing 1.0 are summarized in the following figure:

The figure compares Demand Sensing 2.0 with Gradient Boosting vs. Demand Sensing 1.0 with Multi-Linear Regression
The figure describes the Demand Sensing Key Capabilities and Benefits.
The figure describes the Demand Sensing Pattern Recognition.
The figure describes the Demand Sensing Post-processing.

To set up demand sensing, you need to be aware of the following prerequisites:

  • In the Configuration app, a planning level has been defined for the planning area that contains only the following master data types:
    • Product (where the root attribute is PRDID)
    • Location (where the root attribute is LOCID)
    • Customer (where the root attribute is CUSTID)
    • Time
  • You can add a demand sensing algorithm to your forecast model if the following apply:

  • On the main screen of the Manage Forecast Models app, you have selected a planning area where the time profile contains weeks, but not months.

Restrictions

The following restrictions apply to forecast models that contain a demand sensing algorithm:

  • They cannot contain any pre-processing step except for promotion sales lift elimination.
  • They can contain only one forecasting step.
  • They cannot calculate error measures.
  • They do not calculate ex-post forecasts.
  • They can be created only at the lowest level of time granularity (days).
  • They can take input demand signals only from the two lowest levels of time granularity (days, weeks).
  • They can be used for background forecast calculations in SAP IBP, add-in for Microsoft Excel only if the Customer, Location, and Product planning levels are selected there in the planning view.
  • They can only run on the baseline version of the selected planning area.

A few things to keep in mind:

  • It is recommended to run demand sensing on total demand, not promotion-eliminated demand
  • If you want to consider a promotion in demand sensing, add "Uplift" as an extra signal
  • Extra signals are added to the model by importance level, not by the order you add them
  • Best to look at forecast accuracy in total, not at individual demand streams
  • User-defined outlier periods are in place from 2202 release
  • Demand sensing with gradient boosting does not perform well on intermittent demand

For the demand sensing algorithm, the periodicity needs to be set to "Daily".

The default value for the minimum number of historical data points is 30 weeks If a product-location-customer combination (that is, a demand stream) has fewer usable weeks of historical data points than this parameter, it will get default outputs from demand sensing.

How to Setup Gradient Boosting

Section Overall Parameters should have the following settings.The figure describes the Overall Parameter to Setup Demand Sensing with Gradient Boosting.

SettingDescription

Main Input for Forecasting Steps

The key figure that is to be used as the input for all forecasting calculations in the current model. In other words, this is what future forecasts and sensed demand will be based on.

For demand sensing, two inputs are possible here: and usually the one used for demand planning should also be used for demand sensing.

  1. Requested Qty. This is the history of actual customer requests on sales orders. In other words, it is the unconstrained demand history based on customer sales orders.
  2. Confirmed Qty. This is the history of actual confirmed quantities in response to customer requests on sales orders. In other words, this represents constrained demand.
This input Key Figure should be at daily periodicity.
Target KF for Forecast

The key figures in which you want to save the final forecast. For demand sensing, this should be set to Sensed Demand Qty

Target KF for Ex-Post ForecastThe key figure in which you want to save the ex-post forecast for demand planning algorithms.

Caution: This should be left empty for all demand sensing algorithms

For other demand planning algorithms, the ex-post forecast is calculated for past periods for which actual demand history is also available. The system calculates the forecast accuracy measurements by comparing the differences between the actual values and the ex-post values. As stated above, this is not relevant for demand sensing algorithms.

The Algorithms section should have the following settings:

The figure describes the Algorithm settings for Demand Sensing with Gradient Boosting for Machine Learning Parameter Automatic and Manual.
SettingDescriptions

Maximum Number of Trees

Sets the maximum number of trees to make in the ensemble model. The more trees that a model has, the more computations it requires, which will increase run-time.

!!! Default 10 has to be an integer between 1 and 50 inclusive !!!
Learning RateThe weight is applied when the outputs of the decision trees are added up.

You can specify a learning rate to decrease the contribution of each individual tree when the tree is added to the model.

If you decrease the learning rate, you should increase the maximum number of trees to prevent overfitting and thus achieve more reliable predictions. However, many trees require more computations and thus run-time.

Caution: Default 0.75 Has to be a number between 0 and 1 inclusive.
Maximum Tree DepthThe maximum number of levels in a tree.

Each additional level increases the number of leaves (terminal nodes in the tree) with a factor of 2. This means that the number of leaves in a tree is equal to 2L where L represents the number of levels. Since the algorithm builds many trees, the individual trees don’t need to be deep.

The parameter can be used to control overfitting as a higher tree depth allows the model to learn relations that are specific to a time series.

Caution: Default 1 has to be an integer between 1 and 5 inclusive.
Common Definitions in Demand Sensing
The figure describes the handling for Missing Values for Demand Sensing.

Note the prerequisites for missing value substitution as given in the figure.

Interpret and maintain any further entries for parameter settings as indicated.

The figure compares the Bias in Statistical Forecasting vs. Demand Sensing.

Demand sensing forecasts future bias based on an optimization of historical bias factors for every lag and bias horizon.

The figure describes an example for using Maximum Forecast Increase/Decrease for Threshold Settings in Demand Sensing.

In this example, the key figure values are capped if the calculated final sensed demand numbers are higher than 150 pieces.

The daily average calculation horizon is a rolling window over which demand sensing averages daily shipments.

Use Demand Sensing

Task 1: Create a Demand Sensing Profile

The functionality of demand sensing in SAP IBP for demand is about creating a short term demand forecast, using demand streams.

Steps

  1. Create a new forecast model consisting of only a forecasting step. Use the data in the following table.

    FieldsValue
    Planning AreaZSAP6
    Model nameDemandSensingGB##
    PeriodicityDays
    Historical periods180
    Forecast periods42
    1. Log in to the SAP Fiori user interface with the login credentials provided by the instructor.

    2. In the Demand Planner group, choose the Manage Forecast Model tile.

    3. Choose Create Model, and choose planning area ZSAP6.

    4. In the General tab, enter DemandSensingGB## as both the model name and description.

    5. Choose Daily as the Periodicity.

    6. In the Historical periods field, enter 180.

    7. In the Forecast periods field, enter 42.

  2. Add the statistical algorithm, Demand Sensing with Gradient Boosting, and configure the settings. Save the model. Discuss what the settings does. Add the information from the table under the Forecasting Steps tab. Make sure to have the planning view start at the current period.

    FieldsValue
    Main Input for Forecasting StepsActuals Qty
    Target Key Figure for ForecastSensed Demand Qty
    Minimum Data Points12
    Outlier Multiplier2
    Machine Learning ParametersAutomatic
    Aggregation Level for Demand SensingLocation|Product|Customer|Daily
    Categorical Variables for New ProductsIgnore All
    Delivered QtyActuals Qty
    Daily Average Calculation Horizon4
    Daily Disaggregation InputDelivered Qty
    Daily Disaggregation Profile OverrideDaily Disaggregation Profile
    Week Type ClassificationWeekly Optimized Sensed Demand
    Weekly Optimized Sensed DemandWeekly Optimized Sensed Demand
    1. Navigate to the Forecasting Steps tab.

    2. Choose Actuals Qty as the Main Input for Forecasting Steps input key figure.

    3. Choose Sensed Demand Qty as the Target Key Figure for Forecast.

    4. Choose the algorithm Demand Sensing with Gradient Boosting.

    5. Fill the required fields in the Demand Sensing with Gradient Boosting as per the table above.

    6. Choose Save.

Task 2: Execute Demand Sensing in the Add-in for Microsoft Excel

The add-in for Microsoft Excel is used to execute the demand sensing run. In this exercise, we execute the demand sensing run and observe the results.

Steps

  1. Create a favorite called Demand Sensing by using the Demand Planning Quantities template as the starting point and choose the relevant key figures and planning view settings given in the following table.

    SelectionValue
    Time settingDays
    Planning levelProduct ID, Customer ID, and Location ID
    Key figures

    Sensed Demand Qty

    Sensed Demand Qty Adjusted

    Sensed Demand Qty Final

    1. Log in to the add-in for Microsoft Excel. If you are already logged in, you need to log out and back in again.

    2. In the Planning View section, choose FavoritesDemand Planning.

    3. In the Planning View section, choose Edit ViewEdit Planning View.

    4. On the Time Settings tab, choose Daily.

    5. Choose the Planning LevelsProduct ID, Customer ID, and Location ID.

    6. Select key figures Sensed Demand Qty, Sensed Demand Qty Adjusted, and Sensed Demand Qty Final.

    7. Choose OK.

    8. Add this view as favorite Demand Sensing.

  2. Run your DemandSensingGB## and analyze the results. Create an additional Demand Sensing tab to review the results.

    FieldValue
    Time PeriodDaily
    Planning LevelProduct ID, Customer ID, and Location ID
    Forecast model to be usedDemandSensingGB##
    UoM to IDKG
    Use available FilterHT_###
    1. To execute the Demand Sensing run, choose Run located in the Application Jobs subsection and choose Statistical Forecasting → Run.

    2. A message will pop up informing you that the settings of the view will be copied over to the job prompt. Choose OK.

    3. Choose the Time PeriodDaily.

    4. Choose the Planning LevelProduct ID, Customer ID, and Location ID.

    5. Choose the model DemandSensingGB##.

    6. Filter on HT_###.

    7. Choose Next.

    8. Choose Run. (Comment and Reason code are optional.)

    9. A message will pop up informing you of the status of the job with navigation to the status. Choose Navigate to Status to see the status of the job or choose Ok to close the pop up.

    10. Choose Status in the Application Jobs subsection.

    11. Follow the status of the execution of the forecasting job in the log, waiting until it completes.

    12. Choose Refresh in the Data Input subsection and view the forecast in the add-in for Microsoft Excel.

    13. Notice the new Sensed Demand Qty value.

Review Demand Sensing Results

Steps

  1. Log in to the add-in for Microsoft Excel and open your favorite Demand Sensing planning view.

    1. Log in to the add-in for Microsoft Excel with the login credentials provided by your instructor.

    2. Choose the Demand Sensing favorite that you have created.

  2. Observe the results of the demand sensing run and make adjustments for Product ID HT_###, Customer ID EMEA200, and Location HD_DC_FR by entering 0 in the Demand Sensing Adjusted key figure for each cell to the end of next week.

    1. The result of the demand sensing process is shown in key figure Sensed Demand Qty.

    2. Locate the Sensed Demand Qty Adjusted key figure for Product ID HT_###, Customer ID EME200, and Location HD_DC_FR and enter 0 for each day in the next full week's cells.

    3. Choose Simulate (Basic) and observe the changes in Sensed Demand Qty Final.

    4. Choose Save Data.

    5. Close the planning view.