How the calculation works
baselineContribution = baselineUnits * (regularPrice - unitCost)
promotionContribution = promoUnits * (promoPrice - unitCost) - campaignCost + funding
contributionChange = promotionContribution - baselineContribution
revenueChange = promoUnits * promoPrice - baselineUnits * regularPrice
A positive change means the promotion beats the specified baseline after the included costs. It is not a statement about net accounting profit or proof that the promotion caused the extra sales.
A worked example
At a regular price of €50 and a variable cost of €25, 1,000 baseline units contribute €25,000. A €40 promotion selling 1,600 units, with €300 campaign spending and no funding, contributes €23,700. Revenue rises €14,000 while contribution falls €1,300.
Use it carefully
- Use comparable dates and a credible no-promotion baseline; the immediately preceding period may have different seasonality.
- Variable unit cost can include COGS, fulfilment and other costs that rise with each unit. Campaign cost should contain additional fixed spending, not the same cost again.
- The calculation covers the promoted item only. Add peer-product and later-period effects with the cannibalization calculator.
Common questions
Why can revenue rise while contribution falls?
The lower price reduces contribution on units that would have sold anyway. Additional sales must recover that lost contribution and the campaign spending.
Can I call the difference incremental profit?
Call it a contribution difference against the chosen baseline. A causal incremental-profit claim needs an identification strategy and the relevant costs and spillovers.
Related calculations
Further context: Shopify: cost per item and product margins. Equations and examples were independently prepared for this calculator.
Bring a CSV to the MarginTrial workbench for contribution bridges, scenarios, and report exports.