Module: Economic rounding to a package

Executive summary

The intelligent rounding function of orders can be enabled in STOCK. This functionality evaluates the profitability of rounding in orders. With this setting, STOCK considers whether it is worth rounding to the package and to which package size rounding is most advantageous. The cost of oversupply incurred by rounding to a larger package is evaluated, with the cost of more frequent deliveries that would have to be done if a smaller quantity had been loaded. If the cost of overstock is higher, it will not be rounded to the given package or minimum order quantity.

Functional description

The script compares the cost of intake and expenditure operations (inbound cost and outbound cost in SIDI Warehouse_product) with the cost of capital for the holding period (WACC in SIDI Warehouse_product).

In order for economic rounding to work, it is necessary to populate the warehouse_product_supplier_set table (or redistribution_set, production_set). Pack sizes are taken from these tables for economic rounding. However, only the quantity is taken and the other columns are ignored. If economic rounding is turned on, priority rounding cannot work and the resulting value will be overwritten according to economic rounding. If economic rounding is turned off, standard rounding will take effect.

Script progress

In case when it is not possible to deliver an incomplete package, only the quantity divisible into the smallest package is considered. The script continues to decide if it could be rounded to a larger package.

Gradually, all packages are considered from the largest. It is determined when the order will be delivered, the stock is calculated after delivery of the order and the day when the stock falls below the safety stock (daily forecast is gradually deducted) is searched for, ie the endurance of the rounded quantity. The period in which an intersection with the insurance stock is sought can be limited in the configuration. (For example, for minimum shelf life setting.) If the stock does not drop to the safety stock within the specified number of days, it will not be rounded on the package.

The variants with smaller and larger packages are compared according to the cost of more frequent deliveries and according to the cost of holding overstock.

If the cost of more frequent deliveries is higher than the cost of overstock, quantity is rounded to a larger package and any other variants with a smaller package are no longer evaluated. Quantity is also rounded to a larger package if the stock life after delivery would be less than 3 days. This is due to the endurance of the stock on weekends (when the supplier cannot deliver).

We usually always want to round to the minimum order quantity, so the only reason rounding may not occur is to exceed the maximum endurance of the rounded quantity in the configuration. However, other settings in the configuration can also override this condition.

Extensions

Input data and configuration

To use economic rounding, it is necessary to turn on the use-intelligent-orders-rounding right.

Configuration settings are in the order_configuration table.

image0

An example

We have an item with defined packages of 5 pcs and 200 pcs, the minimum order quantity is not set, the stock price is 149 CZK. Wacc is 10%, the cost of a receipt operation is CZK 20, for a dispensing operation CZK 1. The packaging limit is 30 days. Rounding to the smallest package is enabled, so only the possibility of rounding to a larger package is evaluated.

For an order from 21.7.2015 STOCK requires a quantity of 44 pieces, which is automatically rounded to 45 pieces. The stock after delivery of a larger package would be 235 pieces, an average daily forecast is 6.6 pieces, the safety stock is around 34 pieces. In 30 days (depending on the configuration) the stock for the insurance stock does not decrease (albeit tightly), so it is not rounded to a larger package.

The input parameters of the order from July 28, 2015 are very similar - STOCK requires a quantity of 44 pieces, which is automatically rounded to 45 pieces. The stock after delivery of a larger package would again be 235 pieces. However, as the safety stock rose slightly to 36 pieces and the average daily forecast also rose to 6.9 pieces, the safety stock will be reached in 29 days. Therefore, the maximum endurance of the stock has not been reached and the evaluation can continue, in which the following calculations will be performed:

Costs for more frequent deliveries = floor (endurance of rounded quantity / endurance of unrounded quantity) * (cost of receipt operation + cost of issue operation) = floor (29/7) * (20 + 1) = 84 CZK.

Endurance of rounded extra quantity = endurance of rounded quantity - endurance of unrounded quantity = 29 - 7 = 22 days.

Average daily overstock = (rounded amount - unrounded amount) / 2 = (200 - 45) / 2 = 77.5 MU.

Overstock costs = average daily overstock * stock price * endurance of the rounded extra quantity * wacc / 365 = 77.5 * 149 * 22 * 0.1 / 365 = 69.6 CZK.

The cost of more frequent deliveries is therefore higher than the cost of overstock and therefore we will round to a larger package.

image1