Show TOC

 Unified Demand Forecast

 

Unified Demand Forecast (UDF) is a module in SAP Customer Activity Repository. UDF provides demand modeling and demand forecasting services for SAP for Retail applications driven by demand prediction. UDF also provides insight into shopper behavior, enabling retailers to perform predictive analytics on customer demand.

For input, UDF uses near-real-time information about multichannel customer transactions collected in SAP Customer Activity Repository. UDF can use historical demand data from different time series (such as consumption data, point-of-sale data, or sales orders). Taking advantage of SAP HANA capabilities, UDF provides a unified prediction of future daily demands.

For output, UDF generates a daily demand value plus an accompanying decomposition of demand by demand influencing factors (such as baseline demand and promotional lifts). The demand forecasts can serve as the basis for various cross-industry planning use cases.

Implementation Considerations

  • UDF is not specific to any consuming application. Instead, it provides its services through the consuming application installed on top of SAP Customer Activity Repository.

  • UDF requires the Demand Data Foundation (DDF) module in SAP Customer Activity Repository. For installation and implementation information, see SAP Note 2088924Information published on SAP site as well as the documentation under Start of the navigation path http://help.sap.com/carInformation published on non-SAP site Next navigation step <your release> Next navigation step Installation and Upgrade Information End of the navigation path.

  • The statistical algorithms of UDF are implemented as an application function library (UDF AFL, software component UDFAFL_INST) that you install and run in the SAP HANA Platform. The UDF AFL follows the release cycle of the SAP HANA Platform. For more information, see SAP Note 2050229Information published on SAP site.

  • Customizing for UDF (transaction SPRO): All activities under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Modeling and Forecasting End of the navigation path. For example, you can define settings for modeling and forecasting, configure hierarchical priors, or define FCI categories.

Process

UDF operates in two main steps, namely demand modeling and demand forecasting.

Step 1: Demand Modeling

Taking the historical demand data provided as input, UDF tries to explain the historical sales and the impact that each demand influencing factor had on consumer demand in the past. Examples include price changes, promotions, tactics, public holidays, seasonality, or trend.

Technically, UDF models the historical demand by estimating the best values for the parameters of its defined statistical model. The parameters typically describe DIF effects. For details, see the Algorithm section below.

  • Preprocessing: Before modeling the historical demand, UDF cleans up potential issues in the provided sales data that might ultimately falsify the forecasts. For example, outliers, out-of-stock situations, and days when the location was closed are excluded from modeling. Gaps in the sales data are filled (“zero sales inferencing”).

  • Tracing: If you want to trace the changes during preprocessing, you can set this up in Customizing under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Modeling and Forecasting Next navigation step Define Modeling Control Settings End of the navigation path. Here you set the system to create the model time series (table /DMF/UMD_TS), which includes the traced changes. For more information, see the Customizing activity documentation.

  • Price elasticity: Based on the price information provided in the historical demand data, UDF can determine the price elasticity of a specific product in a specific location.

  • Time weighting: During modeling, UDF can weight recent sales observations more heavily than older sales observations to better align with the latest consumer demand. You can find the time weighting value also in the generated model time series (field TIME_WGT in table /DMF/UMD_TS).

  • Modeling results: Modeling generates different time series (see Model) as well as parameter estimates (table /DMF/UMD_PAR; for technical details, see the Algorithm section below).

Note Note

Modeling is a prerequisite for forecasting. Before objects (such as products and locations) can be considered for a forecast, they must first have been modeled so that modeling results are available.

End of the note.
Step 2: Demand Forecasting

Using the results from modeling and given inputs such as planned promotions and prices, UDF can predict the effects of similar DIF occurrences in the future and derive from those the future demand. UDF can forecast this demand for a specific combination of product / location / sales organization / distribution channel / order channel / day for the time period requested. The impact of each influencing factor that adds up to the total forecast can be detailed out (see the Demand Decomposition section below).

  • Forecast tracing: You can trace the factors that have influenced the generated forecasts. This gives you a better understanding of the forecast values and allows you to do forecast analyses at the level of individual product locations.

    Use cases:

    • Evaluate the impact of planned future prices and offers.

    • See the prices based on which the forecasts have been generated.

    • See why a particular forecast was set to zero (for example, because the location is closed on that day or the product is not listed).

    • Visualize detailed forecast information in the Analyze Forecast SAP Fiori app (see Analyze Forecast).

    Forecast tracing is available for all supported time series sources (see Time Series).

    You can activate forecast tracing in Customizing under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Modeling and Forecasting Next navigation step Define Forecasting Control Settings End of the navigation path. For more information, see the Customizing activity documentation (transaction SPRO).

    You can find the tracing results in table /DMF/UFC_TRC.

  • Forecast results: Forecasting can generate different time series (see Forecast).

    You can also provide the forecast results to an external system (for example, to SAP Forecasting and Replenishment for Retail). The /DMF/UFC_RETRIEVE_RESULTS function module is available for this purpose. It allows the external system to retrieve the forecast results on demand using a Remote Function Call (RFC). For more information, see the function module documentation (transaction SE37).

Recommendation Recommendation

You can check the status of your modeling and forecasting jobs using the /DMF/MOD_STATUS_REP report (transaction SE38). For more information, see the report documentation.

End of the recommendation.

Features

Execution Modes

Depending on your forecast scenario, you can run UDF in different execution modes:

Note Note

To run UDF, you use the Schedule Model and Forecast function. To access this function on the SAP Easy Access screen (transaction nwbc), choose Start of the navigation path Services Next navigation step Schedule Model and Forecast End of the navigation path. For more information, see Schedule Model and Forecast.

End of the note.
  • Production mode: This is the default mode, and you can schedule the forecast run. The forecast results are persisted in the database and can be read directly from SAP HANA views or SAP HANA tables.

  • Diagnostic mode: This mode is for diagnostic evaluations and forecast analyses, such as holdout forecasts. You need to specify a diagnostic ID for each diagnostic forecast that you want to run. You can schedule the forecast run.

  • What-if forecast: You can trigger the forecast run on demand. The forecast results are provided to the consuming application as requested (such as SAP Promotion Management for Retail). What-if forecasts are frequently used during planning because they allow you to gauge the impact of a particular course of action that may or may not be executed in the future (such as a planned offer).

Historical Demand Data
Types of Demand Data

UDF supports different time series sources (such as point-of-sale data, consumption data, or sales orders) as input for modeling. For more information, see the Time Series section in this Help and the Introduction to SAP Customer Activity Repository section of the Common Master Guide under Start of the navigation path http://help.sap.com/carInformation published on non-SAP site Next navigation step <your release> Next navigation step Installation and Upgrade Information Next navigation step Master Guide End of the navigation path.

Requirements for Demand Data
  • Length of the demand history:

    • In general, we recommend that you provide two years of demand history for modeling. This ensures the proper interpretation of seasonality, trend, and other yearly demand influencing factors.

    • Optionally, and depending on how much historical data you have available, you can also limit the length of the history taken into modeling. For one, this allows you to improve run times by limiting the amount of input data. Additionally, you can ensure that modeling (or the understanding of history) runs only on data that is still relevant for your forecast scenario. You can specify the number of history days in Customizing under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Modeling and Forecasting Next navigation step Define Modeling Control Settings Next navigation step Days in Modeling Period End of the navigation path.

  • Granularity: Your historical data must be at daily granularity. Weekly data is currently not supported. For more information, see Customizing under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Imported Data Next navigation step Time Series Next navigation step Define Time Series for Key Figure Configuration End of the navigation path.

Forecast Granularity
Daily Forecasts

By default, UDF forecasts consumer demand on the finest granularity (daily). For brick-and-mortar scenarios, this is a single product in a single location. For multichannel scenarios, UDF can additionally forecast by order channel, distribution channel, and sales organization.

Intraday Forecasts

Depending on your business scenario, you can additionally generate intraday demand forecasts for your products. To do this, you use the functionality of UDF together with that of On-Shelf Availability (OSA). For more information, see Generate Intraday Forecasts.

Demand Decomposition

You can set UDF to break down the modeled historical demand and the forecasted future demand by demand influencing factor (DIF). This demand decomposition allows you to see how much of the total value can be attributed to baseline business and how much is due to specific DIFs. A DIF can have a positive or a negative influence on the demand. Examples include offers, prices, tactics, public holidays, or seasonality.

Caution Caution

The demand decomposition can create a large data set based on your business scope, and the original hardware sizing needs to be taken into account. For more information, see the sizing guidelines for SAP Customer Activity Repository at Start of the navigation path http://help.sap.com/carInformation published on non-SAP site Next navigation step <your release> Next navigation step Additional Information Next navigation step Sizing End of the navigation path.

End of the caution.
Decomposition Results

Modeling and forecasting can each generate a decomposition time series. For more information, see Outbound Time Series.

Algorithm

The statistical algorithm behind UDF is a Bayesian regression model that allows configuring both additive and multiplicative DIF effects. UDF can handle missing information through general best guesses (“priors”). During modeling, UDF estimates the best values for the parameters of the demand model by balancing priors and historical data:

  • Little historical data → Parameter estimates closer to priors

  • Lots of historical data → Parameter estimates closer to data

The parameter estimates are written to the /DMF/UMD_PAR table and serve as the basis for forecasting.

Hierarchical Priors

Hierarchical priors allow you to enhance the modeling of products that have little or no historical sales data or promotional data. Examples are new products, life cycle products (such as fashion or consumer electronics), and products with DIFs not observed before (such as offers, day-of-week effects, seasonality).

Those products can “inherit” existing modeling results from suitable other products along the hierarchies (product hierarchies, location hierarchies, relationships between generic products and their variants). You can use the Calculate Hierarchical Priors service in the Schedule Model and Forecast function for this purpose.

Note Note

As a prerequisite, you must have completed the initial modeling of your business to be able to use the modeling results of existing products.

End of the note.

The calculated hierarchical priors (table /DMF/UMD_PRI) are used as input for modeling, where they enhance the understanding of demand at a more granular level than the default values (global priors). This in turn improves the basis for forecasting.

Customizing

You can configure the generation of hierarchical priors in Customizing under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Modeling and Forecasting Next navigation step Configure Hierarchical Priors End of the navigation path. For more information, see the Customizing activity documentation.

UDF considers different types of hierarchical information to determine from which existing products a new product should best “inherit” the values. You can customize how each type should be weighted against the other types, which allows you to adapt the generation of hierarchical priors to your own hierarchies. The following types are considered:

  1. Relationships between generic products and their variants: A product in a specific location inherits values from other products (in the same location) with a relationship to the same generic product. This allows you to better understand DIF effects across the variants of a generic product in a particular location.

  2. Product hierarchy (such as the article hierarchy or merchandise category hierarchy): A product in a specific location inherits values from other products in the same location. This allows you to better understand DIF effects across all products of a hierarchy node for a particular location.

  3. Location hierarchy: A product in a specific location inherits values from the same product in other locations. This allows you to better understand DIF effects across all locations of a hierarchy node for a particular product

Results: Based on the configured weights, the results of the first two steps are combined into one intermediate result. This is then combined with the result of the third step to generate the final result.

For configuration examples, see the long texts of the following data elements:

  • /DMF/HPR_MAX_PROD_LEVELS

  • /DMF/HPR_MAX_LOC_LEVELS

  • /DMF/HPR_WGT_GEN_VAR

Reference Products

You can assign reference products to improve the demand modeling and forecasting of products for which there is little or no historical demand data available (such as new products). To model and forecast on such a new product at a particular location, UDF uses the historical information and prior values from the assigned reference product at the reference location.

You can set up reference product locations either in your SAP ERP system and receive the master data from there. Or you can set them up directly in DDF. For more information, see Maintain Product Locations.

Placeholder Products

You can create placeholders for products that are still being planned and for which you do not yet have all the information to create them in your SAP ERP system. For example, this is useful during promotion planning or assortment planning.

You create the placeholder product as a temporary product in DDF and assign a reference product to it. You can then model and forecast the demand for the placeholder product with UDF. UDF treats placeholder products the same way as products that you import from or integrate with your SAP ERP system.

To forecast on a specific placeholder product, UDF uses the historical information from the assigned reference product.

Note Note

  • If the reference product was previously modeled, the forecast is scaled by the reference factor. You can define this factor in the placeholder master data. For more information, see Placeholder Product.

  • If the reference product has not been previously modeled or is invalid, the forecast is generated based on the prior values.

End of the note.

More information about placeholder products:

  • Setup and maintenance: Maintain Placeholder Products

  • Customizing: Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Data Maintenance Next navigation step Placeholder Products End of the navigation path

Forecast Confidence Index (FCI)

Note Note

You can use this feature when creating offers in SAP Promotion Management for Retail, one of the consuming applications supported by SAP Customer Activity Repository. For more information, see Start of the navigation path http://help.sap.com/retail-pmInformation published on non-SAP site Next navigation step <your release> Next navigation step Application Help Next navigation step Promotion Planning Next navigation step Maintain Offers End of the navigation path.

End of the note.

You can evaluate forecasts based on a forecast confidence index. The FCI is an indicator of statistical confidence in a particular unit forecast. The FCI is always calculated for a specific product at a specific location, and it is based on the amount of historical information provided to forecast the demand for this product.

Benefits:

  • FCI ranges for quickly evaluating forecasts:

    You can configure what constitutes a high, medium, or low FCI for your business. Based on your settings, the system not only generates the FCI value for a particular forecast but also qualifies this value as high, medium, or low. For more information, see Customizing (transaction SPRO) under Start of the navigation path Cross-Application Components Next navigation step Demand Data Foundation Next navigation step Modeling and Forecasting Next navigation step Define Categories for Forecast Confidence Index End of the navigation path.

  • FCI reasons for analyzing low FCIs:

    The system can also estimate which of the DIFs considered for a particular forecast is most determinant in causing a low FCI value. For example, there might be no sales history available for a specific offer combination. This allows you to take corrective measures, for example, by changing the terms of a planned offer. For an overview of the available FCI reasons, see the Low FCI messages in the /DMF/FC_INFO message class (transaction SE91).

More Information