Inventory Balancing
Inventory balancing report enables to calculate recommendations for generating transfers between locations.
By default the report uses short-term demand forecast to calculate the inventory level requirement for each product and subsequently recommend transfers to reach optimal inventory at each location.
Default report includes the following columns:
Product ID and name, and variation names if present;
Brand and Pty names;
From and to Locations; from location may be empty if no recommendation could be generated;
1-week demand forecast at current location;
EOP (current) quantity in current location;
Need - by default rounded up value of the forecast;
Available - available quantity at other locations;
Transfer quantity if recommendation was generated;
If the location dimension is set up hierarchically it is possible to restrict transfers to given location group. The report only includes selected locations, and generates recommendations within selection.
Configuration
The following parameters are used for generating recommenations.
Settings -> System configuration -> Inventory analytics
Number of weeks for short-term prediction. Depends on the nature of the business, typically 4-8 weeks.
Minimum transfer value. If set then system will generate transfer if the total retail value is below this value. This is to avoid generating potentially unprofitable recommendations.
Minimum amount to keep in inventory. If this value is set then the recommendation engine will keep this many units at source location. Use this prevent depleting locations completely.
Number of forward cover days for allocation. Specifies how long the stock should last at any given location. Value depends how often the shipments between locations can be made, and how long they take.
The engine will prioritize the locations when generating locations: first to receive is the one with highest sales, and first to send is of lowest sales.
Customization
The main function for generating transfers:
Fn.transfers()
It requires the underlying report to have following field aliases:
location_id - ID of the target location
product_id - ID of the item being processes
sales_est - short-term demand forecast for current item at current location
need - calculated inventory requirement
locations - list of location IDs with inventory levels of this product
levels - list of levels corresponding to each location id in locations list
The return value is a list of recommendation where each item is a tuple with source location ID as first element, and quantity as last element:
[
['1',2],
['2',1]
]
This example recommends transferring 2 units from location '1' and 1 unit from location '2' to the location passed to the function.