###### Technical Articles # ABC/XYZ Segmentation by Pareto Principle- Just a minor detail.

Introduction:

ABC & XYZ segmentation are used for grouping planning objects based on their revenue/sales generating capacity & ease of forecasting. Detailed documentation can be found here- ABC Segmentation | SAP Help Portal.  While information provided at the link is easy to understand, the behavior of the system when the cumulative percentages do not exactly add up to the threshold boundaries can be confusing. It took a few examples for me to understand how it works and hence sharing it here for others to refer.

Example considered below(Figure 1) is for segmentation by Pareto Principle(sorted & cumulated %) however it can be applied to few other methods as well. In this example, “Actuals Rev.” is taken as the key figure based on which ABC segmentation is to be calculated for 3 products- PROD1_ABC, PROD2_ABC & PROD3_ABC. Individual contributions from the 3 products are 50%, 33% and 17% respectively. Figure 1- % Contribution of products to ‘Actuals Revenue’(basis for ABC segmentation)

Case 01-  When threshold boundaries exactly match with cumulative contributions

For this case, the segment thresholds for A, B,C are set as 50%,33%,17%.

Products 1,2 & 3 exactly contribute 50%, 33% & 17% and are respectively assigned A,B & C segments(Results shown in Figure 2). Figure 2- Contributions exactly match the threshold boundaries.

Case 02- When threshold boundaries do not exactly match with cumulative contributions

While the source data remains the same, for this case the segment thresholds for A,B,C are changed to 70%,20%,10%.

So, Segment ‘A’ will contain the items which cumulatively account for Actuals Rev. up to 70%. However, in this case, there is no absolute number of items which cumulatively account to exactly 70%. PROD1_ABC contributes to 50%. Then PROD2_ABC contributes to 33% which takes the cumulative to 83%. Since PROD2_ABC is the item whose contribution made the cumulative percentage pass the threshold for segment A(70%), it gets assigned to segment A as well. Logic used by system is – Items by which the cumulative percentage passes a threshold are always assigned to the lower segment.

Because of the situation explained above, segment ‘A’ has now consumed more than the segment threshold assigned to it(70%). So, the system recalculates the threshold leftover for ‘B’ (i.e. (Threshold Assigned to ‘A’ + Threshold Assigned to ‘B’ – Threshold used by ‘A’)= 70+20-83=7%. So, now, Segment ‘B’ will contain the items with the second highest numbers that together make up 7% of the cumulative revenue. The next item is PROD3_ABC, which in total contributes 17%, & hence it is the item whose contribution passes the leftover threshold for segment B(7%) & thus, it gets assigned Segment ‘B’ (the same logic of “Items by which the cumulative percentage passes a threshold are always assigned to the lower segment” applies to segment B as well).

The system recalculates the threshold left over for ‘C’ (i.e. (Threshold Assigned to ‘A’ + Threshold Assigned to ‘B’+ Threshold Assigned to ‘C’ – Threshold used by ‘A’ – Threshold used by ‘B’)= 70+20+10-83-17=0%. Segment ‘C’ doesn’t have any threshold left and hence nothing gets assigned to Segment ‘C’ (Results shown in Figure 3). Figure 3- Segment A consumes threshold assigned for B & B does the same for C

Another example for Case 02:

For this case, the thresholds for A,B,C are set as 10%,20%,70%.

Segment ‘A’ will contain the items which cumulatively account for Revenue up to 10%. PROD1_ABC contributes to 50% and is the item whose contribution made the cumulative percentage pass the threshold for segment A, so it gets assigned to Segment A.

The system recalculates the threshold left over for ‘B’ (i.e. (Threshold Assigned to ‘A’ + Threshold Assigned to ‘B’ – Threshold used by ‘A’)= 10+20-50=(-)20%. So, nothing can be assigned to segment ‘B’ as there is no leftover threshold.

The system recalculates the threshold left over for ‘C’ (i.e. (Threshold Assigned to ‘A’ + Threshold Assigned to ‘B’+ Threshold Assigned to ‘C’ – Threshold used by ‘A’ – Threshold used by ‘B’)= 10+20+70-50-0=50%. PROD2_ABC & PROD3_ABC cumulatively contribute to 50% & thus get assigned segment ‘C’ (Results shown in Figure 4). Figure 4- Segment A consumes the threshold assigned for Segment B completely.

I hope the examples shared above were able to explain ABC/XYZ segmentation for cases where the cumulative percentages do not exactly match the segment boundaries. Please feel free to share your feedback/thoughts.