This blog post explains how you can filter dimensions (including hierarchies) and properties in Predictive Planning in SAP Analytics Cloud, to focus the predictive scope on your planning needs.
With Predictive Planning you can generate predictive forecasts across several entity values. The end-user selects in the field Entity, the dimensions (or dimension properties) the most relevant depending on the business indicator to forecast.
Predictive Planning creates a predictive model for each entity value.
Some of them may not be relevant for the planning process or they might not contain enough historical data to produce accurate predictive forecasts.
With the ability to filter, the user can now focus on the values needed and relevant for the planning process.
In case the dimension selected in the Entity field has hierarchies defined, the user can select the hierarchy members at the best level for planning.
Filter and adjust predictive forecasts to your exact needs
In the following example, I want to generate predictive forecasts to plan my future sales.
Assuming the last actual sales are in December 2021, I want to forecast the bike sales for the next 3 months (January to March 2022).
The table below displays the corresponding data.
This planning model contains monthly sales data since January 2015. Leveraging this data, Predictive Planning can create a predictive model to generate predictive forecasts for the next 3 months. These predictive forecasts can then be saved in a private version to become part of a story.
Sales trends differ when comparing bike types. It is important to create a predictive model per bike type.
To generate the corresponding predictive forecasts, I create a Time Series Forecasting Predictive Scenario with the following settings:
- The planning data model as input data source,
- The Sales Revenue account member to be predicted as Target,
- The Time dimension as the Date,
- And the Product dimension property Bike Type selected as Entity.
Predictive Planning generates a predictive forecast for each bike type.
From the Entity Filters section, I limit it to the bike types I need, by clicking on Add Filters.
I select the values for Bike Type from the list of available members on the left side.
The resulting filter is visible in the section Entity Filters.
I click on Train & Forecast. It creates a predictive model and generates a predictive forecast for each selected bike type.
The Overview tab presents one row for each entity with the Expected MAPE (Mean Absolute Percentage Error). The lower the Expected MAPE is, the more accurate the predictive forecast is.
I save the generated predictive forecasts in a private version of the planning model.
I refresh the story displaying this private version. I can see the generated predictive forecasts for January, February, and March 2022.
As we saw, we can generate predictive forecasts, after selecting some values to define our entities.
Predictive forecast at the good granularity
We now combine a selection of values at different levels of granularity.
I add the geography dimension and generate predictive forecasts only for the areas I’m looking at in Europe and in the United States.
As we can see in the following planning table, the Regions dimension is organized as a hierarchy.
Italy in Europe is a new market for which there is not enough historical data to get an accurate predictive forecast. I will directly fill the value manually in the table.
United States is also a recent market with limited data history at the sub-region level but enough data history at the country level to get a good predictive forecast. I will forecast at the country level then distribute down the predicted numbers to the sub-regions.
I add the dimension Regions to the section Entity in the predictive model settings.
Without filters, Predictive Planning would generate a predictive forecast for each region (hierarchy leaves) and each bike type.
To filter on the dimension Regions, I first select the dimension Regions in the Entity Filters field.
A window opens to select the value for Regions. As there is a hierarchy defined for Regions, it displays the members in the hierarchy.
When saving predictive forecasts in a planning model, the saved forecasts are propagated across the hierarchy according to a planning logic.
The forecast for a node is aggregated with the forecast of the other sibling nodes to make the forecast for the parent node. And if there are child nodes, the forecast is disaggregated to make the forecast for these child nodes.
To avoid any data conflict during this data propagation, when you select a node to get a predictive forecast, you cannot select any child node. If you select a parent node, it will be automatically unselected.
If the dimension to filter has several hierarchies defined, the user can select the desired one.
The resulting filter is visible and editable in the section Entity Filters.
I also filter on the property Bike Type.
I click on Train & Forecast, and Predictive Planning trains a predictive entity for each combination of the selected values: 2 Bike Types values * 3 Regions members = 6 predictive entities.
I can see and check on the tab Overview of the training execution report, a row with a predictive quality indicator Expected MAPE for each of the 6 predictive entities.
I save the predictive forecasts back in a private version of the planning model.
When I refresh the Story, I can see that the table is now updated with the predictive forecasts.
I can see that the predictive forecasts for Germany and France have been aggregated into a forecasted value for region Europe.
The value for the United States is disaggregated to give the value for each sub-region. (The forecast aggregation and disaggregation are handled by the planning logic.
As expected, there is no value for the country Italy and no value for the region Asia.