Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
Showing results for 
Search instead for 
Did you mean: 
Product and Topic Expert
Product and Topic Expert
0 Kudos


This is the third blog in the series, demonstrating the 3 business scenarios available in Cloud sales that support embedded predictive analytics with machine learning capabilities. You may refer to my previous blogs on this subject as specified below:

§ Sales Volume Prediction with Machine Learning (Click this hyperlink to access the blog)

§ Quotation conversion rates with Machine Learning (Click this hyperlink to access the blog)

With this blog, let us look into the capabilities of third business scenario i.e. “Predicted Delivery Delay”. This scenario essentially focuses on the current situation of the sales order fulfillment with respect to open sales orders, considering the predicted delay of the planned delivery to the customer. The prediction of delay is possible with the help of embedded machine learning capabilities (training model) within S/4HANA Cloud. We’ll go through the details in the following sections.


Monitoring the delivery performance and accurately predicting any delays in customer deliveries could be one of the key performance indicators for an enterprise to improve customer retention and ensure service satisfaction. The “delivery performance” app can help to monitor the current delivery performance of sales orders and stock transport orders. It allows to navigate to those specific orders (sales orders/ stock transport orders), to check and address the issues that cause delivery delays.

However, for enterprises that are keen to predict the delays in advance for planned deliveries, the ‘Predicted delivery delay’ app can be useful. This app predicts any delay of the planned delivery date by comparing the planned delivery creation date from the confirmed schedule line of sales order items that have already been delivered with the actual delivery date of the corresponding delivery.

The prediction is based on the training of the machine learning predictive model. It uses the historical business data gathered for a specific period as a source. With these details, enterprises can proactively respond to the situations and try to avoid delays where ever possible.


To display the predicted values in the app, it is mandatory to enable the active version of the default model in the predefined predictive scenario for predicted delivery creation delay (PRDTDELIVCRTNDELAY). To get the accurate results, it is necessary to re-train the active model in regular intervals with different sets of up-to-date business data using the Predictive Models app.

Re-training of the model would result in a new model version created every time. The new version (or any specific older version if required) can be set to active to apply the relevant changes to the predictive model. If you do not apply an active training model, the ‘Predicted delivery delay’ app displays the overall status as “Not Predicted”, and the predicted value as ‘0’.

Predictive Model Training

To understand how the training of a machine learning model works, it is necessary to know the basic concepts of predictive scenario and predictive model.

Predictive scenarios are standard business scenarios that are available as an out-of-box solution within S/4HANA Cloud. These scenarios depict the predictive use cases of an enterprise with specific business goals, type of prediction required for business operations and the historical data required for the prediction.

Predictive Model on the other hand is a model used for predicting outcomes based on a historical data set and are linked to specific predictive scenarios. For a model to predict an accurate outcome, it must be trained at regular intervals with most recent data. Re-training an active model multiple times with most recent data will ensure the predictions are precise and meaningful.

Creation of multiple versions to a model is possible with a different status. Further, the system allows to review the quality and the training status of a model and delete any inactive model version(s) if necessary that have never been used or set to active.

§ An active model version can be put to a quality check and decide if it represents the business data by analyzing the responses in relation to a business use case. The predictive model performance can be improved by continuously exposing it to new data sets as they are available.

§ There are two indicators available in the predictive model app to evaluate the predictive power and prediction confidence. These indicators can be used to evaluate the performance of a model version.

o The quality indicator “KI” evaluates the explanatory power of the training model when exposed to a data set. A perfect model would possess a KI equal to 1 and a completely random model would possess a KI equal to 0.

Whereas the robustness indicator “KR” defines the prediction confidence and strength of the model. The degree of robustness corresponds to the predictive power of the model applied to an application dataset.

Note: Solution Model

Solution Model

The ‘Predicted Delivery Delay’ app is built by using Analytical List Page (ALP). This app allows to examine the business data from various perspectives, investigate a root cause for a specific issue using the drill downs and provide a detailed analysis of planned, actual and predictive figures. The tile of the app provides a quick view of the number of open order items that are late, early and on-time. This app is accessible on the Fiori launch pad under the business catalog ‘Sales Order Monitoring’.

Business role: SAP_BR_INTERNAL_SALES_REP (Internal Sales Representative)

Business catalog: SAP_SD_BC_DELIV_DLY_PRDT (Sales - Delivery Delay Prediction)

Further details of the solution model is covered as 'Part 2' of this blog. please click on the hyperlink below to access part 2 of this blog.

Predicting delivery delays with Machine Learning - (Part 2)