Bundle
Bundle economics for ecommerce teams: price each bundle on blended margin after component cost and cannibalization, then keep it, swap a component, or retire it.
Bundles are usually assembled by intuition and priced by rounding down, which makes them one of the easiest places in a catalog to lose margin without noticing. Two effects hide the damage. The blended margin depends on which component is actually driving the sale, and if that is the high margin item then the bundle is a discount on your best product. And bundles cannibalize: some share of those units would have sold individually at full price. This skill prices each bundle on blended margin after component cost, estimates the cannibalization, and returns keep, swap a component, or retire.
What It Does
- Computes blended contribution margin per bundle after every component cost.
- Estimates how many bundle units would have sold individually at full price.
- Identifies which component is driving the sale and which is riding along.
- Tests swapping a component for one with better margin or better stock cover.
- Compares each bundle against the same products sold separately.
- Returns keep, swap, or retire with the margin difference attached.
Use Cases
- Find the bundle that is quietly discounting your highest margin product.
- Swap a component for one with stock cover you actually need to move.
- Decide whether a bundle is incremental or just a cheaper way to sell the same units.
- Review the bundle lineup before a peak trading period rather than after.
Example Session
Are our bundles making money, and should any of them change?
Four bundles are live. Two earn, one is a discount on your best product, one should change a component.
- Bundle | Units | Price | Blended margin | Cannibalization | Verdict
- Starter set | 1,240 | $89 | 38% | 12% | Keep
- Premium duo | 410 | $155 | 21% | 61% | Retire
- Gift box | 890 | $70 | 31% | 9% | Keep
- Care kit | 620 | $45 | 19% | 22% | Swap component
The premium duo is the expensive one: 61% of those units would have sold individually at full price, so most of that discount bought nothing. Retire it. The care kit earns too little because its second component carries a 12% margin: swap it for the travel size, which has eight weeks of excess cover, and the blended margin lands near 30% while clearing stock you need to move anyway.
Why This Beats Prompting It Yourself
Bundle Revenue vs Blended Margin: The Hidden Risk
A generic prompt evaluates a bundle on units and revenue, both of which a bundle reliably increases. What it cannot see is which component is driving the sale, how much of that volume would have sold at full price anyway, and what the blend does to margin once every component cost is in. A bundle can sell well and lose money on every unit.
When You Still Need The Cannibalization Number
A bundle is only worth its incremental units. This skill states 61% cannibalization against a 21% blended margin, which is the pair of numbers that ends the discussion. The swap recommendations come from the same model, which is why they usually improve margin and stock cover at the same time rather than trading one for the other.
Known Limitations
Cannibalization is estimated from purchase patterns before and after the bundle launched, so a bundle that has always existed gives a wider estimate and the output says so. Component costs must be available per SKU for the blend to be accurate, otherwise it runs on gross margin and labels it. It recommends component swaps and does not rebuild the bundle in your store.
Install It
- Download the ZIP.
It is free and there is no account to create. - Unzip it into your agent's skills folder.
Claude Code reads ~/.claude/skills/, which is hidden by default: the command in the folder block opens it. Other agents scan their own directory, so drop the same folder there instead. - Ask your agent to use it.
Restart the agent if it was already running, then it picks the skill up with no config.
skills folder
Copy
~/.claude/skills/bundle/
SKILL.md
references/blend-model.md
reviews/
# one review per run, per bundle
# macOS: create the folder and open it in Finder
mkdir -p ~/.claude/skills && open ~/.claude/skills
# Windows: paste in the Explorer address bar
%USERPROFILE%\.claude\skills\Frequently asked questions
How is this different from looking at bundle sales?
Bundle sales always look good, because a bundle sells. This prices the blend after every component cost and estimates how many of those units would have sold individually at full price. Those two figures decide whether the bundle earned anything, and neither appears in a sales report.
Which agents does the skill run in?
Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision.
How does it estimate cannibalization?
From how the components sold individually before the bundle existed and how that changed after, adjusted for overall demand. Where a bundle has always been live the estimate widens and the output says so rather than presenting a confident number it cannot support.
What does it need connected to work?
Order line detail so bundle units can be separated from individual sales, and component cost per SKU. Without component cost it runs on gross margin and labels every blend figure accordingly.
Why does it suggest swapping components?
Because a bundle is one of the few places where you can improve margin and clear excess stock with the same change. The swap is tested against both, so the recommendation names a component you already need to move rather than simply the cheapest one.
What is included with the skill?
The skill itself, the blend model reference, the bundle review template, and the cannibalization method. It is free and security scanned. We re-publish the ZIP when the blend model changes, so download it again if your bundle margins stop reconciling.
A bundle either lifts margin or hides a markdown.
Polar reconciles component cost and blended margin across 45+ sources, so keeping, swapping or retiring a bundle is decided on what it actually earns.
<script type="application/ld+json">{"@context":"https://schema.org","@type":"FAQPage","mainEntity":[{"@type":"Question","name":"How is this different from looking at bundle sales?","acceptedAnswer":{"@type":"Answer","text":"Bundle sales always look good, because a bundle sells. This prices the blend after every component cost and estimates how many of those units would have sold individually at full price. Those two figures decide whether the bundle earned anything, and neither appears in a sales report."}},{"@type":"Question","name":"Which agents does the skill run in?","acceptedAnswer":{"@type":"Answer","text":"Any agent that supports the open SKILL.md format: Claude Code, Cursor, Codex CLI, GitHub Copilot, Gemini CLI, Manus, Grok and others load it unmodified. The format is portable, the location is not. Each agent scans its own skills directory, so you drop the same folder into whichever one yours uses. There is no config file to edit and no API key to provision."}},{"@type":"Question","name":"How does it estimate cannibalization?","acceptedAnswer":{"@type":"Answer","text":"From how the components sold individually before the bundle existed and how that changed after, adjusted for overall demand. Where a bundle has always been live the estimate widens and the output says so rather than presenting a confident number it cannot support."}},{"@type":"Question","name":"What does it need connected to work?","acceptedAnswer":{"@type":"Answer","text":"Order line detail so bundle units can be separated from individual sales, and component cost per SKU. Without component cost it runs on gross margin and labels every blend figure accordingly."}},{"@type":"Question","name":"Why does it suggest swapping components?","acceptedAnswer":{"@type":"Answer","text":"Because a bundle is one of the few places where you can improve margin and clear excess stock with the same change. The swap is tested against both, so the recommendation names a component you already need to move rather than simply the cheapest one."}},{"@type":"Question","name":"What is included with the skill?","acceptedAnswer":{"@type":"Answer","text":"The skill itself, the blend model reference, the bundle review template, and the cannibalization method. It is free and security scanned. We re-publish the ZIP when the blend model changes, so download it again if your bundle margins stop reconciling."}}]}</script>
