How Kit Availability Is Calculated

Introduction

When you want to sell a set of products, such as a box of candy, or 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.

Creating and managing kits in ShipHero is detailed in the help article Creating and Managing Kits.

This article gets into the deeper technical details of how kit availability is calculated.

The Chocolate Gift Basket

To understand a kit, let's use an example of a Chocolate Gift Basket. (Seemed to be the best example we could think of!).

The Chocolate Gift Basket contains the following products:

  • Belgian Chocolate Bar. (There are 200 available)
  • German Chocolate Bar. (There are 500 available)
  • Swedish Chocolate Bar (There are 4000 available)

There are 200 available Chocolate Gift Baskets available. This is based on the lowest available number of it's components, in this case, the Belgian chocolate bar at 200.

Calculating How Many Kits Can Be Sold

ShipHero makes managing Kits an easy process. In addition to managing your kits, ShipHero will also calculate how many times a kit can be fulfilled based on the inventory of all of it's components. This is extremely important when selling kits as you don't want to oversell any of the components of a kit.

Tracking Sets of Products Typically Is Very Time Intensive

Tracking the availability of kits manually is an extremely time intensive task. Each component count of a kit needs to be tracked, and managed, along with updating of kits availability.

This Is Also Technically Challenging at Scale

ShipHero does all of this automatically, which saves a lot of time both because it eliminates all the manual tasks of managing sets of products as well allowing the use of products to be sold individually or as part of other sets of products.

There is a technical challenge when doing this automatically however, and the ShipHero engineering team are constantly improving how the updates are processed and calculated.

Going back to our Chocolate Gift Basket. If one of the products contained in that gift basket is sold individually, or it's inventory is adjusted, this could affect the availability count of the Chocolate Gift Basket. This can be extremely process intensive when managing multiple kits, with multiple components within multiple kits.

How ShipHero Solves This at Scale

There are 2 types of updates that ShipHero processes for inventory updates.

  1. Realtime: When a product (SKU) is adjusted, ShipHero will publish it's updated availability to any connected store.
  2. 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 it's availability.

Realtime Updates vs Scheduled Updates

Let's check back on the Chocolate Gift Basket. As a reminder, it's components are:

  • Belgian Chocolate Bar. (200 available)
  • German Chocolate Bar. (500 available)
  • Swedish Chocolate Bar (4000 available)

Scheduled Updates Occur for Higher Inventory Counts
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 in which each product is selling and determines if a recalculation of every kit needs to occur containing that product.

Realtime Updates Occur for Lower Inventory Counts
At 4000 available, there's an extremely low risk of overselling a gift basket, therefore a realtime recalculation of gift basket availability is not required.

As soon as the availability of the Belgian Chocolate bar reaches a threshold where realtime updates need to occur to avoid oversell, ShipHero recalculates kit availability in realtime.

To Recap

To recap, ShipHero solves the problem of managing sets of products, especially solving the challenge of managing products that are 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 realtime updates depending upon the condition of each product count in inventory.