Forecast Consumption in SAP IBP for Supply

Posted by Sarath Suryadevara on 19-Jul-2018 13:44:51

Forecast consumption is a core to most Planning systems, and is based on the assumption that the actual sales orders consume the forecasted quantities. This approach ensures that incoming sales orders are not treated as additional demand to the forecast during a planning period.

It has always been somewhat of a surprise that forecast consumption has previously not been part of SAP Integrated Business Planning (IBP) for supply as standard, and has only been introduced (time series based) as part of the recent 1805 release.

Prior to 1805, only a very simplistic forecast consumption method could be configured using key figure calculations within the week time bucket. In this blog I will explain the functionalities available within SAP IBP.

Forecast Consumption Modes

The forecast consumption mode in SAP IBP defines the strategy by which a sales order can consume the forecast

Similar to SAP Advanced Planning & Optimisation (APO) and SAP Enterprise Resource Planning (ERP) systems, SAP IBP provides the flexibility to maintain different forecast consumption modes by which the customers can execute the forecast consumption strategy according to their business needs.

In IBP for supply, different modes of forecast consumption are defined in the master data type FORECASTCONSUMPTIONMODE.

Pic01

The attribute DIRECTIONID (forecast consumption direction) of master data type (MDT) FORECASTCONSUMPTIONMODE defines the strategy (i.e. direction) in which a sales order should consume the forecast requirements.

The attributes BACKWARDPERIODS (number of backward consumption periods) and FORWARDPERIODS (number of forward consumption periods) define the number of periods a sales order can consume in either direction. The default value for these attributes is “0” periods. Let's take a closer look at the various DIRECTIONIDs available.

First Forward and then Backward (DIRECTIONID = 0)

In this mode, the sales order will first try to consume the forecast in the same bucket the sales order is in, and then if there is any quantity of sales order that has not consumed forecast, it then tries to consume forecast in a forward direction limited to the number of periods defined in the attribute FORWARDPERIODS. If following this there remain sales order quantities that haven't found forecast to consume, it will then try to consume in a backward direction limited to the number of periods defined in the attribute BACKWARDPERIODS.

pic10

First Backward then Forward (DIRECTIONID = 1)

In this mode, the sales order will first try to consume forecast in the same bucket as the sale order is in, and then if there is any quantity of sales order has not consumed forecast, it then tries to consume the forecast in a backward direction limited to the number of periods defined in the attribute BACKWARDPERIODS. If following this there remain sales order quantities that haven't found forecast to consume, it will then try to consume in a forward direction limited to the number of periods defined in the attribute FORWARDPERIODS.

pic11

Forward Only (DIRECTIONID = 2)

In this mode, the sales order will first try to consume the forecast in the same bucket the sales order is in, and then if there is any quantity of sales order that has not consumed forecast, it then tries to consume forecast in a forward direction limited to the number of periods defined in the attribute FORWARDPERIODS. If following this there remain sales order quantities that haven't found forecast to consume, it will stop and NOT hunt backwards.

pic12

Backward Only (DIRECTIONID = 3)

In this mode, the sales order will first try to consume forecast in the same bucket as the sale order is in, and then if there is any quantity of sales order has not consumed forecast, it then tries to consume the forecast in a backward direction limited to the number of periods defined in the attribute BACKWARDPERIODS. If following this there remain sales order quantities that haven't found forecast to consume, it will stop and NOT hunt forwards.

pic13

You can maintain multiple forecast consumption modes for each forecast consumption direction with different backward and different forward consumption periods. Please refer to forecast consumption modes 4 and 5 for examples of this in the screen shot below;

Pic01

Executing Forecast Consumption

Once the master data type FORECASTCONSUMPTIONMODE is maintained with the required settings, we need to assign it to the relevant products and/or locations.

Maintain Master Data

Note: As of 1805 release, the forecast consumption mode assignment can be made at Product, Location or Location/Product level.

In this example I have assigned the forecast consumption mode to the Location/Product via LOCATIONPRODUCT MDT. A pre-requisite step to do this is to assign the attribute FCSTCONSMODE to the LOCATIONPRODUCT MDT.

Pic02

Pic03

The maintenance of the forecast consumption mode in MDT LOCATIONPRODUCT can be automated through the Cloud Platform Integration - Data Services (CPI-DS) interface based on defined rules according to customer requirements.

Forecast Consumption Profile

To execute the forecast consumption, we need to define forecast consumption profile, where we define those key figures which are used for forecast consumption (and also the level at which the forecast consumption is executed).

The forecast consumption profile is defined using the IBP application 'TS Supply Planning: Forecast Consumption Profiles';

Pic04

Note: Business catalog SAP_IBP_BC_FCPP_PC must be assigned to user role to get the access to the application above.

Pic05

Key Figure Assignments

Input Forecast: Assign the key figure which holds the unconstrained forecast released to supply from consensus demand plan key figure

Input Sales Order: Assign the key figure which holds the sales orders

Output Open Forecast: This is the output key figure of forecast consumption process, which holds the open forecast quantity which is not consumed by the sales order

Output Total Demand: This is the output key figure of forecast consumption process, which represents the total demand i.e. is sum of sales order and output open Forecast

Note: As of 1805 release all the above key figures should be defined at Location Product level. As per the roadmap of SAP this maybe relaxed in future releases

Forecast Consumption Level

Define the level at which the forecast consumption should be executed. This should be Product and Location as of 1805 release, but maybe relaxed in future releases.

Forecast Consumption Mode Assignment

Assign the MDT in which you have assigned the FCSTCONSMODE attribute. In this document I have assigned this attribute to MDT LOCATIONPRODUCT, hence assigned MDT LOCATIONPRODUCT. As discussed above, if you have assigned FCSTCONSMODE attribute to LOCATION or PRODUCT MDTs, you need to assign the LOCATION or PRODUCT MDTs accordingly.

Run Forecast Consumption

The forecast consumption can be run either as an independent run or be ran as an initial step of a Heuristics or Optimiser run. To execute forecast consumption as an independent step, define an S&OP operator of algorithm type TS-Based Forecast Consumption using the forecast consumption profile defined.

Pic06

To execute forecast consumption as the initial step of a Heuristics or Optimizer run, define the forecast consumption profile in the S&OP operator profile of Heuristics or Optimiser;

Pic07

You have the options to recalculate forecast consumption while running Heuristics or Optimiser OR use existing results.

Note: When forecast consumption is run as part of the Heuristics or Optimiser run, the key figure INDEPENDENTDEMAND will be ignored and key figure defined as OUTPUT TOTAL DEMAND in the forecast consumption profile will be considered as independent demand key figure.

Forecast Consumption Example

In the example below, the product is set on forecast consumption mode DIRECTIONID = 1, i.e. first backward then forward (2 weeks back and 2 weeks forward). 

This is the Initial picture before executing forecast consumption, and a sales order quantity of 12,000 in WK43 just came in.

Pic08

Below is a screenshot after the forecast consumption run has been executed. As you can see, the sales order quantity of 12,000 in bucket WK43 consumed the complete forecast quantity of 3,652 in the same week of WK43, then based on the forecast consumption mode it went in the backward direction and consumed the forecast quantities of 3,650 and 3,648 from buckets WK42 and WK41. As there is still a quantity of 1,050 of sales order which has not consumed the forecast, so it looks now in the forward direction and consume forecast quantity of 1,050 from the WK44.

Pic09

Summary

It is a long overdue, but much welcome, addition of functionality from SAP to introduce forecast consumption functionality into IBP. At present, within IBP for supply this allows for time series based forecast consumption to take place as per the blog above. Moving on to order based planning within IBP for response, the issue is that forecast consumption is only supported in the time bucket in which the sales order falls into. It would be very encouraging for those customers wanting to migrate from SAP APO to SAP IBP if the time series functionality of backward/forward consumption is also extended to order based supply planning within IBP for response.

If you have any queries or comments on this topic, please don't hesitate to contact me on sarath.suryadevara@olivehorse.com.

Sarath Suryadevara

Senior SCM Consultant - Olivehorse Consulting

Ask us about any SAP IBP queries you have or about our range of IBP services

Read more on: SAP IBP, IBP for Supply, Forecast Consumption