Friday, October 25, 2013

Options to buffer variability in your SAP software. Picking the right combination of buffers helps with service levels and optimized inventories.

Factory Physics by Spearman and Hopp describes how three buffers develop when variability exists: Inventory, Time and Capacity. The art of effective materials planning lies in designing the optimum mix of these three buffers and setting policy accordingly. This blog post talks to the buffering options you have in SAP.

First there is the inventory buffer. It's usually called the safety stock. In SAP you can simply set an estimated amount of inventory that you want to keep aside for when you need more than expected. MRP ignores that stock but the Availability Check can use it in times of over consumption. You can estimate and set the amount in the field Safety Stock on MRP2, but you can also use the forecast module to calculate and update it periodically. As the automatic calculation considers past consumption patterns, long or short lead times and the service level you desire, this is a great way to adjust the safety holdings to an ever changing situation. Then there is the dynamic safety stock driven by the Range Of Coverage profile - also maintained on the MRP2 screen. You can customize various coverage profiles and set a minimum, a target and a maximum coverage in days. The system will then calculate the future, average, daily demand and multiply that figure with the target coverage set in the Range of Coverge profile. The result is a dynamic safety stock that goes up and down with how your average, future, daily demand goes up and down. The RoC profile has the added advantage that yu can set a maximum (dynamic) stock level, which keeps your inventory below a celing should your forecast exceed the actual demand.

As for the time buffer you have some options too. Safety Time on MRP2 allows you to move the requirement, for planning purposes, back in time. As an example: if you set 2 days of safety time and you have a requirement to be fulfilled on September 28, MRP will plan to get that stuff on September 26. But the biggest impact on your time buffer has the decision on MTO versus MTS (driven by the strategy group on MRP3 primarily). Simply speaking: if your customers want to pick the product up right away, you have to plan it using a Make To Stock strategy, so that there is product readily available, produced to a forecast (full use of the inventory buffer). However, if your customers accept a lead time (if they don't and it's not economical for you to produce to a forecast then you shouldn't offer that product in the first place or change your business process so that it feasibly supports MTS production), one can employ a Make To Order strategy. Now the question is: "how long of a lead time does the customer accept?" Once you have the answer you can move the Inventory / Order interface (discussed in previous blog posts of mine) to adjust the lead time to the customer. The I/O interface is that point in your value stream where upstream of it you make to stock and downstream of it the customer "pulls" in a Make to Order fashion. The further downstream the I/O interface is, the shorter the time buffer and you set it in the field "Total replenishment Lead Time" in the MRP3 screen, right next to the field "Availability Check" (and that proximity is certainly not a coincidence).

The capacity buffer enables you to counter variability (line down, forecast error, supplier delivery delayed, rush orders etc.) with additional working hours or machine availability. The most effective use of the capacity buffer is given when you do not schedule your production lines to 100% (I have seen many times that lines are scheduled to be utilized 120%). Leaving free available capacity in the schedule, enables MTO orders to drop in and enables a relative short fulfillment of unplanned order quantities.

The best combination of the three buffers also fulfills the demand for a lean and agile supply chain. The MTS part therin provides the lean part in that it reduces waste whereas MTO gives you a lot of agility.

Tuesday, October 22, 2013

Capacity Planning! Or Scheduling? ::: Leveling? Maybe Sequencing?

Once your company has purchased SAP software, you have these great tools available which allow you to put a production program together in a very automated way. You could also check your long term plan for feasibility or play through some planning scenarios and 'what if's'.

The problem, however, is.... You can't use any of it! Because it never was configured and nobody ever showed you how to do or use it. During the implementation it was simply not in the cards to do Capacity... (anything). It might have been that it was considered a stage 2 project, the implementation consultant didn't really know how it works, it was considered non-essential for the business or someone said: "we have ample capacity and therefore don't need to worry about it".

Whatever the case may be, without planning, sequencing, leveling and scheduling orders and capacity, you're going to end up with half a process. To my great astonishment capacity planning is rarely used. As we all know the MRP run generates supply orders without any consideration of available capacity. It also does not care about a sequence or a leveled, noise-less schedule. It simply says:"I see demand and here are the orders that fulfill that demand", all stacked up on top of each other to the latest possible delivery date.

This is in no way a production schedule... no matter how much available capacity you have. You need to take the MRP run's result and plan, sequence, level and schedule the orders before you can effectively produce product in the right quantity at the right time.

So how can you do that in SAP? Four easy steps:

1. capacity planning: use basic data like lot sizing procedure, takt time and lead time scheduling to have the MRP run come up with an approximate plan. Check on you work center settings and shift schedule to make sure correct lead times are calculated.

2. capacity sequencing: use any one of the transactions CM21, CM25, LAS2 or MF50 (depending on whether you're process, discrete or repetitive) to employ a sequencing strategy like heijunka, first in - first out, priority, setup optimization or manual.

3. capacity leveling: ensure that the available capacity on the line is not exceeded. On a mixed model line or on a mixed strategy line (MTS and MTO) it is not good practice to schedule to 100% (or even above). Leave some room for variability.

4. capacity scheduling: now it's time to fix the schedule. But not before you check if the components are available. Very often orders are released to the line and then there are missing parts. This causes exorbitant lead times and blocking of capacity and material for other orders. Transaction MDVP is an excellent tool to check availability collectively (but do make sure you have the right rules in place). Then you can use COR8 to collectively convert plasnned orders into a feasible schedule that can be handed down to the shop floor. athere is still whiggle room but at least you have a plan now.

And most importantly: you now have something that you can measure against. Isn't that the most frustrating part about not employing Capacity Planning? The fact that you never know what actually should happen? and you never know that you have either done a good job or not?

what I don't understand is that we all put dentist appointments into our calendar,  prioritize our social schedule, make sure we do not put more than 24 hours into a day and stick to promises we made before ... but only rarely do we do Capacity Planning, Sequencing, Leveling and Scheduling with SAP!

...and it's so much easier with SAP!

Sunday, October 20, 2013

What the strategy group on MRP3 (and Policy Setting) can do for a leveled production schedule with agility.

Last week I got engaged with a client to work on a model, so they can perform effective materials planning. The client did great preparations in defining guidelines for policy setting in an ABC / XYZ matrix. This kind of thinking drives SAP software to support the achievement of targets and goals: Periodic policy setting based on changing situations is imperative, so that it automates ongoing balancing between service levels and optimized inventories.

One part of the solution was dealing with production scheduling. The question at hand: how do we level the production program MTS (X and Y items) and let MTO (Z items) orders flow in ?

The answer: use different policies to drive automation for different situations. Below you can see the grid we came up with.

The idea behind setting policies in the various classes is to determine an ideal mix of production quantities. This in turn drives great service levels and minimum inventory holdings, even though variability causes a deviation of actual order quantities and dates from the forecast...

For all X items we assume a high forecast accuracy (90 to 95%), and therefore a Make To Stock strategy is applied in order to manufacture finished product to a forecast into inventory. Because of the high degree of predictability, we can assume that any forecast error can be covered with safety stock. That is why we want to use strategy 10 which creates an LSF requirements type. LSF requirements do not consume itself against customer orders and therefore additional, actual demand must be covered by safety stock. This should be in order, since the forecast error is minimal for X items.

as for safety stocks our policies suggest to use a dynamic safety with a coverage profile. This is because the dynamic safety stock goes up and down with future, forecasted demand and would therefore adjust itself up and down for important A items. For less important B items we would use an automatically calculated static safety stock, whereas we would use a static safety stock manually for the least valuable C items.

For Y items there is slightly more variability and the forecast does not necessarily provide as much comfort as it does for X items. That is why our policy calls for strategy 40 and the associated requirements type VSF. A VSF is consumed by incoming customer orders and therefore - if actual customer orders exceed the forecast - additional demand is directly transferred into the production program. In this case we do not need a safety stock, since we satisfy demand over and above the forecast, directly from production.

A fixed lot size is used, so that the MRP run generates supply in fixed quantities, which a scheduling system can level, sequence and distribute within available capacity on the line. The production program for XA products is generated weekly wheras for XB and XC products the program is created bi-weekly and monthly respectively. This is due to the fact that A items need more attention and need to be checked more frequently, due to their nature of being of high consumption value.

Z items are set up to be Made to Order. However, there is a forecast placed on the finished good, so that it is possible to procure raw materials and reserve capacity on the lines. This is achieved using strategy 52, which generates a VSE requirements with statistical planned orders which reserve capacity and allow the transfer of requirements to raw materials. Z items do not have safety stocks and a production program is not necessary, since actual orders flow into the free capacity spots that were reserved.

In this sense it is possible to generate a level production plan considering all products running on the 'mixed model lines'. Class A materials build the basis with a weekly, undisturbed schedule of fixed order quantities that build inventory to the forecast plus a safety stock. Class B materials are then stacked on top, using about 30% of the capacity (for an approximate total of A and B items of 80%). Orders exceeding the forecast will be placed into the bi-weekly production program and reduce the remaining available capacity for C products.

This kind of thinking is nothing new, but unfortunately it's not applied very often. In many cases, people think that MRP should generate the production program directly. That is not how it works in an MRP type planning system. MRP will generate supply based on your basic data setup, but under no consideration of available capacity on the lines. MRP also does not create a sequence of orders and it does not fix the schedule. Because of that, you should introduce that extra step in between the MRP run and handing over a schedule to production: Sequencing, Leveling and Scheduling !