When you want to sell a set of products, such as a box of candy, or a set of socks, you need a method to manage the set. Kits give you the option of creating sets of products that can then be sold and fulfilled. This article goes into the deeper technical details of how kit availability is calculated.
Calculating How Many Kits Can Be Sold
To better understand a kit, let's use an example of a chocolate gift basket. The chocolate gift basket kit contains the following components:
- 1 Belgian chocolate bar (200 units available)
- 1 German chocolate bar (500 units available)
- 1 Swedish chocolate bar (4000 units available)
In this case, there are a total of 200 gift basket kits available. This is based on the lowest available number of its components, the Belgian chocolate bar with 200 units.
If one of the component products in that chocolate gift basket is sold individually or its inventory is adjusted, this could affect the availability count of the gift basket kit. Manually tracking this can be highly process-intensive, particularly when managing multiple kits with numerous components within various kits.
How ShipHero Solves this at Scale
ShipHero makes managing kits an easy process. In addition to managing your kits, ShipHero will also automatically calculate how many times a kit can be fulfilled based on the inventory of all of its components. This is extremely important when selling kits, as you don't want to oversell any of the components of a kit.
Because this is all automatic, ShipHero saves time by eliminating all the manual tasks of managing sets of products and allowing component products to be sold individually or as part of other sets of products.
Realtime and Scheduled Inventory Updates
The automatic tracking of kit availability presents a technical challenge, and the ShipHero engineering team is constantly improving how these availability updates are processed and calculated.
Currently, there are two methods that ShipHero uses to process inventory updates:
- Realtime: When a product (SKU) is adjusted, ShipHero will publish its updated availability to any connected store.
- Scheduled: Regularly timed process tasks run to monitor and publish changes that take place with products to make sure connected stores, kits, purchase orders, and inventory correctly reflects changes that are taking place.
To balance speed and scale, ShipHero identifies the velocity of how individual SKUs are selling and manages the updates processed and published for that SKU based on its availability. In general:
- Realtime updates occur for lower inventory counts.
- Scheduled updates occur for higher inventory counts.
Let's return to the chocolate gift basket example. As a reminder, its components are:
- 1 Belgian chocolate bar (200 units available)
- 1 German chocolate bar (500 units available)
- 1 Swedish chocolate bar (4000 units available)
Assume that the Swedish chocolate bar is also included in 80 other different gift baskets. Recalculating the availability of every one of those gift baskets is process-intensive and takes time. ShipHero calculates the rate at which each product is selling and determines if a recalculation of every kit needs to occur containing that product.
Because there are 4000 Swedish chocolate bars, there's a minimum risk of overselling them; therefore, real-time updates of gift basket availability are not required. For this high inventory count, ShipHero can calculate kit availability using scheduled inventory updates in order to save time.
On the other hand, there are much fewer Belgian chocolate bars. As soon as the availability of Belgian chocolate bars reaches a minimum threshold, ShipHero will recalculate kit availability using real-time updates in order to avoid overselling.
Kit Availability Recap
To recap, ShipHero solves the problem of managing sets of products, especially the challenge of managing products contained within multiple sets—or as we call them, kits and components.
ShipHero balances the complexity of managing availability based on inventory updates at scale by deploying a combination of scheduled updates and real-time updates depending upon the condition of each product count in inventory.