Customer acquisition economics
See what you can afford to pay for a customer, lead and click, the budget you need, and whether the business remains profitable. Calculations run in your browser; your data is not sent to a server.
Check your input
This is the previous result. Update the inputs and select “Calculate” again.
Result
Your scenario
Duplicate the base calculation and change 1–3 inputs by a visible amount (up to ±50%).
Worked example
Average order value RUB 5,000, variable costs RUB 2,000, taxes and fees RUB 500, three purchases per customer, allowed margin share 40.0%, lead-to-customer conversion 20%, click-to-lead conversion 5%, and a revenue target of RUB 500,000 .
- Contribution margin per sale: RUB 2,500; LTVc: RUB 7,500.
- Break-even CAC: RUB 7,500; target CAC: RUB 3,000.
- Target CPL: RUB 600; target CPC: RUB 30.
- The plan needs 100 first sales, 500 leads and 10,000 clicks; budget RUB 300,000.
- Profit from the first purchase: RUB -50,000; over all purchases: RUB 450,000.
Formulas and units
M1 = AOV − VC − TR— Contribution margin per sale.LTVc = M1 × N— Customer contribution over the selected horizon.breakEvenCAC = LTVc— Maximum CAC at which all contribution goes to acquisition.targetCAC = LTVc × S— Target CAC at the allowed margin share S.targetCPL = targetCAC × leadToSaleCR— Target cost per lead.targetCPC = targetCPL × clickToLeadCR— Target cost per click.salesNeeded = ceil(targetRevenue / AOV)— First sales needed to meet the revenue target.leadsNeeded = ceil(salesNeeded / leadToSaleCR)— Leads needed to meet the sales target.clicksNeeded = ceil(leadsNeeded / clickToLeadCR)— Clicks needed to meet the lead target.plannedAdBudget = salesNeeded × targetCAC— Estimated advertising budget.CAC = adSpend / customers— Actual customer acquisition cost.CPL = adSpend / leads— Actual cost per lead.CPC = adSpend / clicks— Actual cost per click.ROAS = attributedRevenue / adSpend— Return on advertising spend (shown as a percentage).ROMI = (attributedContributionProfit − adSpend) / adSpend— Return on marketing investment based on contribution.LTVtoCAC = LTVc / CAC— Contribution generated per ruble of acquisition cost.profitAfterAds = customers × LTVc − adSpend— Profit after variable costs and advertising.margin = (price − unitCost) / price— Margin: profit as a share of price.markup = (price − unitCost) / unitCost— Markup: profit relative to unit cost.priceFromTargetMargin = unitCost / (1 − targetMargin)— Price required for the target margin.requiredVolumeMultiplier = oldContribution / newContribution— Volume growth multiple required after a discount.breakEvenUnits = ceil(fixedCosts / contributionPerUnit)— Break-even point in units.breakEvenRevenue = breakEvenUnits × price— Revenue at the break-even point.paybackPeriods = CAC / contributionPerPeriod— Customer payback time in explicit time units.
Values are rounded for display only; enter percentages on a 0–100 scale. See themethodology.
Formula version: 1.0 · checked 2026-09-26.