Free · local calculation · no signup

The free item still has a cost.

For a buy-X-get-Y-free offer, count the price of the paid items and the cost of every item delivered. Then compare the bundle with your normal contribution.

How the calculation works

bundleRevenue = buyUnits * unitPrice

bundleCost = (buyUnits + freeUnits) * unitCost

bundleContribution = bundleRevenue - bundleCost

effectiveDiscountPct = freeUnits / (buyUnits + freeUnits) * 100

bundleMarginPct = bundleContribution / bundleRevenue * 100

requiredBundles = baselineUnits * (unitPrice - unitCost) / bundleContribution

A positive bundle contribution does not establish that the offer improves profit. The required volume depends on what customers would have bought without it.

A worked example

A €60 item costing €24 contributes €36 at full price. Buy one, get one free collects €60 but incurs €48 cost, leaving €12 per bundle and a 20% bundle margin. Matching the contribution from 1,000 full-price unit sales requires 3,000 BOGO bundles, delivering 6,000 units.

Use it carefully

  • The model assumes identical unit prices and costs for paid and free items.
  • A positive baseline contribution requires positive bundle contribution to have a finite sales-volume break-even.
  • Round requiredBundles up for a whole-bundle target; label units and bundles separately.
  • For buy one get one free, a 50% initial product margin leaves zero product contribution before any extra order costs.
  • For different paid and free products, enter each product's separate cost in a campaign model instead of using this identical-item calculator.
  • Order-level payment or shipping costs need separate treatment when they do not scale with the number of units.

Common questions

Is BOGO a 50% discount?

For two identical items where one is paid and one is free, the average price per delivered unit is half the regular price. Customer basket behavior can differ from a 50% discount on a single unit.

Why are bundles and units separated?

One bundle can contain several units. Comparing a bundle count directly with a baseline unit count hides how much inventory and cost the offer consumes.

Related calculations

Further context: Shopify: Buy X get Y discounts. Equations and examples were independently prepared for this calculator.

Need to compare a whole promotion portfolio?
Bring a CSV to the MarginTrial workbench for contribution bridges, scenarios, and report exports.