Slot-based inventory: variant inventory pooling

I’m taking another tilt at a windmill: “slot-based” inventory or variant inventory pooling as a platform feature in Shopify.

We’re a small clothing manufacturer. All our products are made to order. When we sew a garment, we also make it fit well for a specific customer. Taking some tricks from the Toyota manufacturing playbook, we’ve been able to create a garment factory here, in Portland, that can produce made-to-measure clothing as efficiently as “standard” sizes. This is big deal for the fashion industry; somewhere between 40% and 60% of clothing made never gets bought. Overproducing clothing because we can’t guess what people will buy is one of the culprits. Even when we guess demand correctly, if we make clothing that doesn’t fit, it won’t sell.

Shopify could help us tackle this, but the platform doesn’t support inventory for a made-to-order business, where multiple “variants” are all pulled from a shared inventory pool. Yes, I can only offer one variant, say “made-to-measure,” but problems downstream ripple from that approach: our ad and social shopping infrastructure feeds require a variant-based catalog with a size taxonomy in order to sell our clothing.

Here’s an example: https://shop.dillonmontara.com/collections/mens/products/mens-chore-coat-black The “size” buttons are purely advisory for us; we can make a coat in a “stock” size, as described in the size chart, or can change the pattern for an individual. For instance, if you’re tall, fit our “size” medium, but can never get sleeves long enough, we’ll give you longer sleeves. We don’t mind, as it takes us the same amount of time to make the jacket, even if we change the pattern for you. The variant buttons are on the product page because you understand “sizes” when you’re buying clothing.

Behind the scenes, my “inventory” is gated by the amount of fabric I have for a particular garment style. Gender and size don’t matter much to our inventory tracking. If I have enough fabric for 20 coats, I can only sell 20 coats, no matter whether they’re men’s or women’s styles or what size they are. I cannot run past my inventory, because I may only have enough fabric for a fixed number of pieces. (And yes, my example above only has one variant under the covers, so I get faux inventory pooling. But, I can’t bridge inventory between the men’s and women’s products, even though they’re cut from the same roll of fabric.)

To forestall any suggestions that we just use an app for this, let’s look at the performance envelope needed, and why app-based inventory management will not work. It takes Shopify a long time to send an order to an app, in the range of 14-20 seconds. Fast apps can usually take under a second to process requests, and then any inventory updates will take about half a second for each item updated. (Timing as of last June.) In my business, we typically need to share an inventory pool across two products, each with at least 7 size variants. All told, that’s 22-28 seconds of latency from sale capture to finishing inventory updates. For any time-critical use, this won’t work, even before you account for possible race conditions from overlapping updates and API throttling.

And in our case, we do clothing that might be made from scarce or deadstock fabrics, and the pieces are sometimes very popular. We can sell out of a run very quickly. “Time-critical” might mean selling through those 20 coats before the first sale transaction even reaches the inventory app.


So, Team Shopify: give us a solution for slot-based inventory instead of variant-based. (There might even be a low-hanging solution for this. The platform already tracks SKU uniqueness, but doesn’t enforce it. Add a product-level switch to track inventory against a SKU rather than a variant ID. It would require linking inventory updates for all IDs sharing a SKU.)

As a manufacturer, I’ve been kludging around this problem since I launched my first apparel site on Shopify more than a decade ago. You have a chance to do some good for the fashion industry. Give us a platform that lets us deliver on the promise of made-to-order for the world.

(As a sweetener, I’ll make a chore coat in Japanese denim for every dev involved in writing the code, on me.)

Rick Levine

apparelwerks.com / dillonmontara.com

Hey Rick,
This is certainly an interesting problem and you have an interesting company.

If I understand you correctly, what I think you need is a way to track the inventory of materials, calculate the amount of each materials being used in an order (across a single item if it has multiple fabrics, etc, and across that order if there are multiple items) and when the sale is made reduce the material inventory.

This would certainly open the doors for other types of products to be sold in Shopify, but I don’t think they would jump on this any time soon. So your best solution is to build a custom app for your store.

I think this can be achieved using Shopifys current system, but with a custom app. You would have to quantize your material in such a way that the calculation of the amount of fabric used in a custom item can somewhat accurately reduce the inventory amount. For example: if you have 100 yds of denim, and you can quantize id by cm, and that way for each square cm of it being used you can remove that amount from the inventory (I realize this is simplistic because of the dimensions of the fabric and other factors).

This way you’re not tracking the inventory of units of products (shirts, pants, etc) but of material needed to create the product. This would require a custom storefront and possibly a custom app to handle the back end.

It is certainly an interesting problem that would take some novel thinking. Good luck!

Hi Ricky,

Sorry, but that’s not what I’m asking for. You’re describing an MRP system, for managing materials and processes in a manufacturing environment. I agree that’s not a Shopify thing, and it isn’t something I would expect to implement in a commerce platform.

We just need pooled inventory across variants and across products.

As for using an app solution, I described why that won’t work in my post.

Thanks for your note!

Rick

oh ok, sorry for the confusion on my part.

1 Like

No prob. Manufacturing inventory processes are definitely complicated, and fortunately we can separate them from the stuff we sell and “simple” inventory. :slight_smile:

Thanks for thinking about the problem.

Rick

1 Like