Skip to Content


Hello everyone,

In this blog I would like to demonstrate how you can configure cannibalization in IBP step by step with the help of attribute transformation.

Today companies are operating on highly competitive and volatile markets, product lifecycle is reduced, because customer requirements are constantly changing. That’s why companies must introduce new products on the market and that is the reason for cannibalization of related products. It’s the situation when your new product is “eating” some forecast value from the old product, because they need to compete on the same market. As a result, we will see that the sales of the old product will be decreased. Cannibalization value can reach the 60-80% of the old product, that’s why it’s important to correct the final statistical forecast qty for this value.

In the example described below we have Product 1 (old product, which is still on the market) and Product 2 (new product, which we want to introduce on the market). For example, these products are TVs in one price segment and the same diagonal. The difference between them is the SMART TV technology, Product 1 doesn’t have SMART TV and Product 2 has the SMART TV technology.

In this case we have two similar TVs with one difference, so we can assume that the new TV with SMART technology will cannibalize some sales volume from the old TV.

We also have two different location just to show that we can configure cannibalization on different planning levels. On the picture below, you can see the result of the cannibalization rate 10%.

Planning area configuration.

Master data:

We need to create new master data types and add attributes. For cannibalization we use the following MD types:

– Product MD

– Location MD

– Cannibalization product MD – reference MD from Product

– Cannibalization MD – compound MD of Product and Cannibalization Product

Here we set up the cannibalization rate – CANPERCENT (decimal attribute) and we also need to add Mandatory attribute for cannibalization (nvarchar attribute) if we want to delete the rows from MD correctly in the future. Without this attribute after the deletion the values for cannibalization calculation will be still there (you can find more information about it in SAP note:

Then we need to add all the master data types in the planning area and choose the attribute category “Mandatory” for Mandatory attribute for cannibalization.

Planning levels:

– MTHPRODLOC, we use this planning level as the base planning level for Actuals Qty and Statistical Forecast Qty Key figures;

-MTHPRODCANPROD, we need this planning level for the attribute as KF where you can set up the rate for cannibalization (you can make the level PRODCANPROD without time attributes if you don’t want to open cannibalization rate in the planning view);

– MTHPRODCANPRODLOC, on this planning level we multiply statistical forecast qty and cannibalization rate;

– MTHPRODONLYCANPRODLOC, we need this planning level to make attribute transformation correctly, that’s why we leave only PRDID attribute in Product MD. We will have a data inconsistency in case if we will leave all the other Product attributes, because we make an attribute transformation for PRDID only (it is described after the step with attribute transformation).

– MTHPRODONLYCANPRODLOC1, we need this planning level to make attribute transformation (as a standard attribute transformation process). We will have the transformed values for key figure on this planning level.

– MTHPRODONLYLOC, we need this planning level to return to Product ID after the attribute transformation.

Key figures:

– Actuals Qty, in this key figure we have stored (or calculated) values for historical sales;

– Statistical Forecast Qty, in this key figure we have stored (or calculated) values for the forecast values;

– CANPERCENT, this is an attribute as key figure where we have stored values for the cannibalization rate. We need to configure this KF in the following way:

Choose the planning level MTHPRODCANPROD as the base planning level;


As we have some statistical forecast qty and key figure for cannibalization rate we also want to see how cannibalization affects the old product in the future.

– Create key figure CANVOLUME with the following configuration

1) As a result of this calculation we will have the value for cannibalization for combination of Product ID – Cannibalization Product ID – Location ID.

2) We need to aggregate the key figure calculation to the level with Product ID only (without Product Description) for attribute transformation

– Create attribute transformation for PRDID with the following configuration. Here we change the values for PRDID to CANPRDID in the KF CANVOLUME at the MTHPRODONLYCANPRODLOC planning level.

– Create key figure CANVOLUME2 to finish attribute transformation with the following configuration.

1) In this calculation we take the values after the attribute transformation. So, if for CANVOLUME it was the combination of Product 2 (PRDID) – Product 1 (CANPRDID) and the value of cannibalization, in this step we have it like Product 1 – Product 1 and the value of cannibalization. Product 2 was swapped to Product 1 during attribute transformation;

2) In this step we just remove CANPROD master data from the planning level;

3) In this step we are returning PRDDESC attribute. As we’ve used only PRDID for the attribute transformation we need to return the values for Product description, we can do it with the STATISTICALFCSTQTY as an input (values for this KF on the planning level MTHPRODLOC have the combination of PRDID and PRDDESCR for the future periods);

4) In this step we need to change the request calculation to see the result in the planning view.

Explanation about the planning level with only one attribute – Product ID in Product MD:

Our cannibalization volume is calculated in the key figure CANVOLUME and there are 2 planning objects: PR2 (Product ID) with Product 2 (New) description – PR1 (Cannibalization Product ID) and PR2 (Product ID) with Product 2 (New) description – PR3 (Cannibalization Product ID). During the attribute transformation we swap the Product ID by the Cannibalization Product ID. So, if we leave other Product MD attributes, like Product Descr, we can see the following after transformation: PR1 (Product ID) with Product 2 New description – PR1 (Cannibalization Product ID) and PR3 (Product ID) with Product 2 (New) description – PR3 (Cannibalization Product ID) – that’s inconsistent combination.

After all these configuration steps we need to set the cannibalization rate in the Cannibalization master data. We assume that the new product will cannibalize 10% from the old product. So, we need to add the following row, where Cannibalization Product ID field is for the old product which will be cannibalized, Product ID field is for the new product, Cannibalization Percent is for the percent of cannibalization and we need Mandatory Attribute For Cannibalization to delete the rows correctly, just leave it blank.

Now we can observe the result in the planning view. We have the cannibalization volume in the Product 1 (Old) which was calculated as 10% from the Product 2 (New).

– I’ve also created new key figure Statistical Forecast Qty Final with the following configuration, to see the result of the statistical forecast qty without the impact of cannibalization and to make some adjustments if necessary.

– It’s also possible to use this logic for cannibalization for the following situations:

a) Two old products which are cannibalized by only one new product

First, we will add more products in the Product MD

Then we can make the following rows in the Cannibalization MD

b) One old product which is cannibalized by two different new products, in this case we will see the sum of cannibalization volume

с) Two or more old products are cannibalized by two or more new products

– If you want to delete the row from Cannibalization MD you can do the following:

Click “Manage” from Master Data area and choose Single

Choose Cannibalization MD, then delete your existing combinations of Product ID and Cannibalization Product ID.

After that the values for cannibalization volume will disappear from the planning view. If you didn’t configure the Mandatory Attribute for Cannibalization the values will be still there after the deletion of the row.


That’s all and thank you for your attention!

This article was written in collaboration with my colleagues Alexander Boldesh, Yuriy Kurmachev, Evgeniy Lisitsyn, Olga Leonova – IBP experts.

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Oleg Khokhlov

    Dear Maxim and colleagues, thanks for your detailed solution. It is really requested by our customers and it`s very good that the knowledge is shared!


Leave a Reply