Introduction
SAP Predictive Analytics greatly simplifies the consumption of algorithms on SAP HANA and continuing on this path, version 2.4 now surfaces one of the robust demand forecasting techniques call HANA Demand Forecasting. This component is based on Unified Demand Forecast (UDF) which has been so far used by SAP Customer Activity Repository. With this component, it is now possible to forecast demand for multiple products and locations by configuring it just once and the powerful UDF under the hood manages all the complexities.
HANA Demand Forecasting builds models on historical data and then forecasts for the time window requested. To ensure robust forecasting, following points should be observed:
- Granularity of historical transactional data must a day.
- To ensure better interpretation of demand influencing factors (DIFs) like seasonality, trend, etc., historical data for two years or more should be provided.
The analysis tries to explain the impact that each DIF had on customer demand based on the historical sales data provided. This is then used to forecast the effects of similar DIF occurrences in the future and forecast the demand. The forecast is for a combination of products and locations as specified in the input.
Using HANA Demand Forecasting in analysis
As with all HANA AFL algorithms, we’ll start with connecting to a HANA instance and selecting a dataset that has historical sales data… once in the canvas, the HANA Demand Forecasting component can be found under Time Series category of algorithms:
Step 1: The component can be added to the chain by double clicking on it or dragging it to the component it needs to be added to:
Step 2: Configure the HANA Demand Forecasting component by double clicking or through the context menu (cog icon).
The feature mapping is auto-filtered by expected data types so you don't have to scroll through all columns reducing mapping errors:
Step 3: Review/configure the Advanced settings…
Hovering over the parameters shows the description:
Step 4: Once the component has been configured, click the run button to execute the training of the component:
Step 5: Now click OK to view the results
Result Grid:
Column | Description |
---|---|
PROD_ID | Product ID |
LOC_ID | Location ID |
TSTMP_FR | Timestamp From |
TSTMP_TO | Timestamp To |
ACTUAL_UNIT_SALES | Actual Unit Sales |
FC_CONF_INDEX | Forecast Confidence Index (FCI) |
FC_UNIT_SALES | Forecasted Unit Sales |
INTERCEPT | Intercept of the time series decomposition component. |
TREND | Trend of the time series decomposition component. |
SEASONALITY | Seasonality of the time series decomposition component. |
DAY_OF_WEEK | Day-of-week of the time series decomposition component. |
HOLIDAY | Holiday of the time series decomposition component. |
SALES_PROMOTION | Sales Promotion of the time series decomposition component. |
PRICE | Product-location specific future price on a daily basis. Historical price calculated based on sales and unit price. |
PRICE_ELASTICITY | Price Elasticity. Measures the responsiveness of the quantity demanded of a good or service to a change in its price. |
FORECAST_INFO_MSG | Provides additional infornation that explains the Forecast Confidence Index (FCI). |
FORECAST_INFO_DIF_DESC | Provides additional information that explains the demand influencing factor for that impacts the forecast. |
Summary of the forecasting shows how many product/location are elastic and to what degree:
Charts shows the forecast graphically: