Blog · Finance metrics and formulas · Consumer goods
Calculate promotion ROI from actual contribution, a stated baseline and the full promotional investment. A worked CPG example separates discounts already in net sales from additional promotional costs and reconciles the profit result.
Promotion ROI measures the incremental profit left after discounts and promotional costs, divided by the agreed investment in the event. Compare actual contribution with what the same SKU and account would have contributed without the promotion. Extra units alone do not establish a profitable return.
For a CPG finance team, the practical question is whether a retailer event earned enough additional contribution to cover the concessions and separate spending. The general marketing ROI versus ROAS guide explains the revenue-versus-profit distinction; this calculation applies it to discounted units and trade spend.
Use this convention consistently across promotions:
Net incremental profit = actual contribution after discounts − baseline contribution − separate promotional costs
Promotion investment = discount concessions + separate promotional costs
Promotion ROI = net incremental profit / promotion investment
Contribution deducts product and variable fulfillment costs from net sales, before the separate promotion costs below. Discount concessions are the difference between normal and promotional selling prices multiplied by actual units sold at the promotional price. This investment definition includes concessions on baseline units as well as additional units.
Discounts reduce the numerator through net sales. Their appearance in the denominator defines the investment being evaluated; it does not deduct them from profit again. Other conventions use only separate cash spending as the denominator. Do not compare those percentages without restating both on a common basis.
The IRS gross-profit guidance illustrates subtracting refunds, rebates and allowances from receipts before deducting cost of goods sold. The managerial calculation here then deducts the agreed variable fulfillment costs as well.
Keep account, SKU, transaction date, units, normal price, net realized price, product cost and variable delivery cost. Add the promotion identifier, approved baseline units and separate cost records, including accrued retailer deductions. Exclude sales tax from revenue.
Use the same account, SKUs and observation window for actual and baseline contribution. The net-lift worked example owns the baseline, promotion lift and post-promotion dip method. Bring its approved baseline and completed observation window into the profit calculation rather than rebuilding that method here.
Keep shipments and consumer purchases labeled. A shipment surge may reflect inventory accumulation; the sell-in against sell-out guide explains that separate check. Do not multiply consumer units by the manufacturer's invoice price unless the quantity basis has been reconciled.
A fictional US snack producer evaluates two SKUs over a completed event window. Quantities are reconciled manufacturer revenue units, including the agreed post-event period. Baseline units are the approved no-promotion estimate. Prices and variable costs are per unit; dollars are USD.
Enter these inputs in columns A through G, starting in row 2:
| A: SKU | B: Baseline units | C: Actual units | D: Normal price (USD) | E: Net price (USD) | F: Variable cost (USD) | G: Separate spend (USD) |
|---|---|---|---|---|---|---|
| Crackers | 10,000 | 16,000 | 5.00 | 4.50 | 2.00 | 3,000 |
| Granola | 8,000 | 12,000 | 6.00 | 5.50 | 3.00 | 3,000 |
Separate spend includes allocated display and field costs; the price reductions are already in column E. There are no additional returns or rebates in this example. In a real export, incorporate those into realized revenue before calculating contribution.
Calculate columns H through M and fill down:
H2 = B2*(D2-F2)
I2 = C2*(E2-F2)
J2 = C2*(D2-E2)
K2 = I2-H2-G2
L2 = J2+G2
M2 = IF(L2=0,NA(),K2/L2)
| SKU | H: Baseline contribution (USD) | I: Actual contribution (USD) | J: Discounts (USD) | K: Net incremental profit (USD) | L: Investment (USD) | M: ROI |
|---|---|---|---|---|---|---|
| Crackers | 30,000 | 40,000 | 8,000 | 7,000 | 11,000 | 63.6% |
| Granola | 24,000 | 30,000 | 6,000 | 3,000 | 9,000 | 33.3% |
| Total | 54,000 | 70,000 | 14,000 | 10,000 | 20,000 | 50.0% |
Round displayed percentages to one decimal; calculate with unrounded values. Total ROI is total profit divided by total investment:
=SUM(K2:K3)/SUM(L2:L3)
For a larger cost register, SUMIFS supports summing charges that match multiple criteria. Match the promotion and SKU before allocating shared costs, and retain the allocation basis. Covirage is not affiliated with Microsoft.
Actual contribution less baseline contribution is $70,000 − $54,000 = $16,000. Subtract $6,000 of separate spend to obtain $10,000 of incremental profit. Dividing by $20,000 of investment gives 50.0%.
A second route must agree. Actual units at normal prices would contribute $48,000 for crackers and $36,000 for granola, totaling $84,000. Subtract baseline contribution of $54,000, discounts of $14,000 and separate spending of $6,000: the result is again $10,000. This is an arithmetic reconciliation, not proof that the baseline estimates causal lift.
Finance should tie net sales and costs to the ledger, while account management confirms the event terms and deductions. Category management reviews the baseline assumption. A disagreement about the no-promotion outcome belongs beside the result, rather than disappearing inside a precise percentage.
Bring your sales, baseline and trade-spend exports to Covirage, including the discount treatment and account-SKU identifiers. Covirage maps the columns, and its tools compute and check the figures; the external AI model explains the result with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See Covirage for CPG brands for the wider account and product context.
Yes, their economic effect must be included. When revenue already uses the discounted selling price, discounts have already reduced contribution. You may include those concessions in the investment denominator, but subtracting them again from that contribution would understate profit. State the convention alongside the percentage.
Yes. Extra units may leave too little margin to cover discounts on units customers would have bought anyway, display fees and other promotional costs. Compare actual contribution with baseline contribution for the same scope before deciding whether the extra volume paid for the event.
Include the price concessions and separate costs within the agreed event scope. Separate costs can include displays, retailer fees, incremental field labor and creative work. Product and variable fulfillment costs belong in contribution. Reconcile deductions and accruals so the same retailer charge appears only once.