Rules-based safety stock

As a fulfillment manager, you can configure the rules-based safety stock values. With safety stock rules, you can maintain the extra stock and mitigate the risk of shortfall of items that are caused by uncertainties in supply and demand. The safety stock rule helps you to select the best approach for determining safety stock. You can set the safety stock rule to maintain buffer inventory and safeguard stock within your supply chain.

Note: The item-based safety stock method is the default safety stock method. To enable rules-based safety stock method, contact IBM® Support.

In general, these rules are set at higher levels. For example, if [category = x] and [node type = y], then [SS value = z].

You can define rules at various granularity levels to support the business objectives that changes over time and includes the and ending rules at specific dates and times. As a fulfillment manager, you can use the rules-based safety stock through the Order Hub UI.
  • For more information on how to create, edit, delete, or duplicate a safety stock rule in Order Hub UI, see Safety stock rules.
  • For more information on how to configure rules-based safety stock in Order Hub UI, see Configuring safety stock rules.
Important: The percentage safety stock is supported only at network level and cannot be configured at the node level.

Benefits rules-based safety stock

  • Minimizes data-entry effort and eliminates per item configuration to ensure low maintenance.
  • Time-based application.
  • Real time evaluation to address dynamic conditions.
  • Fixed value and percentage safety stock.
  • Business driven safety stock, which eases management effort.
  • Separation of network and node level safety stock to reduce excessive withholding.
  • Intuitive design that can be configured without a manual.
  • Replaces item-based safety stock.

Prerequisites for configuring rules-based safety stock

  • Ensure that you are on V2 or availability by date APIs in the Inventory service.
  • Contact IBM Support to upgrade to rules-based safety stock.
  • Configure fulfillment network with IBM Sterling Intelligent Promising configuration. For more information, see Managing Promising rules.
  • Configure the item in IBM Sterling Intelligent Promising catalog.

Network and node level safety stock

You can configure the rules-based safety stock for an item at the following levels:
  1. Network level
    • Delivery method
    • Distribution group
    • Catalog category
    • Item ID or SKU
    • Item attribute
  2. Node level
    • Delivery method
    • Node
    • Node type
    • Catalog category
    • Item ID or SKU
    • Item attribute
The key features of network and node level safety stock are as follows.
  • Network and node level safety stock are calculated separately.
  • Rules that are applied at node level do not propagate to network level.
  • Example 1, if SS=1 for N1 and N2, and given DG1=[N1,N2], then DG’s SS=0.
  • Example 2, if SS=2 at DG1, given DG1=[N1,N2], then SS = 0 for N1, N2.

Default safety stock APIs

A default safety stock can be set at the network or node level if no rules are applied. Node default supports a FIXED value and network default supports both FIXED and PERCENTAGE[Min/Max] value.

An example of default node and network safety stock APIs is as follows.
  • The default rule at node level
    {"action": {"safetystock": {"fixed": 2}}}
  • The default rule at network level (percentage)
    {
      "action": {
        "safetystock": {
          "inventoryPercentage": {
               "value": 5, "rounding": "down", "fixedMinimum": 2, "fixedMaximum": 50
    }}}}

Factors for change in the safety stock

If a safety stock rule is created, updated, or deleted, it can change the safety stock value for all the applicable supplies because of the following actions:
  • Upon activating or deactivating a rule.
  • Upon adding or removing condition types.
  • Upon changing action associated with the rule, which defines safety stock value.
  • Upon addition or removal of a node to a distribution group.
  • Upon updating the effective dates.
You can define with an effective period and can be enabled or disabled. If the rule is not enabled or if the rule has an effective date in the past or future, the change in safety stock value is not initiated immediately. The rule can become effective or ineffective at a certain point in time that causes a change in the safety stock.

Safety stock and total availability

By default, the Availability API reports the total availability for a node or distribution group with safety stock withheld considered.
For example, when total available quantity is 15 and total safety stock that is withheld is 5, the total availability becomes 15-5 = 10.
If you want to ignore safety stock when the absolute inventory is calculated and consider safety stock as available, you can use the considerSafetyStock parameter in the Availability API.
For more information, see V2 availability API.

Safety stock can be defined as either a fixed value or as a percentage of availability. This percentage value is supported only for network rules. If fixed safety stock value is used, then it is first applied on the availability buckets with lowest time range (on hand) and if any more safety stock value is remaining, it is applied on the availability buckets with higher time ranges (future).

For example, if on hand availability before safety stock = 5, future availability before safety stock = 11, and safety stock = 6, then the total availability with safety stock applied will be 10 (Availability by date: on hand=0, future=10). If percentage safety stock is used, then it is applied on all the availability buckets, hence in effect again it gets applied on total availability before safety stock. The percentage safety stock has the ability to allow rounding up or down as requested. In addition, you can also define a minimum and maximum boundary for the safety stock value when using a percentage value.

When the safety stock rule evaluates the request and finds no matching rule to apply, then a default action is taken. The default action can be configured to use a pre-defined value. When no default action is configured, the safety stock value of 0 is assumed.

Safety stock for bundle and item variations

You need to define the safety stock rules for bundle components and variation items that maintains the inventory for availability computations. The bundle and item with variations for parent item does not support the safety stock directly and instead, their safety stock is the aggregated value of their components.

Converting item-based safety stock to rules-based safety stock

While item-based safety stock might be simple to configure, a rules-based safety stock is optimal and more powerful. If multiple items or item-node combinations need to apply the same safety stock value, you can configure them in a single rule. This helps consolidate multiple item-level safety stock settings into a single rule. Such consolidation also leads to performance improvement when querying for a list of item-nodes such that a single rule becomes applicable rather than a potentially large set of matching rules.

You can use a single request for rule-based safety stock method for both SKU1024 and SKU1025 items instead of two separate transactions.
Example 1: An example of converting item-based safety stock to rules-based safety stock
Item-based safety stock
 [
   { "itemId": "SKU1024", "shipNode": "Matrix-Store-001", 
     "deliveryMethod": "SHP", "safetyStockQuantity": 5 },
   { "itemId": "SKU1025", "shipNode": "Matrix-Store-001",
     "deliveryMethod": "SHP", "safetyStockQuantity": 5 }
 ]
Rule-based safety stock
 {
  "name": "SSfor5atMatrixStore001",
  "expr": {
    "and": [
      {"node": {"eq": "Matrix-Store-001"}},
      {"item.itemId": {"in": ["SKU1024", "SKU1025"]}},
      {"deliveryMethod": {"eq": "SHP"}}
    ]
  },
  "action": {
    "safetystock": {"fixed": 5}
  }
}
Example 2
You can also apply rules at a higher level or business level to avoid the need to configure numerous rules. For example, if both SKU1024 and SKU1025 belongs to Dress category, then you can use the category configuration instead.
 `{
    "name": "ss_rule_categoryPath",
    "desc": "safetystock for items belonging to same category",
    "expr": {
       "and": [
       {
          "item.categoryPath": {
            "eq": "/CategoryDomain-1/Dress"
            }
          }
       ]
    },
    "action": {
      "safetystock": {
        "fixed": 5
      }
    }
 }`

Safety stock for item attributes

The item attributes improves safety stock accuracy and the item attribute condition enables a safety stock to be applied when an item meets a criteria. You can set item attribute as a condition in the rule-based safety stock definition. Item attribute is the characteristic of an item that can be an application-provided attribute or a custom defined attribute.
For more information about item attributes, see Item attributes.

The following examples describe rules-based safety stock for item attributes:
Example 3
A fulfillment manager in a fashion store wants to ensure at least two quantities of the fashion-forward items are made available on shelf all days for walk-in customers. By configuring a safety stock rule with item assigned attribute of fashion-forward=y and safety stock value of two for PICK or SHIP, the store can guarantee that there are two protected quantities. You can use both item attribute and item-assigned attribute as conditions.
For more information about assigning attributes to an item, see Attribute.
Example 4
A seller is planning for a flash sale event on all items with assigned item attribute of flash-sale=y for which the seller can create a safety stock rule with the flash-sale=y item attribute. All items with this specific custom attribute would have an overridden safety stock rule of 0. Otherwise, it would fall back to a node-level rule safety stock of 2.

Node location aggregation

You can create a network safety stock rule that is based on the aggregation of a corresponding node level safety stock rule. You can use the node location aggregate so that the network considers the node level safety stock aggregate that belongs to the target network. For example, if there are 10 nodes with a safety stock level of 1 (SS1) each, the network safety stock (SS) value is 10.

You can enable the node location aggregate by using an API. For more information, see Enabling the node location aggregate for network safety stock. Familiarize yourself with the scenario that is available. For more information, see Scenario: Node location aggregate in network availability safety stock.

Node type override location aggregation

When node safety stock aggregation is enabled, there are occasion when the fulfillment manager needs to redirect fulfillment request to other node type during a demand surge in the system. The effort to mitgate potential high fulfillment cost at the store level. With node type aggregation override, the user can assign a fixed or percent overriding safety stock value against the node type. For instance, setting 100% against store type would redirect traffic to other node types.

Node type override relies on node safety stock aggregation enablement.

As a variant of network safety stock rule based on location aggregation, a safety stock value can be defined at node type to override node level safety stock. The node type safety stock override is an optional configuration when location aggregation is enabled. It applies to all the nodes within the network matching the node type.
Note:
  • When multiple network rules are applicable, the system considers the best match. The network rule that has distribution group attribute set as a condition takes precedence over other attributes.
  • Percentage and fixed value for node type location aggregation in network safety stock is supported.

Node type override is only applicable when node location aggregate is enabled. To enable the node location aggregate, see Enabling the node location aggregate for network safety stock.

Familiarize yourself with the scenario that is available. For more information, see Scenario: Node type location aggregate in network availability safety stock.