safety stock calculations in oracle inventory

32
Safety Stock Calculations in Oracle Inventory An Oracle White Paper - Prasanna Panchapakesan

Upload: [email protected]

Post on 27-Aug-2019

100 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Safety Stock Calculations in Oracle Inventory

Safety Stock Calculations in Oracle Inventory

An Oracle White Paper

- Prasanna Panchapakesan

Page 2: Safety Stock Calculations in Oracle Inventory

2

Index

1. Introduction………………………………………………………………………………………………………………………….3

2. Safety Stock………………………………………………………………………………………………………..………………..3

3. Setup……………….……………………………………………………………………………………………………………………4

3.1 Item Level Setup……………………………....…...………………………………………………………………………4

3.2 MRP Planned Percentage………………………………………………………………………………………………..5

3.3 Non-MRP Planned…………………………………………………………………………………………………………..5

3.4 Flow Chart………………………………………………………………………………………………………………………6

4. User-Defined Quantity Method (UDQ)………………………………………………………………………………….7

4.1 Setup Required……………………………………………………………………………………………………………….7

4.2 Steps Involved…………………………………………………………………………………………………………………7

4.3 Calculation Logic……………………………………………………………………………………………………………..7

5. User-Defined Percentage Method (UDP)……………………………………………………………………………….8

5.1 Setup Required……………………………………………………………………………………………………………….8

5.2 Steps Involved…………………………………………………………………………………………………………………8

5.3 Calculation Logic……………………………………………………………………………………………………………..8

5.4 Sample Calculations………………………………………………………………………………………………………..9

5.4.1 Example-1 Bucket Type: Day………………………………………………………………………………..9

5.4.2 Example-2 Bucket Type: Week……………………………………….…………………………………..11

5.4.3 Example-3 Bucket Type: Period………………………………………………………………………….13

6. Mean Absolute Deviation Method (MAD)…………………………………………………………………………...16

6.1 Setup Required……………………………………………………………………………………………………………..16

6.2 Steps Involved……………………………………………………………………………………………………………….16

6.3 Calculation Logic……………………………………………………………………………………………………………17

6.4 Sample Calculations……………………………………………………………………………………………………….18

6.4.1 Example-1 Bucket Type: Period………………………………………………………………………….18

6.4.2 Example-2 Bucket Type: Day……………………………………………………………………………….21

6.4.3 Example-3 Bucket Type: Week……………………………………………………………………………26

7. Conclusion……………………………………………………………………………………………………………..…………….29

8. Additional Resources……………………………………………………………………………………………………………29

9. Appendix –A…………………………………………………………………………………………………………………………30

10. Appendix –B …………………………………………………………………………………………………………………………31

11. Appendix-C………………………………………………………………………………………………………………………….31

Page 3: Safety Stock Calculations in Oracle Inventory

3

Introduction

Safety stock is a quantity of stock you plan to remain in inventory to protect against fluctuations in

demand or supply. It is also held to account for huge variation in lead times. Safety stock is sometimes

referred to as over planning, forecast, or a market hedge. In the context of master scheduling, safety

stock refers to additional inventory planned as protection against forecast errors or short term changes

in the backlog. Safety stock requirements are generally specified at an item level. By having an adequate

amount of safety stock on hand, a company can meet a sales demand which exceeds the demand they

forecasted without altering their production plan. Too much safety stock can result in high holding costs

of inventory. For any Organization it is very important to have an accurate Safety Stock Levels.

This document explains how Safety Stock will be calculated in the Oracle Inventory Module using Non-

MRP method. It outlines the various methods and steps in the process, of the safety stock calculation

logic.

Safety Stock

Safety Stock is a base level of inventory from which Oracle inventory performs planning. In other words,

the item is planned as if the safety stock quantity for the period is the zero inventory balance of the

item. This ensures that the safety stock quantity remains in inventory to cover any fluctuations in

demand.

In calculating safety stock, account is taken of such factors as service level, expected fluctuations of

demand and likely variations in lead time. An example of demand uncertainty is forecast error. Examples

of supply uncertainties include variations in supplier lead times and irregular operation yields etc. In

businesses such as aerospace and defense manufacturing, or construction, it is normal to segregate

supplies and demands by inventory ownership. Safety stock definition in such environments can be

project specific. Oracle Inventory allows entering the safety stock at Project Level.

These safety Stock Levels will be used in the Oracle Inventory Re-Order Point Planning, Oracle MRP and

Oracle ASCP.

Page 4: Safety Stock Calculations in Oracle Inventory

4

SETUP

Item Level Set up

Item can be defined with any of the following two options for Safety Stock under General Planning Tab.

1) MRP Planned %

2) Non MRP Planned

Navigation: Inventory Responsibility > Items > Master Items/Organization Items

Apart from the item setup, we need to ensure below setup (it will vary based on the method) to

calculate the safety stock for an item in Oracle Inventory

Forecast Set and Forecast has to be defined.

Statistical Forecast has to be generated based on the demand histories using the Statistical Forecast

rule.

Item should not be a unit effectivity Control enabled.

Page 5: Safety Stock Calculations in Oracle Inventory

5

MRP Planned Percentage

For an item defined with MRP planned percentage, safety stock is dynamically calculated during the

planning process.

For discretely manufactured items, the safety stock quantity is dynamically calculated by multiplying the

safety stock percentage you define by the average of gross requirements for a period of time defined by

the safety stock days.

For repetitively manufactured items, the planning process multiplies the percentage you define by the

average daily demand for a given repetitive planning period. The planning process recalculates the

safety stock quantity for each repetitive period in the planning horizon.

In this Paper, Safety Stock Calculation using MRP Planned Percentage method will not be dealt. It will be

focused only on the other method (Non-MRP Planned).

Non MRP Planned (Inventory Methods)

For an item defined with ‘Non-MRP Planned’, the following methods are available within Oracle

Inventory for calculating safety stock.

Type Description

User-defined quantity Use a fixed safety stock quantity that user define.

User-defined percentage Calculate safety stock based on the user specified Percentage.

Mean absolute deviation (MAD) Calculate safety stock as the mean absolute deviation (MAD).

Safety stock quantities generated in Oracle Inventory according to effectivity dates are included in

planning. Instead of manually changing the user-defined safety stock quantity each time a change is

needed, the user can now set effectivity dates for when a change in quantity takes place.

These safety Stock Levels will be used in the Planning Methods like Oracle Inventory Re-Order Point

Planning, Oracle MRP Planning and Oracle ASCP Planning.

In the Following page, Flow chart has been provided which explains the different methods and the steps

involved in the safety stock calculations in Oracle Inventory. In the Subsequent chapters, each method is

being explained in detail about the Set up Part, Steps involved in the calculation, Calculation logic and

Sample calculations.

Page 6: Safety Stock Calculations in Oracle Inventory

6

Flow Chart

User Defined Percentage

Three Methods

User Defined Quantity User Defined Percentage Mean Absolute Deviation

Which Method?

Mean absolute Deviation User Defined Quantity

Safety Stock Calculations in Oracle Inventory

Navigate to Inventory Responsibility >

Planning > safety Stock.

Then Click new.

Enter the Item number, Effective Date

and Safety Stock Quantity. (Note:

Project/Task Reference, if required)

Start

Forecast Entries has to be Created

either using the Program ‘Generate

Forecast’ or by manually entering the

data.

Navigation: Inventory Responsibility >

Planning > Safety Stock Update.

Submit the Program ‘Reload Safety

Stock’ by specifying the method as

User-defined Percentage, Forecast

Name, and Safety Stock Percentage

along with the Starting Date.

Stop

FORECAST_MAD has to be generated

using a statistical forecast rule by

running the Program ‘Generate

Forecast’.

Navigation: Inventory Responsibility >

Planning > Safety Stock Update.

Submit the Program ‘Reload Safety

Stock’ by specifying the method as

Mean Absolute Deviation, Forecast

Name, and Service Level Percentage

along with the Starting Date.

Safety Stock Quantities can be reviewed

using the below navigation.

Navigation: Inventory Responsibility >

Planning > Safety Stock

Safety Stock Quantities can be reviewed

using the below navigation.

Navigation: Inventory Responsibility >

Planning > Safety Stock

Page 7: Safety Stock Calculations in Oracle Inventory

7

User-Defined Quantity Method

In this method, User can enter the desired Safety stock quantities and the date for which each quantity

is effective. They can also update safety stock quantities that you previously entered or system

calculated.

Setup Required

Item should be defined with safety

stock option as ‘Non MRP Planned’

Item should not be a unit effectively

Control enabled.

Steps Involved

Navigate to Inventory Responsibility > Planning > Safety Stocks. Then Click ‘New’

Here, User has to enter the item number, Effective date and Quantity and then save the record. If the

Organization is enabled for Project Reference, Then Project and Task reference can be entered for the

safety stock.

Calculation Logic

In this method, there is no calculation logic involved as user is entering the safety stock quantities in the

form.

Page 8: Safety Stock Calculations in Oracle Inventory

8

User-Defined Percentage Method (UDP)

In this Method, Safety Stock will be calculated based on a user-defined percentage of a demand in

specified forecast. Reload Safety Stock concurrent program has to be used to calculate the same.

Setup Required

Item should be defined with safety stock option as ‘Non MRP Planned’.

Forecast Set and Forecast has to be defined for the Item with appropriate Bucket Type.

Steps Involved

Forecast entries have to be

created either by entering

manually or by generating the

forecast.

Reload Safety Stock Program has

to be run by specifying the

method as User-defined

Percentage, Forecast Name, and Safety Stock Percentage (user defined percentage based on the

business need) along with the Starting Date.

(Navigation: Inventory Responsibility > Planning > Safety Stock Update)

This Program will generate the Safety Stock using the Forecast and user defined percentage.

Calculation Logic –UDP Method

In this method, Safety Stock will be calculated as below

If the Forecast Bucket Type is Daily (Day),

If the Forecast Bucket Type is Weekly,

Safety Stock = (Safety Stock Percentage × Sum of Forecast Demand Quantities of Bucket Type weekly) /

(No of Working days in the Week * 100)

Safety Stock = (Safety Stock Percentage x Sum of Forecast Demand Quantities of Bucket type Day) / 100

Page 9: Safety Stock Calculations in Oracle Inventory

9

Here, No of working days in the week = (Previous Work day corresponding to Next Week start date -

Work day corresponding to Week start date)

If the Forecast Bucket Type is Period,

Here, No of working days in the Period = (Previous Work day corresponding to Next Period start date -

Work day corresponding to period start date)

Sample Calculations To demonstrate the calculation logic, Sample calculations have been furnished for different

Bucket Types.

Example-1 (Bucket Type: Day)

In this example, Safety Stock calculation for an item with forecast Bucket type set to Days will be dealt. Let us assume that user defined percentage for safety stock calculation is 98%. Below Screen shot explains the forecast details for the item.

Safety Stock = (Safety Stock Percentage × Sum of Forecast Demand Quantities of Bucket Type Period) /

(No of Working days in the Period * 100)

Page 10: Safety Stock Calculations in Oracle Inventory

10

Reload Safety Stock Program will be submitted as below to calculate the Safety Stock for the item.

Let us apply the Formula to calculate the Safety Stock.

Formula:

Safety Stock = (Safety Stock Percentage x Sum of Forecast Demand Quantities of Bucket type Day) / 100

User Defined Percentage = Safety Stock Percentage = 98%

a) On 19th Aug 2010, Forecast Quantity is 100

Safety Stock = (Safety Stock Percentage/100) × (Forecast Demand Quantity).

= (98/100) x 100 = 98.

b) On 20th Aug 2010, Forecast Quantity is 115

Safety Stock = (Safety Stock Percentage/100) × (Forecast Demand Quantity).

= (98/100) x 115 = 112.7

Same way, it can be calculated for any dates.

Page 11: Safety Stock Calculations in Oracle Inventory

11

Following Screen shot shows the Safety Stock Quantity Details, after running the program Reload Safety Stock (Navigation: Inventory > Planning > Safety stock)

Example-2 (Bucket Type: Weeks)

In this example, Safety Stock calculation for an item with forecast Bucket type set to Weeks will be dealt. Let us assume that user defined percentage for safety stock calculation is 99%. Below Screen shot explains the forecast details for the item.

Page 12: Safety Stock Calculations in Oracle Inventory

12

Reload Safety Stock Program will be submitted as below to calculate the Safety Stock for the item.

Let us apply the Formula to calculate the Safety Stock.

Formula:

Safety Stock = { (Safety Stock Percentage × Sum of Forecast Demand Quantities of Bucket Type weekly) /

(No of Working days in the Week * 100) }

Note: To calculate ‘Total no of working days in the Week’, Queries provided in the Appendix B can be used.

User Defined Percentage = Safety Stock Percentage = 99%

a) For the week starting on 24th Aug 2010, Forecast Quantity is 500

No of Working Days in the week = 5 days

Safety Stock = (Sum of forecasts quantities of Bucket Type Weekly * User-defined %) / (No of working days in the week * 100)

= (500*99) / (5*100) = 99

b) For the week starting on 01st Sep 2010, Forecast Quantity is 600

No of Working Days in the week = 4 days

Safety Stock = (Sum of forecasts quantities of Bucket Type Weekly * User-defined %) / (No of working days in the week * 100)

= (600*99) / (4*100) = 148.5

Same way, it can be calculated for any dates.

Page 13: Safety Stock Calculations in Oracle Inventory

13

Following Screen shot shows the Safety Stock Quantity Details, after running the program Reload Safety Stock (Navigation: Inventory > Planning > Safety stock)

Example-3 (Bucket Type: Period)

In this example, Safety Stock calculation for an item with forecast Bucket type set to Periods will be dealt. Let us assume that user defined percentage for safety stock calculation is 110%. Below Screen shot explains the forecast details for the item.

Page 14: Safety Stock Calculations in Oracle Inventory

14

Reload Safety Stock Program will be submitted as below to calculate the Safety Stock for the item.

Let us apply the Formula to calculate the Safety Stock.

Formula:

Safety Stock = { (Safety Stock Percentage × Sum of Forecast Demand Quantities of Bucket Type Period) /

(No of Working days in the Period * 100) }

Note: To calculate ‘Total no of working days in the Period’, Queries provided in the Appendix B can be used.

User Defined Percentage = Safety Stock Percentage = 110%

a) For the period starting on 13th Sep 2010, Forecast Quantity is 1000

No of Working Days in the Period= 20 days

Safety Stock = (Sum of forecasts quantities of Bucket Type Period * User-defined %) /

(No of working days in the Period * 100)

= (1000 x 110) / (20*100) = 55

b) For the period starting on 11th Oct 2010, Forecast Quantity is 1500

No of Working Days in the Period = 20 days

Safety Stock = (Sum of forecasts quantities of Bucket Type Period * User-defined %) /

(No of working days in the Period * 100)

= (1500 x 110) / (20*100) = 82.5

Same way, it can be calculated for any dates.

Page 15: Safety Stock Calculations in Oracle Inventory

15

Following Screen shot shows the Safety Stock Quantity Details, after running the program Reload Safety Stock (Navigation: Inventory > Planning > Safety stock)

Page 16: Safety Stock Calculations in Oracle Inventory

16

Mean Absolute Deviation Method (MAD):

In this Method, Safety Stock will be calculated based on Mean Absolute Deviation (MAD) of the demand

quantity. This is based on the user entered Service Level. Service Level percentage is the desired level of

customer service in satisfying the product demand immediately out of available inventory. The higher

this value is, the more safety stock quantity should be carried to provide protection against irregularities

or uncertainties in the demand or the supply of an item.

Example: A 90% service level means that on an average you can fill an order immediately 90% of the

time.

Setup Required

Item should be defined with safety stock option as ‘Non MRP Planned’.

Forecast Set and Forecast has to be defined for the Item with appropriate Bucket Type.

Statistical Forecast rule has to be defined.

Statistical Forecast has to be generated using ‘Generate Forecast Program’ based on the

Statistical Forecast rule.

Steps Involved

Forecast MAD has to be generated. To get Forecast MAD Quantity, ‘Generate Forecast Program’

has to be run based on a Statistical Forecast rule. This Program will trigger the programs

‘Summarize demand histories’ and ‘Compile item forecast’. ‘Summarize demand histories’

program will summarize the demand history based on the Transaction History. This will populate

the data into the Table: MTL_DEMAND_HISTORIES. ‘Compile item forecast’ Program will

calculate the Original Forecast Quantity and Forecast MAD Quantity based on the demand

history. (Note: It can also be generated using interface)

Reload Safety Stock Program has to be run by specifying the method as Mean Average

Deviation, Forecast Name, and Service Level Percentage along with the Starting Date.

(Navigation: Inventory Responsibility > Planning > Safety Stock Update)

Page 17: Safety Stock Calculations in Oracle Inventory

17

This Program will generate the Safety Stock using the Forecast and Service Level percentage.

Calculation Logic –MAD Method

In this Method, Safety Stock will be calculated as below

If the Forecast Bucket Type is Daily (Day),

If the Forecast Bucket Type is Weekly,

Here, No of working days in the week = (Previous Work day corresponding to Next Week start date -

Work day corresponding to Week start date)

If the Forecast Bucket Type is Period,

Service Factor is calculated as Z x 1.25 . Here, Z is the appropriate value from a table of standard normal

distribution corresponding to the service level.

Safety factor calculation is based on piecewise linear interpolation (Interpolation: y = (y2 - y1)/(x2 - x1) *

(x - x1) + y1). Please refer Appendix-A for the Values of safety factor.

Safety Stock = (Sum of forecasts MAD quantities of Bucket Type period * Service Factor) /

(No of Working days in the Period)

Safety Stock = (Sum of forecasts MAD quantities of Bucket Type Weekly * Service Factor)) /

(No of Working days in the week)

Safety Stock = Sum of forecasts MAD quantities of Bucket Type Days * Service Factor

Page 18: Safety Stock Calculations in Oracle Inventory

18

Sample Calculations

Example-1 (Bucket Type: Periods)

In this example, Safety Stock calculation for an item with forecast Bucket type set to ‘Period’ using “MAD method” will be dealt. Let us assume that service level for safety stock calculation is 90%.

After creating a Forecast Set and Forecast with Bucket type as Periods, Statistical Forecast has to be generated. Also For the item, It is been ensured that it has sufficient Transaction History to generate the forecast. To Generate the Statistical Forecast, “Generate Forecast” Program has been submitted by specifying a Statistical forecast rule.

Generate Forecast program trigger the programs ‘summarize Demand History’ and ‘Compile item

Forecast’.

Forecast Quantity and Forecast MAD Quantity has been generated. This is shown in the following screen

shot. (Navigation: Inventory > Planning > Forecast > View Set)

Page 19: Safety Stock Calculations in Oracle Inventory

19

Note : In the Application, We cannot view the Forecast_MAD Quantity. Query provided in the Appendix C can be used to get the same. Following Table shows the query output for this example.

Period

No

Fore Cast Date

Forecast Quantity

Forecast MAD Quantity

1 9-Aug-10 328300 719708.12

2 13-Sep-10 312200 719708.12

3 11-Oct-10 296100 719708.12

4 08-Nov-10 280000 719708.12

5 13-Dec-10 263900 719708.12

6 10-Jan-10 247800 719708.12

7 07-feb-10 231700 719708.12

Following Screen shots will provide the details the working day details for the calendar attached

Organization. (Navigation: Inventory > Setup > Organization > Calendar)

Reload Safety Stock Program will be submitted as below to calculate the Safety Stock for the item.

Page 20: Safety Stock Calculations in Oracle Inventory

20

Let us apply the Formula to calculate the Safety Stock.

Formula:

Safety Stock ={ (Sum of forecasts MAD quantities of Bucket Type period * Service Factor) /

(No of Working days in the Period) }

Service Factor = 1.25 * Safety Factor

= 1.25* 1.28 (For Service Level 90%, Safety Factor is 1.28, Reference: Appendix A)

= 1.6

Here, Sum of forecasts MAD quantities of Bucket Type Period = Forecast MAD Quantity * No of days in the Period

Note : To calculate ‘Total no of Days in the period’ and ‘Total no of working days in the period’, Queries provided in the Appendix B can be used.

a) Period No-2

Total no of Days in the Period = 28

Total no of Working Days in the Period = 20

Safety Stock = (Sum of forecasts MAD quantities of Bucket Type period * service_factor) /

(No of working days in the Period)

= (28 x 719708.12 x 1.6)/20 = 1612146.19

Page 21: Safety Stock Calculations in Oracle Inventory

21

b) Period No-4

Total no of Days in the Period = 35

Total no of Working Days in the Period = 23

Safety Stock = (Sum of forecasts MAD quantities of Bucket Type period * service_factor) /

(No of working days in the Period)

= (35 x 719708.12 x 1.6)/23 = 1752332.814

Same way, It can be calculated for any Week. Following Screen shot shows the Safety Stock Quantity Details, after running the program Reload Safety Stock (Navigation: Inventory > Planning > Safety stock)

Example-2 (Bucket Type: Day)

In this example, Safety Stock calculation for an item with forecast Bucket type set to ‘Day’ using “MAD method” will be dealt. Let us assume that service level for safety stock calculation is 95%.

After creating a Forecast Set and Forecast with Bucket type as Periods, Statistical Forecast has to be generated. Also For the item, It is been ensured that it has sufficient Transaction History to generate the forecast. To Generate the Statistical Forecast, “Generate Forecast” Program has been submitted by specifying a Statistical forecast rule.

Page 22: Safety Stock Calculations in Oracle Inventory

22

Generate Forecast program trigger the programs ‘summarize Demand History’ and ‘Compile item

Forecast’.

Forecast Quantity and Forecast MAD Quantity has been generated. This is shown in the below screen

shot. (Navigation: Inventory > Planning > Forecast > View Set)

Page 23: Safety Stock Calculations in Oracle Inventory

23

Page 24: Safety Stock Calculations in Oracle Inventory

24

Note : In the Application, We cannot view the Forecast_MAD Quantity. Query provided in the Appendix C can be used to get the same. Following Table shows the query output for this example.

Period No

Fore Cast Date Forecast Quantity Forecast MAD Quantity

1 8-Sep-10 620 5.904

2 9-Sep-10 630 5.904

3 10-Sep-10 640 5.904

4 13-Sep-10 650 5.904

5 14-Sep-10 660 5.904

6 15-Sep-10 670 5.904

7 16-Sep-10 680 5.904

8 17-Sep-10 690 5.904

9 20-Sep-10 700 5.904

10 21-Sep-10 710 5.904

11 22-Sep-10 720 5.904

12 23-Sep-10 730 5.904

13 24-Sep-10 740 5.904

14 27-Sep-10 750 5.904

15 28-Sep-10 760 5.904

16 29-Sep-10 770 5.904

17 30-Sep-10 780 5.904

Reload Safety Stock Program will be submitted as below to calculate the Safety Stock for the item.

Page 25: Safety Stock Calculations in Oracle Inventory

25

Let us apply the Formula to calculate the Safety Stock.

Formula:

Safety Stock = { Sum of forecasts MAD quantities of Bucket Type Days * Service Factor}

Service Factor = 1.25 * Safety Factor

= 1.25* 1.62375 (For Service Level 95%, Safety Factor is 1.62375, Reference: Appendix A)

=2.0296875.

a) Period-1

On 8th Sep 2010, Forecast Quantity is 620 and Forecast MAD Quantity is 5.904.

Safety Stock = Sum of forecasts MAD quantities of Bucket Type Days * Service Factor

= 5.904 * 2.0296875

=11.983275

Same way, it can be calculated for any day Following Screen shot shows the Safety Stock Quantity Details, after running the program Reload Safety Stock (Navigation: Inventory > Planning > Safety stock)

Page 26: Safety Stock Calculations in Oracle Inventory

26

Example-3 (Bucket Type: Week)

In this example, Safety Stock calculation for an item with forecast Bucket type set to ‘Weeks’ using “MAD method” will be dealt. Let us assume that service level for safety stock calculation is 99%.

After creating a Forecast Set and Forecast with Bucket type as Periods, Statistical Forecast has to be generated. Also For the item, It is been ensured that it has sufficient Transaction History to generate the forecast. To Generate the Statistical Forecast, “Generate Forecast” Program has been submitted by specifying a Statistical forecast rule.

Generate Forecast program trigger the programs ‘summarize Demand History’ and ‘Compile item

Forecast’

Forecast Quantity and Forecast MAD Quantity has been generated. This is shown in the below screen

shot. (Navigation: Inventory > Planning > Forecast > View Set)

Page 27: Safety Stock Calculations in Oracle Inventory

27

Note : In the Application, We cannot view the Forecast_MAD Quantity. Query provided in the Appendix C can be used to get the same. Following Table shows the query output for this example.

Fore Cast Date Forecast Quantity Forecast MAD Quantity

24-May-10 2190 580.9523032

1-Jun-10 1430 580.9523032

7-Jun-10 670 580.9523032

Reload Safety Stock Program will be submitted as below to calculate the Safety Stock for the item.

Page 28: Safety Stock Calculations in Oracle Inventory

28

Let us apply the Formula to calculate the Safety Stock.

Formula:

Safety Stock = { (Sum of forecasts MAD quantities of Bucket Type Weekly * Service Factor)) /

(No of Working days in the week)}

Service Factor = 1.25 * Safety Factor

= 1.25* 2.33 (For Service Level 99%, Safety Factor is 2.33, Reference: Appendix A)

= 2.9125

Here, Sum of forecasts MAD quantities of Bucket Type Weekly = Forecast MAD Quantity * No of days in the Week

Note : To calculate ‘Total no of Days in the period’ and ‘Total no of working days in the period’, Queries provided in the Appendix B can be used.

a) Period-1

For the week starting on 24th May 2010, Forecast Quantity is 2190 and Forecast MAD Quantity is 580.9523032

Total no of Days in the week = 8

Total no of Working Days in the Week = 5

Safety Stock = (Sum of forecasts MAD quantities of Bucket Type Weekly * Service Factor)) /

(No of Working days in the week)

= (580.9523032*8*2.9125)/5

= 2707.237732912

b) Period-2

For the week starting on 01st Jun 2010, Forecast Quantity is 1430 and Forecast MAD Quantity is 580.9523032

Total no of Days in the week = 6

Total no of Working Days in the Week = 4

Safety Stock = (Sum of forecasts MAD quantities of Bucket Type Weekly * Service Factor)) /

(No of Working days in the week)

= (580.9523032*6*2.9125)/4

= 2538.03537

Page 29: Safety Stock Calculations in Oracle Inventory

29

Same way, It can be calculated for any Week. Following Screen shot shows the Safety Stock Quantity Details, after running the program Reload Safety Stock (Navigation: Inventory > Planning > Safety stock)

Conclusion

This paper describes different types and calculation logic of Safety Stock in Oracle Inventory Application.

It also handles various Forecast Bucket types and the corresponding Safety Stock Calculation Logic in

Oracle Inventory applications.

This paper should give sufficient information to understand the calculation of the Safety Stock in Oracle

Inventory Application.

Additional Resources

Oracle Inventory User Guides.

Oracle Inventory Student Guides.

Note 1121513.1 -FAQ: Safety Stock Calculation in Oracle Inventory

Page 30: Safety Stock Calculations in Oracle Inventory

30

Appendix – A

Safety Factor and Service Factor Details for different Service Level

Service Level Safety Factor Service Factor = 1.25 x Safety Factor

0-59 0 0

60 0.253 0.31625

61 0.2783 0.347875

62 0.3036 0.3795

63 0.3289 0.411125

64 0.3542 0.44275

65 0.3795 0.474375

66 0.4048 0.506

67 0.4301 0.537625

68 0.4554 0.56925

69 0.4807 0.600875

70 0.525 0.65625

71 0.5522 0.69025

72 0.5794 0.72425

73 0.6066 0.75825

74 0.6338 0.79225

75 0.661 0.82625

76 0.6882 0.86025

77 0.7154 0.89425

78 0.7426 0.92825

79 0.7698 0.96225

80 0.84 1.05

81 0.8715 1.089375

82 0.903 1.12875

83 0.9345 1.168125

84 0.966 1.2075

85 0.9975 1.246875

86 1.08 1.35

87 1.12 1.4

88 1.16 1.45

89 1.2 1.5

90 1.28 1.6

91 1.33 1.6625

92 1.38 1.725

93 1.43 1.7875

94 1.555 1.94375

95 1.62375 2.0296875

96 1.6925 2.115625

97 1.88 2.35

98 2.055 2.56875

99 2.33 2.9125

100 4 5

101 41.5 51.875

102 79 98.75

103 116.5 145.625

Page 31: Safety Stock Calculations in Oracle Inventory

31

Appendix –B

SQL to Calculate Number of working days

If the Bucket type is Weekly, Then we can use the below SQL to find out the number of working

days. It takes Organization_code, from_date and to_date as input.

If the Bucket type is Period, Then we can use the below SQL to find out the number of working days.

It takes Organization_code, from_date and to_date as input.

Appendix –C

SQL to find out the Forcast_MAD Quantity

select c3.calendar_date Week_Start_date,W1.NEXT_DATE Week_end_date,

(C2.NEXT_SEQ_NUM - C3.NEXT_SEQ_NUM)no_of_working_days,(c2.calendar_date- c3.calendar_date) no_of_days_in_the_week

from BOM_CALENDAR_DATES C2, BOM_CALENDAR_DATES C3, BOM_CAL_WEEK_START_DATES W1, mtl_parameters mp

where mp.organization_code ='&organization_code'

AND C2.CALENDAR_CODE = mp.calendar_code AND C3.CALENDAR_CODE = mp.calendar_code

AND W1.CALENDAR_CODE = mp.calendar_code AND C2.EXCEPTION_SET_ID = mp.calendar_exception_set_id

AND C3.EXCEPTION_SET_ID = mp.calendar_exception_set_id AND W1.EXCEPTION_SET_ID = mp.calendar_exception_set_id

AND C3.CALENDAR_DATE= W1.WEEK_START_DATE AND C2.CALENDAR_DATE = W1.NEXT_DATE

AND W1.WEEK_START_DATE >= to_date('&from_date','dd-mon-rr')

AND W1.WEEK_START_DATE <= to_date('&to_date','dd-mon-rr')

order by c3.calendar_date ;

select c3.calendar_date Period_Start_date,W1.NEXT_DATE Period_end_date,

(C2.NEXT_SEQ_NUM - C3.NEXT_SEQ_NUM)no_of_working_days, (c2.calendar_date- c3.calendar_date) no_of_days_in_the_Period

from BOM_CALENDAR_DATES C2, BOM_CALENDAR_DATES C3,BOM_PERIOD_START_DATES W1,mtl_parameters mp

where mp.organization_code ='&organization_code'

AND C2.CALENDAR_CODE = mp.calendar_code AND C3.CALENDAR_CODE = mp.calendar_code

AND W1.CALENDAR_CODE = mp.calendar_code AND C2.EXCEPTION_SET_ID = mp.calendar_exception_set_id

AND C3.EXCEPTION_SET_ID = mp.calendar_exception_set_id AND W1.EXCEPTION_SET_ID = mp.calendar_exception_set_id

AND C3.CALENDAR_DATE= W1.PERIOD_START_DATE AND C2.CALENDAR_DATE = W1.NEXT_DATE

AND W1.PERIOD_START_DATE >= to_date('&from_date','dd-mon-rr')

AND W1.PERIOD_START_DATE <= to_date('&to_date','dd-mon-rr')

order by c3.calendar_date ;

select forecast_designator , organization_id, inventory_item_id ,forecast_date,

original_forecast_quantity Forecast_Quantity, forecast_mad

from mrp_forecast_dates

where inventory_item_id = &item_id

and organization_id = &organization_id

and forecast_designator = '&forecast_name'

and origination_type = 5;

Page 32: Safety Stock Calculations in Oracle Inventory

32

Safety Stock Calculations in Oracle Inventory Oct 2010 Author: Prasanna Venkatesan Panchapakesan Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A.

Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 www.oracle.com

Oracle Corporation provides the software that powers the Internet. Oracle is a registered trademark of Oracle Corporation. Various product and service names referenced herein may be trademarks of Oracle Corporation. All other product and service names mentioned may be trademarks of their respective owners.

Copyright © 2005 Oracle Corporation

All rights reserved.