Is This Bundle Worth Keeping? A Test
Measure bundle performance with three numbers: margin per bundle order, the singles it replaces and component sell-through, then a keep, fix or drop rule.
A bundle that sells is not a bundle that earns. Bundles sell because the price is attractive, and the same attractive price is what pulls shoppers away from buying the items one at a time. When a bundle has a good week, the question that matters is what the store would have made that week without it. This page measures bundle performance with a test of three numbers, a decision rule that ends in keep, fix or drop, and one bundle worked end to end so you can check your own arithmetic against it. The inputs are numbers you already have: your costs, your order export and two reports in the Shopify admin.
The numbers in the worked example are invented for the example. They are not benchmarks and say nothing about what any store will see.
The three numbers
1. Contribution per bundle order. The bundle price minus the cost of every component, minus the cost of taking and shipping the order. This is what one bundle order leaves in the store. If you have not priced the bundle from cost yet, bundle pricing from cost gives the floor price; this test starts after that.
2. Single-item sales lost. The units of each component that stopped selling on their own after the bundle appeared, valued at what those single orders used to contribute. This is the cannibalization bill, and it is the number most readouts leave out.
3. Component sell-through. The share of each component's stock that has sold in the period. It tells you whether one component will run out and strand the bundle while another sits on the shelf.
The first number says whether a bundle order is worth having. The second says whether those orders were new. The third says whether the bundle can keep selling.
Where the numbers come from
Shopify's Help Center gives you most of the raw material. The Inventory reports page lists a "Products by sell-through rate" report, which it describes as the percentage of total inventory sold in the selected period, calculated as the quantity of items sold divided by the sum of items sold and items still in inventory. The same page lists "Inventory remaining per product," an estimate of how many days tracked inventory will last based on average daily sales over the last 28 days. The Sales reports page lists "Total sales by product," which breaks down sales by product and does not include shipping.
For the bundle itself, the Sales reports page says its bundle reports show data only if you sell bundles through the Shopify Bundles app. If your bundle is built another way, count bundle orders from the order export. Shopify's page on exporting orders says the export is a CSV; an export of up to 50 orders downloads directly and a larger one is emailed. It also says the discount code column does not include automatic discounts, so do not count a bundle by its discount code. Count it by the line item name. We did not find a plan limit for any of these reports on the pages we read, so open the reports in your own admin to confirm that they appear on your plan.
Costs are yours. Use landed cost per unit and one flat figure for payment fees and packing per order. State both inputs at the top of the sheet and keep them fixed through the test.
Matched weeks, or a holdout
A bundle result is only meaningful against a comparison. The simplest is matched weeks: the weeks with the bundle against the same number of weeks without it, from a similar part of the calendar. How to measure whether a promotion worked covers how to pick the comparison window and how to catch pull-forward, and incrementality for small stores covers a holdout, which compares two groups in the same window and is the stronger test when the decision is big. This page assumes you have one of them and shows what to do with the numbers.
One bundle through the test
A serum and a cream, sold alone and as a classic bundle. Inputs: serum price 40 dollars and landed cost 14 dollars; cream price 32 dollars and landed cost 11 dollars; bundle price 60 dollars; fees and packing 4.50 dollars per order. One unit per order, to keep the arithmetic readable.
Number 1: contribution per order.
- Serum single: 40 minus 14 minus 4.50 is 21.50 dollars.
- Cream single: 32 minus 11 minus 4.50 is 16.50 dollars.
- Bundle: 60 minus 14 minus 11 minus 4.50 is 30.50 dollars.
The bundle order leaves 30.50 dollars, more than either single order, because it sells two products on one set of fees and packing. That shared cost is the reason a bundle can afford a discount at all.
Number 2: singles lost. Four matched weeks before the bundle: 120 serum singles and 90 cream singles. Four weeks with it: 75 serum singles, 60 cream singles and 70 bundle orders.
| Before | With the bundle | Change | |
|---|---|---|---|
| Serum singles | 120 | 75 | minus 45 |
| Cream singles | 90 | 60 | minus 30 |
| Bundle orders | 0 | 70 | plus 70 |
| Serum units in all | 120 | 145 | plus 25 |
| Cream units in all | 90 | 130 | plus 40 |
The lost singles are worth 45 times 21.50 plus 30 times 16.50, which is 967.50 plus 495.00, or 1,462.50 dollars of contribution. The 70 bundle orders add 70 times 30.50, or 2,135.00 dollars. The net is 2,135.00 minus 1,462.50, which is 672.50 dollars over the four weeks.
Check it the long way: before, 120 times 21.50 plus 90 times 16.50 is 2,580 plus 1,485, or 4,065 dollars. With the bundle, 2,135 plus 75 times 21.50 plus 60 times 16.50 is 2,135 plus 1,612.50 plus 990, or 4,737.50 dollars. The difference is 672.50 dollars, which is the same answer.
Number 3: sell-through. Suppose 255 serums and 170 creams remain after the four weeks. Serum: 145 sold divided by 145 plus 255 remaining is 36.3 percent. Cream: 130 divided by 130 plus 170 is 43.3 percent. The gap is 7.1 percentage points.
A keep, fix or drop rule
This is our rule, not a standard. Change the thresholds if your business needs different ones, but write them before you read the numbers, not after.
- Keep if the net contribution is at least 5 percent of the baseline contribution for the same weeks, and the sell-through gap between components is 10 points or less.
- Fix if the net is between minus 5 and plus 5 percent of baseline, or the gap is more than 10 points. A small net calls for a price or contents change; a wide gap calls for stock changes or a swap of the faster component.
- Drop if the net is below minus 5 percent of baseline in two matched periods in a row. One bad period can be the calendar, and two is a pattern.
In the example, 5 percent of the 4,065 dollar baseline is 203.25 dollars. The net of 672.50 dollars is 16.5 percent of baseline and the gap is 7.1 points, so the bundle is a keep.
Change one input and the answer changes. Suppose the bundle had pulled more singles, leaving only 60 serum singles and 40 cream singles with the same 70 bundle orders. The lost singles are then 60 times 21.50 plus 50 times 16.50, which is 1,290 plus 825, or 2,115 dollars, and the net is 2,135 minus 2,115, which is 20 dollars, or 0.5 percent of baseline. Same sales, same bundle price, and the decision is fix: the bundle is mostly moving existing buyers into a cheaper order.
What to do on a fix
A thin net usually has two causes, a discount that is too deep for the saving in fees and packing, or a bundle made only of items that already sell well alone. Raise the bundle price a little, or add an item that does not sell on its own, and run another matched period. Our post on gift sets that do not cannibalize the singles covers the second fix in detail.
Building a classic bundle
When the bundle is worth keeping, rebuild it with the Classic bundle template, described in the template index as fixed products sold together at a bundle price. Start from the price your three numbers support, set the contents to the pair you tested and put a note in your calendar for the next matched period. The call-to-action below prints the plan requirements for the template.
Sources
- Shopify Help Center: Inventory reports (accessed October 10, 2026)
- Shopify Help Center: Sales reports (accessed October 10, 2026)
- Shopify Help Center: Exporting orders (accessed October 10, 2026)