Safety stock is a quantity of stock you plan to remain in inventory to protect against fluctuations in demand (for example, forecast error) and supply (for example, variable supplier lead times and irregular operation yields). Safety stock is sometimes referred to as overplanning, a market hedge, buffer stock, or reserve stock.
Safety stock is an inventory level that needs to be maintained. You satisfy demand, for example, sales orders and forecasts, by consuming inventory. Safety stock is an inventory level that you must maintain; it remains in projected available balance.
Safety stock level can be made up of different types of safety stock levels:
Non-transient safety stock levels are levels that you hold from their point of origination to the end of the planning horizon. They are safety stock levels without ending effectivity dates.
Transient safety stock levels are levels that you hold for only a certain time during the planning horizon. They are safety stock levels with ending effectivity dates. Transient safety stock levels plan for supplies to be completed earlier than the demands that peg to them and plan for the inventory to be held as safety stock. You can also complete supplies earlier than the demands that peg to them using safety lead-time; see Safety Lead-time
This diagram shows a safety stock level and its components for a 15-day planning horizon (PH). It details:
SSL: Safety stock level
T1, T2: Transient safety stock levels
NT1, NT2: Non-transient safety stock levels
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | D14 | D15 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| SSL | 10 | 10 | 10 | 10 | 10 | 10 | 25 | 25 | 25 | 18 | 18 | 18 | 15 | 15 | 15 |
| T1 (D7 > D9) | - | - | - | - | - | - | 10 | 10 | 10 | - | - | - | -- | - | - |
| T2 (D10 < D12) | - | - | - | - | - | - | - | - | - | 3 | 3 | 3 | - | - | - |
| NT1 (D7 > PH) | - | - | - | - | - | - | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 | 5 |
| NT2 (D1 > PH) | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 | 10 |
You can use several ways to specify safety stock levels to the planning engine:
You specify
Oracle Inventory calculates
The planning engine calculates
Oracle Inventory Optimization calculates
If you run optimized plans, see also Implicit Objectives.
You Specify Safety Stock Levels
Navigate to the item attributes (Inventory > Items > Master Items or Inventory > Items > Organization Items > tab General Planning > region Safety Stock > field Method.
Set Method to Non MRP Planned
Navigate to form Enter Item Safety Stocks (Inventory > Planning > Safety Stocks).
Enter Item, Quantity, and Effective Date.
If you specify only one safety stock level for an item, the planning engine considers the safety stock level as non-transient. If you enter more than one safety stock level for an item, the planning engine generally considers the safety stock level as transient. However, if the levels are always increasing, the planning engine considers the safety stock levels as non-transient. If there is no safety stock level for an item, the planning engine considers the safety stock level as zero.
See Entering and Reloading Safety Stocks.
Oracle Inventory Calculates Safety Stock Levels
Navigate to the item attributes (Inventory > Items > Master Items or Inventory > Items > Organization Items > tab General Planning > region Safety Stock > field Method.
Set Method to Non MRP Planned
Use one of these Oracle Inventory methods for calculating safety stock:
Mean absolute deviation (MAD): The formula is safety stock = Z * 1.25 * MAD, where Z is a function of the desired service level, which you enter.
User-defined percentage
User-defined percentage: The formula is the percentage you enter times the average monthly demand.
See Entering and Reloading Safety Stocks.
The Planning Engine Calculates Safety Stock Levels
Navigate to the item attributes (Inventory > Items > Master Items or Inventory > Items > Organization Items) > tab General Planning > region Safety Stock.
Set field Method to MRP Planned %
Specify Bucket Days as the number of days to be used for aggregating demand
Specify Percent as the percentage of aggregated demand to be used for safety stock.
If either Bucket Days or Percent are zero, the planning engine calculates the safety stock as zero.
The planning engine calculates safety stock level for all for working days in the planning horizon during the planning process. The level is a target to be satisfied by the end of the day. You can control it with profile option MSO: Default Timestamp Safety Stocks.
For each day, the planning engine multiplies the safety stock percentage you define by the sum of gross requirements for the safety stock days. For repetitively manufactured items in unconstrained plans only, the planning process multiplies the percentage you define by the average daily demand during each repetitive planning period.
The formula for discrete safety stock is (Sum of gross requirements for Bucket Days working days * Percent) / (100 * Bucket Days).
The organization manufacturing calender determines the working days.
The gross requirements includes both independent and dependent demands. For independent demands, the planning engine uses the demand date. For dependent demands, it uses the unconstrained demand date. In constrained and optimized plans, the scheduling process occurs after the safety stock calculation; the planning engine does not recalculate safety stock even if the scheduling process changes dates.
If the demand is in weekly buckets, the planning evenly divides the weekly demand over the days.
For example, an item has these item attributes:
Safety stock method: MRP Planned %
Bucket Days: 5
Percent: 500% = 5
Days D6 & D7 are non-workdays.
This table shows the demands for days D1 through D9 and the safety stock level for days D1 and D2. The planning engine does calculate safety stock levels for the other work days.
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | |
|---|---|---|---|---|---|---|---|---|---|
| Demand (independent and dependent) | 10 | 20 | 15 | 35 | 25 | - | - | 5 | 35 |
| Safety stock level | 105 [(10+20+15+35+25) * 500] / (100 *5)] | 100 [(20+15+35+25+5) * 500] / (100 *5)] | - | - | - | - | - | - | - |
Oracle Inventory Optimization Calculates Safety Stock Levels
Navigate to the item attributes (Inventory > Items > Master Items or Inventory > Items > Organization Items > tab General Planning > region Safety Stock.
Set field Method to MRP Planned %. You may leave Bucket Days and Percent blank. Oracle Inventory Optimization calculates safety stock level only for items with item attribute Method set to MRP Planned %.
Use Oracle Inventory Optimization to calculate safety stock levels that account for variability in demand and lead times. See Oracle Inventory Optimization Implementation and User's Guide.
The planning engine receives information for each item-organization combination. The levels are timed with the inventory optimization plan's time buckets.
If there is a planned item that is not in the inventory optimization plan and item attribute Method is set to:
MRP Planned %: The planning engine calculates safety stock level for the item
Non MRP Planned: The planning engine receives safety stock level for the item from Oracle Inventory.
When receiving safety stock information from Oracle Inventory Optimization, the planning engine:
Does not process safety stock demands that occur after the plan horizon date
Sets safety stock demand for the last bucket to be the same as the safety stock demand in the second to the last bucket
In weekly and period buckets, moves safety stock demands that occur on a non-workday to the previous workday
Enabling Safety Stock Planning
Navigate to form Plan Options (Supply Chain Planning > Supply Chain Plan > Options). In tab Organizations:
In region Organizations, select field Plan Safety Stock for the organizations that you want. You can default this setting in the Plan Parameters form (Supply Chain Planning > Setup > Parameters > Execution Defaults).
Only if you set safety stock levels by an Oracle Inventory Optimization plan, in region Demand Schedules > field Name, select the inventory optimization plan with the safety stock levels that you want the planning engine to use.
Planning Phases for Safety Stock
The planning engine plans to meet safety stock levels through a process of sequential phases:
Safety stock smoothing: Smooths out fluctuations in safety stock. This phase is optional. The planning engine only performs safety stock pegging if profile option MSC: Use FIFO Pegging is No.
Inventory netting: Creates planned orders and recommendations to meet safety stock levels
Pegging: Associates supplies and demands
Scheduling: Detailed schedules supplies
This topic explains phases Safety stock smoothing, Inventory netting, and Scheduling. To understand the Pegging phase, see Safety Stock Pegging.
Safety Stock Smoothing Planning Phase
Consider this phase especially if you have the planning engine calculate safety stock levels. The planning engine bases safety stock levels on demand levels; as demand levels fluctuate, safety stock levels fluctuate. This phase help smooth out nervous safety stock levels.
There are the types of safety stock smoothing:
Within time intervals:
Across time intervals:
Safety Stock Smoothing Planning Phase: Within Time Intervals
You can instruct the planing engine to keep safety stock levels relatively constant within a time interval.
You specify:
The number of days in the time interval: Set profile option MSC: Safety stock change interval (Days)
The method that the planning engine should use to calculate the constant value: Set profile option MSC: Smoothing method to calculate Safety stock within Change interval
The planning engine begins at the plan start date and:
Groups the days in to the time interval based on the number of days you specify
Finds the value among the days that corresponds to the method--minimum, maximum, or average
Sets the safety stock level for all the days in the time interval to that value
This table shows the daily safety stock levels. It then shows the smoothed safety stock levels that the planning engine calculates for the value of profile option MSC: Smoothing method to calculate Safety stock within Change interval with profile option MSC: Safety stock change interval (Days) set to 3. Levels are rounded to integers.
| D1 | D2 | D3 | D4 | D5 | D6 | D7 | D8 | D9 | D10 | D11 | D12 | D13 | D14 | D15 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Daily | 11 | 14 | 25 | 5 | 5 | 15 | 35 | 45 | 25 | 12 | 45 | 23 | 5 | 10 | 15 |
| Min | 11 | 11 | 11 | 5 | 5 | 5 | 25 | 25 | 25 | 12 | 12 | 12 | 5 | 5 | 5 |
| Avg | 17 | 17 | 17 | 8 | 8 | 8 | 35 | 35 | 35 | 27 | 27 | 27 | 10 | 10 | 10 |
| Max | 25 | 25 | 25 | 15 | 15 | 15 | 45 | 45 | 45 | 45 | 45 | 45 | 15 | 15 | 15 |
Safety Stock Smoothing Planning Phase: Across Time Intervals
You can instruct the planning engine to minimize safety stock levels across the smoothed time intervals.
You specify:
Whether you want the planning engine to do this smoothing only for MRP Planned % items or for all items. Set profile option MSC: Apply Safety Stock Change interval to non MRP Planned Safety Stock.
The maximum change in safety stock values that you will allow between time intervals. Set profile option MSC: Maximum Percentage variation in safety stock values.
The minimum change in safety stock values that you consider significant enough to trigger a change in the safety stock level from one bucket to the next. Set profile option MSC: Minimum Percentage variation in safety stock values.
The planning engine finds the highest safety stock level within the planning horizon and begins the smoothing process from that time interval. It proceeds backwards to the plan start date and smooths each time interval, then proceeds forward to the end of the planning horizon and smooths each time interval.
The planning engine calculates the change between time intervals as [100 * (Safety stock level in the next interval - Safety stock level in this interval)] / Safety stock level in this interval.
If the deviation between the two time intervals is:
Between the minimum and maximum changes in safety stock levels that you will allow, the planning engine leaves the original safety stock level
Higher than the maximum changes in safety stock levels that you will allow, the planning engine adjusts the original safety stock level to be at the maximum percent.
Lower than the minimum changes in safety stock levels that you consider significant, the planning engine retains the safety stock level for the two buckets.
In this table:
The value you enter for profile option MSC: Smoothing method to calculate Safety stock within Change interval is Minimum.
You set profile option MSC: Maximum Percentage variation in safety stock values to 55. This is the maximum deviation that is considered significant to trigger a change in safety stock between two periods.
You set profile option MSC: Minimum Percentage variation in safety stock values to 10. This is the minimum allowed deviation between any two periods.
The planning engine finds the highest smoothed safety stock level in the planing horizon to be D7-9. It begins from there and smooths across time intervals by calculating deviations in the order D7-9 to D4-6, then D4-6 to D1-3, then D7-9 to D10-12, and then D10-12 to D13-15.
| D1-3 | D4-6 | D7-9 | D10-12 | D13-15 | |
|---|---|---|---|---|---|
| Smoothed Minimum safety stock level within time intervals | 11 | 5 | 25 | 12 | 5 |
| Maximum allowed deviation | +/- 55% | +/- 55% | Base | +/- 55% | +/- 55% |
| Minimum allowed deviation | +/- 10% | +/- 10% | Base | +/- 10% | +/- 10% |
| Order of smoothing calculations | 2 | 1 | Base | 3 | 4 |
| Actual deviation | +46.6% [100*(16.13-11)/11] | +400% [100*(25- 5)/5] | Base | -52% [100*(12-25)/25] | -58% [100*(5-12)/12] |
| Decision | Actual deviation within minimum / maximum range; retain value | Actual deviation outside of maximum allowed; cap safety stock level at 55% of base level | Base | Actual deviation within minimum / maximum range; retain value | Actual deviation outside of maximum allowed; cap safety stock level at 55% of previous level |
| Smoothed safety stock level across time intervals | 11 | 16 [25 / (1+0.55) = 16.13] | 25 | 12 | 5 [12*(1 - 0.55)] = 5.4] |
Inventory Netting Planning Phase for Safety Stock
When there is a safety stock level for an item, the netting process checks for a shortage using this formula: Projected available balance from last period + Supplies in this period - Independent and dependent demand in this period - Safety stock level in this period.
After the planning engine resolves the shortage through planned orders, future firm planned orders, and recommendations, the projected available balance should be the safety stock level. However, the projected available balance may be affected by order modifiers and constraints.
Pegging Planning Phase for Safety Stock
To understand the Pegging phase, see Safety Stock Pegging.
Scheduling Planning Phase for Safety Stock
The planning engine uses the safety stock pegging information to schedule supplies. It schedules supplies so that they meet both demands and safety stock levels as appropriate.
Other Safety Stock Planning Principles
The planning engine uses unconstrained demand dates in the inventory netting and pegging phases. The scheduling phase may move supplies in and out and that could result in your holding too much or too little safety stock.
The planning engine uses unconstrained demand dates when it calculates safety stock level. Therefore, it could sometimes be difficult to tie safety stock level to the MRP Planned % values. The dependent demands used in the initial calculation of safety stock level may have moved by the scheduling process.
These profile options also relate to safety stock:
MSC: Excess and Safety Stock by Demand Class, see MSC Profile Options
MSO: Default Timestamp Safety Stock, see MSD Profile Options
Viewing Safety Stock Results
To see the results of safety stock planning, see Horizontal Plan, Supply/Demand Window, and Pegging.