Methodology
Campaign Profitability Planner methodology
Educational only: Business decision support, not accounting, tax or legal advice.
Privacy: Calculations run locally; Margin101 does not receive your commercial inputs.
Update policy: Reviewed when formulas or official dependencies change.
Scope: Market-neutral small-business planning using your own assumptions.
1. Formulas and units
incrementalCustomers = attributed customers ร incrementalityWhere
- attributedCustomers
- Attributed customers (whole or operational units)Source: Business record
- incrementalCustomers
- Incremental Customers (units)Source: Calculated output
incrementalContribution = incremental customers ร contributionWhere
- incrementalCustomers
- Incremental Customers (units)Source: Calculated output
- incrementalContribution
- Incremental Contribution (money)Source: Calculated output
totalCampaignCost = media spend + fixed campaign costWhere
- mediaSpend
- Media spend (currency units on one consistent basis)Source: Business record
- fixedCampaignCost
- Fixed campaign cost (currency units on one consistent basis)Source: Business record
- totalCampaignCost
- Total Campaign Cost (money)Source: Calculated output
- fixedCampaignCost
- Fixed campaign cost (currency units)Source: Business record
campaignProfit = incremental contribution โ total campaign costWhere
- incrementalContribution
- Incremental Contribution (money)Source: Calculated output
- totalCampaignCost
- Total Campaign Cost (money)Source: Calculated output
- campaignProfit
- Campaign Profit (money)Source: Calculated output
roi = campaign profit รท total campaign costWhere
- totalCampaignCost
- Total Campaign Cost (money)Source: Calculated output
- campaignProfit
- Campaign Profit (money)Source: Calculated output
- roi
- Roi (percent)Source: Calculated output
breakEvenIncrementalCustomers = ceil(total cost รท contribution per incremental customer)Where
- contributionPerIncrementalCustomer
- Contribution per incremental customer (currency units on one consistent basis)Source: Business record
- incrementalCustomers
- Incremental Customers (units)Source: Calculated output
- incrementalContribution
- Incremental Contribution (money)Source: Calculated output
- breakEvenIncrementalCustomers
- Break Even Incremental Customers (units)Source: Calculated output
requiredAttributedCustomers = ceil(break-even incremental customers รท incrementality)Where
- attributedCustomers
- Attributed customers (whole or operational units)Source: Business record
- incrementalCustomers
- Incremental Customers (units)Source: Calculated output
- breakEvenIncrementalCustomers
- Break Even Incremental Customers (units)Source: Calculated output
- requiredAttributedCustomers
- Required Attributed Customers (units)Source: Calculated output
maximumSpend = max(0, expectedConversions ร contributionPerConversion โ fixedCampaignCost โ targetContribution)Where
- fixedCampaignCost
- Fixed campaign cost (currency units on one consistent basis)Source: Business record
- totalCampaignCost
- Total Campaign Cost (money)Source: Calculated output
- expectedConversions
- Expected conversions (whole conversions)Source: User assumption
- contributionPerConversion
- Contribution per conversion (currency units per conversion)Source: Business record
- fixedCampaignCost
- Fixed campaign cost (currency units)Source: Business record
- targetContribution
- Target contribution (currency units)Source: User decision
- maximumSpend
- Maximum media spend (currency units)Source: Calculated output
- maximumCostPerConversion
- Maximum cost per conversion (currency units per conversion)Source: Calculated output
- max
- Maximum operator (operator)Source: Calculated output
maximumCostPerConversion = maximumSpend รท expectedConversionsWhere
- expectedConversions
- Expected conversions (whole conversions)Source: User assumption
- maximumSpend
- Maximum media spend (currency units)Source: Calculated output
- maximumCostPerConversion
- Maximum cost per conversion (currency units per conversion)Source: Calculated output
Money inputs and outputs use the currency selected in the scenario without changing the canonical methodology. Rates, margins, utilisation and buffers are entered as percentages and converted to decimal values for calculation.
2. Worked example
Input assumptions
Worked values below come from the same registered engine and visible default assumptions.
Calculation and outputs
Example
Worked values below come from the same registered engine and visible default assumptions.
- Incremental Customers
- 140
- Incremental Contribution
- 5,600.00 currency units
- Total Campaign Cost
- 3,500.00 currency units
- Campaign Profit
- 2,100.00 currency units
- Roi
- 60%
- Break Even Incremental Customers
- 88
- Required Attributed Customers
- 125
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
Campaign profit applies the entered incrementality assumption to attributed customers before subtracting all campaign costs.
3. Validation and boundary checks
- All inputs must be finite and non-negative unless the formula explicitly permits a negative calculated profit or gap.
- Rates must remain between 0% and 100%; horizons and declared counts use the exact whole-number boundaries shown by the inputs.
- Zero denominators return an explicit unreachable state rather than Infinity, NaN or a numeric sentinel.
- Compared records must use one consistent attribution, contribution, period and currency basis.
4. Assumptions and source classification
- Retention, conversion, attribution and incrementality are user assumptions rather than causal claims.
- Customer value is contribution-based and bounded to the selected finite horizon.
- No provider rate, market benchmark, country rule or policy constant is embedded.
- The embedded budget workflow is the inverse spend-ceiling view of the same campaign contribution engine.
This planner has no current policy-data dependency. Its commercial assumptions are user supplied. Registered family-level regression suites exercise the shared business-logic engine and worked-result reconciliation.
5. Limitations
- The workflow does not forecast demand, retention, conversion or campaign performance.
- It does not replace financial, accounting, tax or legal advice.
This is educational decision support, not tax, accounting, legal or financial advice. Check the treatment of your actual transactions under the rules that apply to your business and seek qualified advice where appropriate.
6. Update and evidence policy
Registered family-level suites test formula invariants and example reconciliation; the release ledger records that coverage without claiming a separate oracle for every line of public copy. There is no official threshold or benchmark to refresh for this planner. Commercial inputs remain user-supplied because they vary by business and contract.
Change history
- : Initial public release of the planner and methodology after pre-launch calculation, content, source and interaction review.
Related reading
Guides to interpret the decision and its assumptions.
- Campaign Profit vs ROAS vs MER: A Comparison
Compare campaign profit, platform ROAS and explicitly defined blended MER by numerator, denominator, scope and contribution boundary.
Read guide