Business Models
Client’s OMS does the routing splitting
Some channels like Flipkart (FK Omni) require the WMS to
Send Consolidated Location Inventory updates.
Accept orders and then handle Order Splitting and Routing
Handle Communication with Logistics for forward and Returns
Handle Hopping scenarios
Channel’s OMS does the routing splitting
Some channels like Myntra, and Amazon requires the WMS to
Send Location-wise inventory
Accept Routed & Splitted Orders as Shipments
Request for Hopping for shipment quantities if required
Question: Are there any scenarios where Channel does the routing/splitting but Logistics is handled by the client via Clickpost/Shiprocket etc?
Answer : Yes, this happens for channels like Shopify
Increff Journey
Phase 1
Routing splitting Algorithm Selection
Locations and Cluster definitions
Cluster to Area code mapping
Enable Spitting and Routing for warehouses
Changes in UI and in other places for showing/managing splitted orders.
Phase 2
Enable store Location definition
Enable store order hopping workflows
Scale-up inventory sending capabilities to send consolidated and location-wise inventory updates.
Implementation details
Client Splitting Algo Selection
The first step before performing the splitting of an order is the selection of a splitting algorithm for a client. This can be done under the Routing Algorithm tab in the Clients screen.
Minimize Shipments Algorithm
The minimize-shipments algorithm attempts to split the order in such a way that the number of sub-orders or shipments created in different locations is minimized. This is done by greedily picking locations based on:
Total quantity allocatable from the location (the higher the better)
If two or more locations are conflicted after step 1, the count of distinct SKUs that are allocatable
If two or more locations are conflicted after step 2, the closest location is based on the minimize-delivery algorithm
Minimize Distance Algorithm
The minimize-distance algorithm attempts to split the order in such a way that the order is fulfilled from those locations first that are nearest to the delivery area-code. Therefore, the sequence followed for splitting the order is in the ascending order of location distance from the delivery point.
To calculate the proximity of a delivery point to a location (store/warehouse), the algorithm makes use of manually uploaded input. These inputs are Clusters, Cluster Definitions, and Area Cluster Mappings.
Based on the delivery area code, the locations are sorted in the following manner:
Find a previously unused area-cluster mapping whose pattern has the longest possible prefix match with the delivery pin code out of all the patterns.
For the cluster found in the previous step, if more than one locations are present, run the minimize-shipments algorithms to decide which location to use
⚠️ Note: In case there are conflicting location after running both minimize-shipment and minimize-delivery algorithms, and one of the available locations will be picked for sub-order creation
Visualization of Splitting Algorithm
Clusters and Area-Cluster Mappings
A Cluster represents a group of locations (stores or warehouses) identified by a unique cluster name.
These clusters are used to represent a group of locations that are located in the same area or vicinity.
Each cluster can be mapped to an area-code prefix using Area-Cluster Mapping.
When running the minimize-delivery algorithm, the area code of the delivery address is compared with the area-cluster mappings to determine the ordering of clusters to be used for order allocation.
We only consider those locations which are mapped to the order's channel.
Fig: Cluster Settings section in OMS UI for managing Clusters and Area-Cluster Mappings
Example of Cluster and Area-Cluster Mapping Setup
For the scenario detailed in the image below, the geographic area is divided into 4 distinct zones each of which has a specific set of area-codes prefixes (as mentioned in the legend). Further, there are 10 warehouses distributed across the geography.
Fig: Sample distribution of warehouses & stores and Area-code distribution
Based on the location of the warehouses and the area codes of the zones, the following cluster, cluster definitions, and area-cluster mappings could be set up
Cluster
Cluster-Definitions
Area-Cluster Mapping
Channels Location Codes
Mapping of channel’s location code to Increff location. This is required to be defined as not all locations will be servicing on all channels/marketplaces.
Example of Minimize Distance Algorithm
Assuming that the clusters are set up in the manner described here, suppose an order is received with the delivery Pincode: 320311.
If the minimize distance algorithm is executed for this order, based on area-pin code mappings, the best match/es of the cluster would be picked.
In this case, the best match with the longest matching area-code prefix is the SOUTH_CLUSTER which is mapped to the area-code prefix “32”.
Therefore, the order will be allocated first from locations present in the SOUTH_CLUSTER,, i.e. locations WH5, WH6, and WH7. Also, since there are multiple locations within the matching cluster, the minimize-shipment algorithm will be used to identify the order in which the three locations would be tried for allocation.
Example of Minimize Shipments Algorithm
Assume that the distribution of inventory for two SKUs across 3 warehouses is as follows:
Now, suppose an order is placed with ordered quantities: SKUA: 1, SKUB: 2. On running the minimize-shipment algorithm for this order, the first location that will be picked for sub-order creation will be the one which has the maximum total allocatable quantity. For the given order, the total allocatable quantities are: WH1: 3, WH2: 2, WH3: 2. Therefore, WH1 would be used to create the first sub-order.
In case any ordered quantity was left over after the first sub-order creation, the allocatable quantities would be recalculated and the next choice of location for sub-order creation would be decided.
Find Serviceable Clusters for Area Codes
In order to see which clusters would be used and in which order when running minimize-delivery for an order, a new screen “Find Serviceable Clusters for Pincode” has been added under the “Area-Cluster Mapping” screen. On specifying the delivery pincode of the order, the list of custom clusters that will be used for sub-order creation will be displayed
Fig: Screen for finding serviceable clusters for a pincode
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article