Policy based planning allows you to plan spare items based on policy setups.
Policy Parameters are calculated in an IO Plan based on user inputs. The IO plan is then referenced in Oracle Service Parts Planning Plan Options as a Demand Schedule. These policy parameters could be overridden either automatically by SPP or manually.
Policy based planning is based on policy setups. The general overall flow of information is as follows:
Specify policy based planning attributes within a Policy Parameters Set at the Category level or Item Attribute Simulation Set at the item-org level.
Launch the IO Policy Plan to calculate Policy parameters.
View the calculated Policy Parameters within a new screen in IO called Material Plan – ADF.
Within IO, a Policy Parameters Set helps you specify Policy Parameters by Category. Other enhancements to IO include the ability to consider two tiered service levels and an ability calculate safety stock using a loss function based approach.
The existing Items Classification functionality is utilized throughout the Policy Planning solution to set up Category specific behavior. This functionality has been enhanced to enable the creation of Category Sets and Categories within Planning, without requiring them to be created in Inventory.
You can also specify Policy Parameters externally at the item level and uploaded to IMM using the OA template. These parameters override the Category level parameters, however, they are not time varying.
The following map illustrates the functional components of the IO portion of Policy Planning..
For information on Policy Parameters for SPP, refer to the Oracle Service Parts Planning Implementation and User's Guide.
For information on Policy Parameters for APCC, refer to the Oracle Advanced Planning Command Center User's Guide.
As Items are classified into categories on the destination using the Parts Classification functionality, the categorization must be used throughout the Policy Planning solution.
After you have completed the Parts Classification to your satisfaction, you publish the classification.
To publish your classification, click PUBLISH at the bottom of the Parts Classification Rule screen. The action of publishing invokes a concurrent request that copies the classification data from the simulation set in which it resides into an area where Planning engines can read the classification, and where subsequent collections will not override it.
In the Parts Classification screen, the Categories that you can select depend on the Category Set that you choose. In the event that you choose a Category Set that was specified on the source, then only those Categories that correspond to the Category set that was specified in the source can be selected. If you choose a Category Set that was created on the destination, then only those categories created on the destination can be selected. Collected categories are not visible.
Different aspects in the Policy Planning solution now use the published categorization by referring to the Policy Parameter Set that holds the classification, with the following stipulations:
When specifying Policy Parameters through the Policy Parameters Set, you must choose the Category Set within the Policy Parameters Set that holds the correct Parts Classification.
Profile options that govern how IO and SPP plans display Categories must be updated to the same Category Set.
A single Categorization only is used to drive Category-Item association, across regular and policy planning scenarios in IO and SPP. Scenarios in which a Policy Plan in either IO or SPP refers to one Category Set for while, and then a regular IO/SPP plan refers to another Category Set is not supported.
The Policy Planning feature allows you to create a new Category Set and new Categories directly on the destination. When you select the Category Set through the drop-down in the Part Classification Rule screen, you can see all the Category Sets that are available. A link, New, enables you to specify the name of a new Category Set. You are guided to a window in which you can create a new Category or Category Set.
In the Parts Classification screen, the Categories that are enabled depend on the Category Set that is chosen. If you choose a Category Set that was specified on the source, then only the Categories corresponding to that Category Set can be selected. If you create a Category Set on the destination, then only those categories created on the destination are accessible. Collected categories are visible.
To create a new Category set, click New from the drop-down menu.
Different aspects in the Policy Planning solution use the published Categorization, by referring to the Policy Parameter Set that holds the classification.
Note: Be sure to choose the Category Set within the Policy Parameters Set that holds the correct Parts Classification
IO introduces a Policy Parameters Set that allows you to specify Category Specific Policy Parameters, in which you can set out time varying policy parameters. In the time varying parameters, you can specify a time varying value of Target Service Level %. This value influences the Safety Stock calculation and therefore, the Min.
Note: You can specify either the Target Service Level % or the Min and Max, but not both
You can choose whether you want you plan to be a Policy Planning or a regular plan, but it can only be one at a time. If you choose Policy Planning, it references an existing a Policy Parameters Set.
Policy Planning calculates Inventory Parameters only at specific organizations. There are no forecast values propagated automatically to upstream organizations to calculate safety stock. Forecast values must be calculated independently to calculate safety stock.
If you wish to specify policy values at the Item-Org lever, you must specify them externally and upload them to the IMM using the OA template.
You manage Policy Parameters Sets in the IO workbench.
To manage Policy Parameters Set:
Log on to IO as Inventory Planner responsibility.
Expand Setup and then click Manage Policy Parameters sets.
The Manage Policy Parameters Sets screen comes up.
The sequence of Categories specified in the Manage Policy Parameters Sets screen is significant. If an item is assigned to two Categories, the first category that is listed is the one that provides the policy parameters. You can change the order of the Categories in the list to specify in which order they will be evaluated by using the Move Up and Move Down buttons.
If the Policy Parameters are enabled for Time Phased Setup, the section Specify Policy Date Ranges area of the screen becomes editable. The Policy Date Ranges can be specified per Category. You can then specify the values Min (Override), Max (Override) and Target Service Level % for each date range across time.
Note: You can specify the Policy Parameters at the Category AND Organization.
The detailed attributes of the Policy Parameters Set are:
Section | Values | Comments |
Header | Policy Parameter Set Name | User specified |
Description | User specified | |
Specify Item Categories | Category Set | Category Set, which holds Items Classification Categories, required field |
Category | Drop-down menu to select the Categories associated with the above Category Set. | |
Organization | Organization for which the Policy Parameters are applicable | |
Time Phased Setup | Valid Values are:
The default is No. |
|
Include in Calculations | Specifies whether or not the policy values for this Category must be recalculated. If it is not recalculated, the existing Policy Parameters must be retained in the IO Plan Output. |
|
Per Selected Category Policy Attributes | N/A | N/A |
Forecast Error Distribution | This would be an LOV for the planner to specify the kind of distribution that IO should assume while calculating safety stock. | |
If this is set to Item Level Specification, IO looks at the Intermittent Demand item-attribute in the IMM, as referenced in the IO Plan Option. If this is set to No, IO assumes a Normal distribution. If this is set to Yes, IO looks at the profile MSR: Variance to Mean Threshold for Use of Negative Binomial Distribution and based on that, assumes either a Poisson or Negative Binomial distribution | ||
Per Selected Category / Policy Parameters | Policy Type | One of:
|
Policy UOM | Either Units or Days” | |
Annual Order Count | This is relevant and must be editable only for the policy = ROP-OQ. This is a specification that is used to derive the Order Quantity by dividing the total demand over the last year by this number | |
Order Cycle Calendar | This is reference to a Calendar which determines when orders can be placed. This is only relevant and must be editable only for the “FOC-Max” Policy | |
Fixed Order Quantity | Either used as EOQ for the Items where EOQ cannot be calculated, or as the Order Quantity for the ROP-OP policy if specified. Editable only for ROP-EOQ and ROP-OQ type of policies. | |
Min Override Max Override |
Manually specified overrides to Policy Parameters. Iin case these are specified, they are considered, and IO will not calculate any Min-Max values. | |
Per Selected Items Class/Time Phased Policy Overrides | Ability to specify time varying Min, Max and Target Levels by Category |
You can import policy parameters defined in a .csv file. The .csv template enable the import of Time Phased Policy Planning Parameters into the IO Plan Options.
When you choose to import, you are directed to the Load Data Files screen, where you can import time Policy Parameter data into the IO Plan Options through a .csv.
You can specify the following information:
Policy Parameter Set | Category | Organization | Start Date | End Date | Min | Max | Target Service Level (%) |
Set1 | Category1 | M1 | 1/1/2015 | 1/31/2015 | 100 | 200 | 70 |
Set1 | Category1 | M1 | 2/1/2015 | 2/28/2015 | 50 | 100 | 80 |
Set1 | Category1 | M1 | 3/1/2015 | 3/31/2015 | 200 | 300 | 90 |
Set1 | Category1 | M2 | 1/1/2015 | 1/31/2015 | 10 | 20 | 65 |
Set1 | Category1 | M2 | 2/1/2015 | 2/28/2015 | 5 | 15 | 55 |
Set1 | Category1 | M2 | 3/1/2015 | 3/31/2015 | 10 | 15 | 80 |
The Min and Max values specified are interpreted in the UOM format of the Policy. If the Policy UOM is Days, it is interpreted in Days. If the Policy UOM is Units, it is interpreted in Units.
Note: You can specify either Target Service Level % OR Min., not both. This is because the Target Service Level % influences the Safety Stock calculation, which in turn, impacts the calculation of Min.
A site level profile, MSC: Enable Loss Function Based Safety Stock Calculation, determines whether the safety stock calculation uses a loss function based approach or a regular approach.
There are two different approaches to calculating the safety stock in IO. Currently, IO supports only the Service Level approach. With the introduction of Policy Planning, it now also supports consideration of the loss function while calculating safety stock. Determining whether to use the service level approach or the quantity weighted approach is determined by the setting of the profile option MSC: Enable Loss Function Based Calculation
Note: Loss Function based approach is only relevant for Policy Plans, not for regular IO.
IO determines the safety stock required to meet a certain Service Level by calculating the frequency of loss. This calculation determines what the probability is of not meeting the demand with the calculated safety stock, as shown in the following diagram:
If there is a regular demand, this method then calculates the value of 'k' from the Normal Distribution tables, and uses the 'k' value to determine the safety stock.
An alternate approach to the calculation of safety stock weighs the probability of not meeting the demand with a certain stock, with the quantity by which demand exceeds the stock, and uses that to determine the safety stock
Again, in case of regular demand, this method determines the value of 'k' for service level from the Loss Function tables, and then uses that value of 'k' to determine the safety stock. Similarly in the case of intermittent demand, the probability of not meeting the demand is weighed by the quantity by which demands exceed stock, and that can be used to determine the optimal safety stock. This method of weighing the probability with the quantity is referred to the as Loss Function approach
IMM supports Policy Planning where the Policy Parameters are specified externally and loaded into the IMM. To accomplish this, IMM has added additional fields to support Policy Planning.
Attribute | Existing/New | Possible Values |
Inventory Policy | New |
|
Policy UOM | New | Units / Days |
Min (units) | New | N/A |
Max (units) | New | N/A |
Min (days) | New | N/A |
Max (days) | New | N/A |
Safety Stock (units) | Existing | A single value of safety stock can be specified as input |
Safety Stock (days) | New | A single value of safety stock can be specified as input |
Annual Order Count | New | Indicates number of orders to be placed per year. Used in ROP-OQ policies |
Fixed Order Quantity | Existing | Used as the Order Quantity or EOQ for ROP-OQ or ROP-EOQ policies. If specified, this must be respected |
Order Cycle Calendar | New | Relevant only in FOC-Max policies |
Average Daily Demand | New | Required for converting Quantity to Days in the various policies |
Fixed Cost per order | New | Required for EOQ calculations |
Annual Carrying Cost per Unit | New | Required for EOQ calculations |
Target Service Level % | Existing | Used to determine the safety stock |
Policy Parameters are saved within the IO Plan as additional measures when the IO plan is complete. No policy parameters are saved to the IMM or to the Policy Parameters Set.
The IO Plan saves the Policy Parameters as either Item attributes within the Plan, or as measures at the Item-Org level as outlined in the following table:
Attribute | Existing/ New | Possible Values | Description |
Inventory Policy | New Item Attribute |
|
Saved as an Item Attribute within the Plan. (This is required to have APCC and other UI's read the Inventory Policy.) |
Policy UOM | New Item Attribute | Units/Days | Saved as an Item Attribute |
Min (units) | New Measure | As calculated by IO | New Measure: Time varying Min and Max values are saved by day. |
Max (units) | New Measure | As calculated by IO | New Measure: Time varying Min and Max values are saved by day. |
Min (days) | New Measure | As calculated by IO | New Measure: Time varying Min and Max values are saved by day. |
Max (days) | New Measure | As calculated by IO | New Measure: Time varying Min and Max values are saved by day. |
Target Service Level % | Existing Measure | This is either specified as Target Service Level 1% in the Service Level Set, or it is specified in the Policy Parameters Set (either a single or time varying value) | Target Service Level % specified through the Service Level set overrides the value specified value within the Policy Parameters Set.
Note: In case the Min (Override) and Max (Override) is specified, the Safety Stock must be calculated from the Min value, and the Target Service Level % must hence be calculated/derived by SPP. |
Safety Stock (units) | Existing Measure | Calculated Safety Stock value by IO | This is the output of the IO calculation, saved to the IO plan into the existing measure. |
Safety Stock (days) | Existing Measure | Calculated Safety Stock value by IO | N/A |
Annual Order Count | New Item Attribute | Indicates number of orders to be placed per year. | This is specified at the Category Level using the Policy Parameters Set. |
Order Quantity | New | Calculated based on the Annual Order Count, or specified directly in the Policy Parameter Set, or specified in the IMM using the Fixed Order Quantity field. | IO must determine the appropriate Order Quantity applicable. For ROP-OQ, IO must use:
For ROP-EOQ, IO must use:
|
Order Cycle Calendar | New Item Attribute | As specified manually within the Policy Parameters Set | Relevant for only the FOC-Max Policy Type. IO must read the Order Cycle calendar from the Policy Parameters Set and populate the Item Attribute for every Item-Org |
Average Daily Demand | New Item Attribute | Calculated, based on forecast data (total forecast quantity) / (number of horizon days) | Calculated for every Item based on the forecast value (highest priority) OR Read in from the new IMM attribute called Average Daily Demand. |
IO bases the calculations for Policy Parameters on how you have set your policy parameters. Policy parameters are specified at the Category level only, however, the required data for calculating safety stock, such as forecast, variance, and so on, is calculated at the Item-Org level.
This section provides an overview of how IO calculates policy parameters.
If the Policy Parameters for an item that was defined within the Policy Parameters Set for its Category, is NOT time varying, as defined by the Time Phased Setup parameter in the Policy Parameters Set, then safety stock calculations are driven by data setup in the Service Level Set, IMM, and the demand schedule is referenced in the IO:
If some parameters, such as the service levels, are not specified within the Service Level Set, the Policy Parameters are used to determine the Target Service Level %.
Note: Service Level Set values always override the Policy Parameter values that are defined at the Category level.
The Policy Parameters Set can also specify the Forecast Error Distribution. If this is set to Normal, Poisson or Negative Binomial in the Policy Parameter Set for the entire Category, then this value must be used regardless of any item level distribution that may be specified in the IMM. However, if this is specified as Item Level Specification, then this value at the Item level is used.
IO uses its normal calculations and may calculate time-varying Safety Stock values even if the Policy Parameters are defined as non time varying. This influences the Policy Parameter calculations since the Min and Max are linked to Safety Stock, and as such, will also vary over time.
However, if Min and Max are explicitly specified within the Policy Parameters, then these override calculated Min/Max parameters at the Item level
If the Policy Parameters for an item that was defined within the Policy Parameters Set for its Category, ARE specified as time varying then the Target Service Level % values are determined by referencing the time varying Target Service Level % values specified in the Policy Parameters Set:
The Safety Stock calculations can vary with the varying Target Service Level % per day.
As the Safety Stock varies per day, the Min and Max values will also vary by day.
If the Min is specified in the Policy Parameters, then it must be respected. The Safety Stock value, and hence the Target Service Level % is then calculated by IO.
Many parameters influence the calculation of safety stock, which serves as the input for several Policy Parameter calculations:
Forecast: The Forecast is specified through the Demand Schedule, which is an input to the IO plan.
Forecast Distribution: Forecast Distribution is specified either directly in the Policy Parameters Set at the Category level or it is set to Item Level Specification. When it is set to the Item Level Specification, IO looks at the Intermittent Demand item-attribute in the IMM, as referenced in the IO Plan Option. If this is set to No, IO assumes a Normal distribution. If it is set to Yes, it looks at the profile MSR: Variance to Mean Threshold for Use of Negative Binomial Distribution and assumes either a Poisson or Negative Binomial distribution.
Service Level: The Service Level is specified through the Service Level Set, which can either have only service level and DFLT value (existing behavior) or two values in a two tiered service level. For example:
Service Level 1, DFLT1
Service Level 2, DFLT2
where, DFLT is the Demand Fulfillment Lead Time. The default service level is Service Level 1, DFLT1.
The Service Level can also be specified through the Target Service Level % parameter.
The method adopted by IO depends upon two options/attributes, Forecast Error Distribution and Safety Stock Calculation method. Both of these can be set at either the category level or at an individual item level. IO determines the setting that is applicable.
Safety Stock for Policy Planned items is normally calculated at a single echelon, that is, for a specific Org, based on the forecast error distribution and calculation method specified at a specific organization.
The only exception to this is when the two tiered service levels attribute is enabled and the Service Level set has two tiered definitions for an item. Often, the lead time associated with fulfilling a demand, the DFLT, is larger than the amount of time required to transfer a Item from an upstream Organization to the Organization satisfying the demand. In such scenarios, it becomes feasible to hold Items at upstream organizations and still meet the required service levels.
However, at times it is advantageous to hold a minimum number of Items at the most downstream locations. To support this scenario, IO supports two Service Levels and DFLTs.
The Service Level Set form is enhanced to allow specifying two sets of Service Levels (SL1, SL2) and DFLTs (DFLT1, DFLT2). This is set in the Service Levels & Fulfillment Lead Time form.
Note: Two-tiered service levels are specified through the Service Level Set, and therefore cannot vary by time.
The previous Service Level and Fulfillment Lead Time fields are replaced by the Service Level 1 % and Fulfillment Lead Time 1 fields. Additionally, two fields Service Level 2 % and Fulfillment Lead Time 2 are added to the form.
To process the two tiered service levels, IO does an initial run, considering SL1, DFLT1 and calculates the stock required to meet this service level. IO then does a second run, considering SL2, DFLT2, but in this case, it ensures that the safety stock quantity as calculated in the first run is maintained at a minimum at each location. In this way, you can ensure that a certain (lower) level of service level (SL1) is maintained through stock at the most downstream location, by setting the DFLT1 to 0.
The Safety Stock is an essential Item of the Policy Parameter Calculation. The key parameters for Policy Planning are explained below.
The Min is used in the Min-Max policy, and is calculated as Days or Units, depending on the Policy Type. The Min is calculated for every day of the Plan Horizon. Its value can vary by day.
In the ROP-OQ, or ROP-EOQ policies, the ROP calculation is similar to the Min calculation. The ROP or Min, is calculated as:
Min (units) = Safety Stock (units) + [Average Daily Demand]* Lead Time (Lead Time = sum of Pre-Processing, Processing and Post Processing lead time)
Min (Days) = Safety Stock (Days) + Lead Time
where,
Safety Stock (Units) is the safety stock calculated by IO, which can vary by time.
Safety Stock (Days) is the Safety Stock expressed in Days. It can be calculated either in Days, based on Safety Stock calculations as existing in IO, or, if it is calculated as Units, it is converted to Days using the Average Daily Demand.
Note: If you have manually input the Min and Max fields in the Policy Parameters, your preset values override any calculations performed by IO.
The Max determines the upper inventory threshold. It is required in Min-Max and FOC-Max policies. The Max is calculated every day and its value can vary by day.
For Min-Max and ROP policies:
Max (units) = Min (Units) + Order Quantity
Max (days) = Min (Days) + Order Quantity (expressed in days)
The Order Quantity can be specified on:
Policy Parameters Set
At the Item level in the IMM in the field Fixed Order Quantity. If this is specified, it overrides the Category level specification within the Policy Parameters Set.
For Days type of Policy, the Order Quantity is divided by the Average Daily Demand that is calculated or is available for each Item-Org .
The Average Daily Demand can be either loaded into the IMM in the field Average Daily Demand or calculated as:
[Sum of Forecast]/[No of working days in the Plan Horizon]
If specified in the IMM, the value is used and does not need to be calculated.
The Order Quantity (OQ) is used in the ROP-OQ. The EOQ is used in the ROP-EOQ. The Quantity is always expressed in Units, not Days. For Policy type of Days, it is converted to Days by dividing it with the Average Daily Demand.
When the policy is set to ROP-OQ, the Order Quantity is specified in:
The Policy Parameters Set at the Category level
The IMM Policy Parameter, Fixed Order Quantity
The IMM value is always preferred over the Policy Parameters Set value.
Economic Order Quantity
The Economic Order Quantity or EOQ is calculated using the formula below:
where,
Q * = Economic Order Quantity
D = Annual Demand Quantity of the product
C = fixed cost per order (not per unit, in addition to unit cost)
H = annual carrying cost per unit
The Annual Demand Quantity is derived from the IMM attribute Annual Sales – Quantity, which is populated when the concurrent request Calculate Annual Demand launches. The Fixed Cost per Unit and Annual Carrying Cost per Unit are new item attributes in the IMM.
If the EOQ is specified using the field Order Quantity in the Policy Parameters set, it must be used for all items where all the above data is not available in the IMM. However, if there is data available at the Item-Org level to calculate the EOQ, then IO calculates the EOQ for that Item-Organization.
In this example:
The Safety Stock varies across time, and increases with Target Service Level % in the above example
The Max is calculated as Min+ Order Quantity
Min (units) = Safety Stock (units) + Average Daily Demand * Lead Time
From the above section:
Min (units) = Safety Stock (units) + Average Daily Demand * Lead Time – note that ROP = Min, hence the calculation for ROP is identical to that for Min
This is similar to the Min (Days) calculation in the Min-Max (Days) policy.
Note: ROP = Min, as calculated earlier
You are able to see the detailed policy parameters in IO in a new ADF based Material Plan
To access the Material Plan through the IO navigator, click Material Plan – ADF. You can also access the Material Plan from the APCC Policy Planning screen.
The Material Plan supports the following measures:
Measure | Relevant for Regular IO Plans | Relevant for Policy IO Plans |
Sales Orders | Yes | No |
Forecast | Yes | No |
Dependent Demand | Yes | No |
Gross Requirements | Yes | No |
Requisitions | Yes | No |
Planned Orders | Yes | No |
Total Supply | Yes | No |
Beginning On Hand | Yes | No |
Projected Available Balance | Yes | No |
Projected Safety Stock (non pooled) | Yes | No |
Projected Safety Stock – Units | Yes | No |
- % Manufacturing Variability | Yes | No |
- % Supplier Lead Time Variability | Yes | No |
- % In-Transit Lead Time Variability | Yes | No |
- % Demand Variability | Yes | No |
Projected Safety Stock – Days of Supply | Yes | No |
Projected Safety Stock – Value | Yes | No |
Target Safety Stock (Units) | Yes | Yes |
Target Safety Stock (Days of Supply) | Yes | No |
Target Service Level (%) | Yes | Yes |
Projected Service Level (%) | Yes | No |
Mean Absolute Deviation | Yes | No |
Mean Absolute Percent Error | Yes | No |
Safety Stock – Non Pooled | Yes | No |
- Manufacturing Variability | Yes | No |
- Supplier Lead Time Variability | Yes | No |
- In-Transit Lead Time Variability | Yes | No |
- Demand Variability | Yes | No |
Policy Type | No | New |