In a bundle-heavy store, one component SKU quietly feeds several kits at once. Your Shopify bundle inventory looks healthy right up until that one shared component hits zero — and suddenly every kit containing it is unsellable. Here's the component-demand math that catches it early, with a worked example you can copy.
A practical guide from the team behind Replenish · updated for 2026
A bundle stockout never breaks just one product. The bundle itself goes dark the moment any single component runs out — and because the same component usually sits in more than one kit, a single SKU hitting zero can take three or four saleable products offline at the same time. If that component happens to be in a subscription box, the stakes climb again: a missed shipment isn't one lost sale, it's recurring revenue put at risk.
The frustrating part is that your low-stock alerts probably never fired. A flat per-SKU alert watches each component's own sales rate — it has no idea the component is also being drained through every bundle that contains it. The fix isn't more alerts. It's computing the component's true demand, bundles included, and setting the reorder point on that number.
Because a component did — and the component was selling far faster than any single report showed.
A bundle is sellable only while every component is in stock. So bundle availability is hostage to the weakest component — and the weakest component is usually the shared one, because it's being consumed from several directions at once:
Shopify decrements the inventory correctly when bundles sell. What it doesn't do is tell you the component's combined burn rate — so a low-stock threshold set against standalone sales watches the slowest of the demand streams and misses the rest. The alert flags one SKU, late; several products break at once.
Every bundle sale decomposes into component demand. Add up all the streams and you get the component's real velocity.
Three inputs, all already in your store data:
If a kit sells 5 a day and uses 2 of the component per kit, that bundle alone pulls 10 components a day — on top of whatever the component sells directly. Miss that decomposition and every downstream number (days of stock, reorder point, order quantity) is computed against a fiction.
Take one shared component — say a bottle of vanilla syrup that's sold solo and also goes into four gift kits.
Same reorder point formula as any other product — the only change is which velocity you feed it.
Run the syrup through it with a 14-day supplier lead time and 7 days of safety stock:
Now the same calculation on the standalone 3/day: 3 × (14 + 7) = 63 units. That trigger looks reasonable on paper — but 63 units is under 6 days of cover at the real 11/day rate, against a 14-day wait. Order at 63 and you're dark for roughly 8 days, across every kit that uses the syrup.
And how much to order? Order on time — the day stock touches the 231-unit reorder point — and the quantity works out to exactly your lead-time demand at the total rate: 11/day × 14 days = 154 units. The point is the trigger; the lead-time demand is the order. The full when-vs-how-much logic (including safety stock and what happens when you order late) is in our guide to when to reorder inventory on Shopify.
Two mistakes cause almost every one of them — and both live in the inputs, not the formula.
The component's own sales page says 3/day, so that's what goes into the spreadsheet — while four kits quietly pull another 8/day through the back door. Every number downstream inherits the error: days of stock reads 13 when it's under 4, the reorder point lands at 63 instead of 231, and the alert fires after the kits are already dark.
Bundle-heavy stores often have one imported ingredient or part with a long lead time — say 21 days — sitting inside kits that sell daily. At the true 11/day, the reorder point is 11 × (21 + 7) = 308 units. Computed on the standalone 3/day it's 84 — under 8 days of cover at the real rate against a 21-day wait. That's roughly 13 days with every kit containing that component unsellable.
You can maintain this in a spreadsheet: one row per component, one column per bundle, re-checked every day as velocities drift. For a handful of kits it works. Past that, it's exactly the kind of bookkeeping software should own. That's what Replenish does: it reads your Shopify sales history and bundle definitions, decomposes every bundle sale into component demand, and computes each component's reorder point on its total velocity — with the per-bundle breakdown visible, not buried:
Because the numbers are deterministic arithmetic — not an AI guess — you can verify every line against the math on this page. Bundle-aware demand ships in the Growth plan ($29/mo); every plan starts with a 14-day free trial.
Replenish decomposes every bundle sale into component demand and computes each reorder point on the component's true total velocity — with the math shown for every recommendation. Built as a Stocky replacement, from $10/mo.
Install Replenish on ShopifyFrom $10/mo · 14-day free trial on every plan · no credit card required during trial