How to Understand the Basics of Constraint Based Planning in SAP APO SNP

Executive Summary

  • Constraint planning can be performed in SAP APO.
  • APO can perform both finite and infinite resources.
  • One can use the days of supply in the SNP cost optimizer.

Notice of Lack of Financial Bias: We have no financial ties to SAP or any other entity mentioned in this article.

  • This is published by a research entity, not some lowbrow entity that is part of the SAP ecosystem. 
  • Second, no one paid for this article to be written, and it is not pretending to inform you while being rigged to sell you software or consulting services. Unlike nearly every other article you will find from Google on this topic, it has had no input from any company's marketing or sales department. As you are reading this article, consider how rare this is. The vast majority of information on the Internet on SAP is provided by SAP, which is filled with false claims and sleazy consulting companies and SAP consultants who will tell any lie for personal benefit. Furthermore, SAP pays off all IT analysts -- who have the same concern for accuracy as SAP. Not one of these entities will disclose their pro-SAP financial bias to their readers. 

Days’ Supply = Total Inventory / Average Daily Consumption

On the other hand, the Safety Stock is “hard coded” and does not vary. This keeps the safety stock above a minimum level, which is useful when, for instance, the sales orders or forecast is low. However, when the forecast or sales orders increase, the system increases above the minimum Safety Stock. This essentially replaces the dynamic safety stock, available to the right in the screenshot below and which changes depending upon the variability in supply and demand. Many companies would like dynamic safety stock, but I have never seen it used in SNP in a live system. Most companies find it to be too much master data to maintain.

Complicated Safety Stock Calculations?

In fact, with all the emphasis placed on complicated methods of calculating safety stock, if the calculation approach cannot look outside of a single location, none of these approaches is typically worth the effort (or as one of my favorite sayings — “the juice ain’t worth the squeeze.”

However, when safety stock can be calculated across multiple locations, it addresses one of the main weaknesses of stock planning in general, and then I am all ears. The main method to do this and do it very well is inventory optimization and multi-echelon planning (MEIO). Although it’s a mistake, in my view, to try to distill MEIO down to just safety stock planning — it is something that I think has largely occurred. This has happened primarily because of one vendor, SmartOps, that broke into the top ranks of MEIO vendors mainly through taking the approach that their application would be easily integrated into SAP by integrating on master data parameters (safety stock, target stock level) rather than sending recommendations to either SAP ERP or to SNP.

How Days of Supply Actually Works

In a  cost optimizer, everything must be broken down into a cost, which is the same in the SNP optimizer. When Days’ Supply Planning is used (that is, a Days’ Supply value is set in the field above), the optimizer can leverage the penalty cost for violating safety stock. When the optimizer is set up, it is assigned different implicit and explicit costs. (this is described in the post)

The cost assigned to safety stock violation (which can be set globally or at a product location combination) is the optimizer incurs cost when it violates the safety stock. Safety stock is a soft constraint, which means it can be violated, but at a penalty cost.

This would contrast to a hard constraint, something like a production constraint, which caps how much can be scheduled per day at a number that the optimizer may not violate. Hard constraints do not require associated costs because there is no option to exceed them. Transportation costs are not constraints; they scale with the scheduled transportation units. Although there can be transportation resources, the transportation resource capacity cannot be exceeded.

Storage Costs in SNP

The same applies to storage costs. In SNP, storage costs are incurred daily per unit. Another example of a soft constraint is the cost of unfulfilled demand. The SNP optimizer aims to minimize costs, so the unfulfilled demand is declared a penalty cost. Given the hard constraints, this encourages the optimizer to meet as many demands as is feasible.

Returning to how the safety stock is leveraged, the safety stock soft constraint is violated anytime the planned Days’ Supply is lower than the target Days’ Supply. The safety stock penalty cost is incurred.

Day’s Supply in Practice (with the Optimizer)

Companies are generally good about entering a Days’ of Supply. However, where they tend to fall is in setting the penalty costs for safety stock violations. The optimizer will emphasize maintaining a Days’ Supply value only to the degree that it has to minimize costs. Suppose the penalty costs are set low relative to other costs (which they tend to be for some reason). In that case, the system can frequently depart from the Days’ Supply desired by the company at each product location combination.

Conclusion

Constraining in APO is a lot of work; over time, many companies find the overhead of managing resources too high. A much easier way of constraining is by simulating outside of APO. This allows any item to be constrained on anything from pallet spots to warehouse or plant labor or any factor for which a measurement can be maintained.

Eventually, most companies give up on constraining APO and use it as a costly system that will do the basics.

Our recommendation is to try to do as little in SNP as possible. Configure SNP to the minimum and use other systems to do the “heavy lifting.” For example, we constraint outside of SNP and then feed the plan back into SNP. Then, all SNP has to do is just run the SNP heuristic.

References

https://help.sap.com/saphelp_scm70/helpdata/en/79/70833c8b079c2ee10000000a114084/content.htm