Segment rebalancing

You can use inventory segment rebalancing to reallocate your inventory across segments automatically. You can minimize stockouts to ensure that you meet customer orders by rebalancing inventory based on time intervals or triggers from an external system. As you analyse supply and demand, you can create allocation rules to identify the segments where levels need to be adjusted. You want to avoid stockouts, overstocking of items, and holding costs to meet customer demand as cost-efficiently as possible.

When you enable a segment allocation plan for your environment, the system automatically runs the segment allocation whenever one of the following events occurs:
  • Segment rebalancing time
  • Segment rebalancing trigger
  • Supply synchronization
Your segment allocation strategy depends on your business model and can include the following use cases:
Routing allocation refresh
Enables the system to run segment allocation on a fixed schedule, such as every 24 hours. This schedule allows an oversold segment to obtain more inventory to boost sales. This also minimizes the effort to trigger the allocation manually.
Inventory freeze time
Some businesses mandate that inventory is static for a period, such as one month, to ensure that each segment has the opportunity to accept new sales. In these circumstances, as an inventory manager, you can set up a higher allocation rebalancing time. In extreme cases, you can set the time to a high value so the allocation occurs only during a manual trigger.
Hot inventory
When an item undergoes an unexpected high demand, you might trigger segment reallocation manually by using an API. This ensures that the specific item is rebalanced.
New inventory arrival:
As inventory is received at the warehouse, you can issue a segment rebalancing request by using the supply synchronization request. As you have recorded the total inventory count already, you allow the system to distribute this according to the predefined plan. Sometimes, where allocation is not desirable, you might opt to skip the allocation during the supply synchronization request.
External integration triggers:
If you want the business mandated allocation to complete based on external events, you might use an integration to trigger the allocation for specific items or locations, as required. For example, when low inventory is detected.

Fine-tuning the frequency of reallocation is essential. This prevents the risk of stockout in any segment, especially if the inventory sell rate is low in comparison to other segments. To enable segment rebalancing, see Enabling inventory segmentation allocation and rebalance frequency.

Minimum segment rebalancing time

To enable the automatic allocation agent, configure the minimum time interval between each allocation run. After an inventory item completes an allocation cycle, the system records the last execution time. This time is used to determine the next allocation run. Use the Get segment reallocation timestamp API to determine the last run timestamp.

To avoid over allocating segments, the minimum rebalancing time allowed is 6 hours. You can set the value to "0" to disable the rebalancing scheduler. For more information, see Enabling inventory segmentation allocation and rebalance frequency.

The allocation agent compiles a list of inventory items that need to run automatically. To complete this process and to validate the condition of the inventory items, the system considers the following:
  • If the inventory level is unchanged for an item, since the last rebalancing occurred, no further action is taken.
  • If an inventory change is detected, such as a supply or demand adjustment, the item is allocated for reallocation only. This occurs only if the time elapsed is greater than the minimum rebalancing time that is set.
For example, if the rebalance is set to a 6-hour period. Then, if an item was last allocated at 12:00 and a demand adjustment is made at 15:00, this results in reallocation not occurring. However, if the next inventory change occurs at 18:02, this initiates rebalancing to occur.
Note: Allocation does not occur if segment allocation is not enabled or if matching segment rules are not defined.
If a particular segment faces a stockout, use the following steps to trigger segment allocation manually before the scheduled rebalancing occurs:
  • Complete a supply synchronization request for one or more items in the unsegmented pool.
    • In the Sync Supply API, the skipSegmentAllocation value is set to false by default. To opt out of this, you can set it to true.
  • If a supply synchronization for segmented inventory does not trigger rebalancing, it can be triggered in these scenarios:
    • If there is new supply or demand that is created in the system.
    • If the inventory is updated for a segment.
    Note: When the rebalancing is triggered, reallocation occurs only if the last run time is greater than the rebalancing time that is set.
  • Trigger the reallocation by using an API call for a specific node, item, or item-node combination manually.
    • Manual triggers are ignored in the following scenarios:
      • If you try to reallocate an item that was reallocated in the last 15 minutes.
      • If you try to reallocate an item at a time that is not within the minimum segment rebalancing time of 6 hours that is set.

        The minimum segment rebalancing time of 6 hours determines the frequency of rebalancing.

Segment rebalancing trigger

To rebalance your inventory, trigger reallocation by using the following APIs: For both APIs, the trigger is done by an external system. For example, when the external system detects that an inventory item is reaching a low threshold, it can request supply reallocation to prevent a stockout in one segment.
Note: The rebalance trigger does not run if the last allocation was run within the last 15 minutes.
The Sync Supply API trigger is designed for an inventory update, such as stock keeping. Then, when required, you can avoid an allocation run by passing the skipSegmentAllocation attribute and setting it to true.

During supply synchronization or for specific items, you can use an API request to trigger the reallocation triggers manually.

The rebalancing trigger accepts the following item identifiers:
  • Item ID
  • Unit of Measure
  • Product Class
The segment allocation that is determined is based on the predefined segment allocation rules.

Example: Segment allocation run

When you create a segment allocation plan and an item qualifies for reallocation, the availability for all participating segments in the plan is considered. Then, a pool of availability for reallocation is reviewed by the system. All the existing demand and reservations in the system are considered for this pool of availability. The remaining supplies that are available after deducting the demands in the system are reallocated across the segment. This ensures that the percentage level in the allocation plan is met.

For the following examples, let's assume that this allocation plan is available:

Allocation rule 1: If Item="Item01" and Node="Node01" then reallocate availability based on the priority.

Table 1. Allocation rule 1
Priority Segment Percentage
Priority 1 Brandstore 50%
Priority 2 3rd party 30%
Priority 3 Unsegmented 20%
The reallocation frequency is set to run every 6 hours.
Example 1: Day 0 Supply allocation
An inventory manager completes a routine inventory check and identifies a total of 100 qty for Item01 at Node01. Then a supply synchronization request is submitted with the following information:

Supply synchronization for Unsegmented Item01@Node01 for 100qty

During the allocation run, the inventory pool is 100 qty and the newly allocated inventory picture for each segment is as follows:
Table 2. Segments and available quantities
Segment Availability quantity
BrandStore 50
3rdParty 30
Unsegment 20
Example 2: Day 1 when demand enters the system
By the end of day 0, new demands are observed in the system against some of the segment.
Both BrandStore and 3rd party have demand of 30 qty each. Therefore, the availability for each segment includes:
Table 3. Segment demand
Segment Available quantity
BrandStore 50 qty – 30 qty = 20 qty
3rdParty 30 qty – 30 qty = 0 qty
Unsegment 20 qty (Unchanged)
The new availability pool across the participating segments is: 20 + 0 + 20 = 40. The new availability is then redistributed in the next allocation run. The 40 qty is allocated based on the allocation plan percentage.
Table 4. Segment availability pool
Segment Available quantity
BrandStore 50%

Expects 20 qty and no change since availability is at 20 qty.

3rdParty 30%

Expects 12 qty and added 12 qty since availability is net 0.

Unsegment 20%

Expects 8 qty and deducts 12 qty to reallocate excess to other segments.

As a result, the new supply picture for each segment is as follows:
Table 5. Segment supply
Segment Available quantity
BrandStore 50 qty
3rdParty 30 + 12 qty = 42 qty
Unsegment 20 - 12 qty = 8 qty
The total supply across segments remains at 100 qty because there is no supply adjustment between the two days.