Methodology
Delivery App Commission Profit 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
percentageCommissionExTax = gross sales × commission rateWhere
- commissionRate
- Percentage commission (decimal fraction of gross channel sales charged as commission)Source: User assumption
- percentageCommissionExTax
- Percentage commission (currency units, ex tax)Source: Calculated output
fixedCommissionFeesExTax = orders × fixed fee per orderWhere
- fixedFeePerOrderExTax
- Fixed fee per order (currency units/order, ex tax)Source: Business record
- fixedCommissionFeesExTax
- Fixed commission fees (currency units, ex tax)Source: Calculated output
totalChannelFeesExTax = percentage commission + fixed commission feesWhere
- commissionRate
- Percentage commission (decimal fraction of gross channel sales charged as commission)Source: User assumption
- percentageCommissionExTax
- Percentage commission (currency units, ex tax)Source: Calculated output
- fixedCommissionFeesExTax
- Fixed commission fees (currency units, ex tax)Source: Calculated output
- totalChannelFeesExTax
- Total channel fees (currency units, ex tax)Source: Calculated output
retainedRevenueExTax = gross sales − total channel feesWhere
- grossChannelSalesExTax
- Gross channel sales (currency units/channel period, ex tax)Source: Business record
- totalChannelFeesExTax
- Total channel fees (currency units, ex tax)Source: Calculated output
- retainedRevenueExTax
- Retained channel revenue (currency units, ex tax)Source: Calculated output
totalChannelCostExTax = sum of channel fees and entered operating costsWhere
- totalChannelFeesExTax
- Total channel fees (currency units, ex tax)Source: Calculated output
- totalChannelCostExTax
- Total channel cost (currency units, ex tax)Source: Calculated output
contributionExTax = gross sales − total channel costWhere
- grossChannelSalesExTax
- Gross channel sales (currency units/channel period, ex tax)Source: Business record
- totalChannelCostExTax
- Total channel cost (currency units, ex tax)Source: Calculated output
- contributionExTax
- Channel contribution (currency units, ex tax)Source: Calculated output
contributionPerOrderExTax = channel contribution ÷ ordersWhere
- orderCount
- Channel orders (whole orders/period)Source: Business record
- contributionExTax
- Channel contribution (currency units, ex tax)Source: Calculated output
- contributionPerOrderExTax
- Contribution per order (currency units, ex tax)Source: Calculated output
contributionRate = channel contribution ÷ gross salesWhere
- grossChannelSalesExTax
- Gross channel sales (currency units/channel period, ex tax)Source: Business record
- contributionExTax
- Channel contribution (currency units, ex tax)Source: Calculated output
- contributionRate
- Contribution rate (decimal rate)Source: Calculated output
requiredGrossSalesForTargetExTax = fixed and operating costs ÷ retained target contribution shareWhere
- contributionExTax
- Channel contribution (currency units, ex tax)Source: Calculated output
- requiredGrossSalesForTargetExTax
- Required gross sales for target (currency units, ex tax)Source: Calculated output
requiredAveragePricePerOrderForTargetExTax = required gross sales ÷ ordersWhere
- requiredGrossSalesForTargetExTax
- Required gross sales for target (currency units, ex tax)Source: Calculated output
- requiredAveragePricePerOrderForTargetExTax
- Required average price per order for target (currency units, ex tax)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
The rows below come directly from the exact engine using the visible default fixture.
- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Percentage commission
- 0.3 decimal fraction of gross channel sales charged as commission
- Fixed fee per order
- 0 currency units/order, ex tax
- Product cost
- 3,000 currency units/channel period, ex tax
- Packaging cost
- 500 currency units/channel period, ex tax
- Incremental labour cost
- 1,000 currency units/channel period, ex tax
- Payment and marketing cost
- 0 currency units/channel period, ex tax
- Other channel cost
- 200 currency units/channel period, ex tax
- Target contribution rate
- 0.3 decimal fraction of gross channel sales retained as contribution
Calculation and outputs
Percentage commission
percentageCommissionExTax = gross sales × commission rate- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Percentage commission
- 0.3 decimal fraction of gross channel sales charged as commission
- Target contribution rate
- 0.3 decimal fraction of gross channel sales retained as contribution
- Fixed commission fees
- 0 money
- Contribution rate
- 0.23 percent
- Required gross sales for target
- 11,750 money
Engine result: 3,000 money
Fixed commission fees
fixedCommissionFeesExTax = orders × fixed fee per order- Channel orders
- 100 whole orders/period
- Fixed fee per order
- 0 currency units/order, ex tax
- Contribution per order
- 23 money
- Required average price per order for target
- 117.5 money
Engine result: 0 money
Total channel fees
totalChannelFeesExTax = percentage commission + fixed commission fees- Percentage commission
- 0.3 decimal fraction of gross channel sales charged as commission
- Fixed fee per order
- 0 currency units/order, ex tax
- Percentage commission
- 3,000 money
- Fixed commission fees
- 0 money
Engine result: 3,000 money
Retained channel revenue
retainedRevenueExTax = gross sales − total channel fees- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Other channel cost
- 200 currency units/channel period, ex tax
- Fixed commission fees
- 0 money
- Total channel fees
- 3,000 money
- Total channel cost
- 7,700 money
- Channel contribution
- 2,300 money
- Required gross sales for target
- 11,750 money
Engine result: 7,000 money
Total channel cost
totalChannelCostExTax = sum of channel fees and entered operating costs- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Other channel cost
- 200 currency units/channel period, ex tax
- Fixed commission fees
- 0 money
- Total channel fees
- 3,000 money
- Retained channel revenue
- 7,000 money
- Channel contribution
- 2,300 money
Engine result: 7,700 money
Channel contribution
contributionExTax = gross sales − total channel cost- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Product cost
- 3,000 currency units/channel period, ex tax
- Packaging cost
- 500 currency units/channel period, ex tax
- Incremental labour cost
- 1,000 currency units/channel period, ex tax
- Payment and marketing cost
- 0 currency units/channel period, ex tax
- Other channel cost
- 200 currency units/channel period, ex tax
- Total channel fees
- 3,000 money
- Retained channel revenue
- 7,000 money
- Total channel cost
- 7,700 money
- Required gross sales for target
- 11,750 money
Engine result: 2,300 money
Contribution per order
contributionPerOrderExTax = channel contribution ÷ orders- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Other channel cost
- 200 currency units/channel period, ex tax
- Target contribution rate
- 0.3 decimal fraction of gross channel sales retained as contribution
- Total channel fees
- 3,000 money
- Retained channel revenue
- 7,000 money
- Total channel cost
- 7,700 money
- Channel contribution
- 2,300 money
- Contribution rate
- 0.23 percent
Engine result: 23 money
Contribution rate
contributionRate = channel contribution ÷ gross sales- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Other channel cost
- 200 currency units/channel period, ex tax
- Target contribution rate
- 0.3 decimal fraction of gross channel sales retained as contribution
- Total channel fees
- 3,000 money
- Retained channel revenue
- 7,000 money
- Total channel cost
- 7,700 money
- Channel contribution
- 2,300 money
- Contribution per order
- 23 money
- Required gross sales for target
- 11,750 money
Engine result: 0.23 percent
Required gross sales for target
requiredGrossSalesForTargetExTax = fixed and operating costs ÷ retained target contribution share- Fixed fee per order
- 0 currency units/order, ex tax
- Target contribution rate
- 0.3 decimal fraction of gross channel sales retained as contribution
- Fixed commission fees
- 0 money
- Retained channel revenue
- 7,000 money
- Channel contribution
- 2,300 money
- Contribution per order
- 23 money
- Contribution rate
- 0.23 percent
- Required average price per order for target
- 117.5 money
Engine result: 11,750 money
Required average price per order for target
requiredAveragePricePerOrderForTargetExTax = required gross sales ÷ orders- Gross channel sales
- 10,000 currency units/channel period, ex tax
- Channel orders
- 100 whole orders/period
- Required gross sales for target
- 11,750 money
Engine result: 117.5 money
Example
The rows below come directly from the exact engine using the visible default fixture.
- Percentage commission
- 3,000.00
- Fixed commission fees
- 0.00
- Total channel fees
- 3,000.00
- Retained channel revenue
- 7,000.00
- Total channel cost
- 7,700.00
- Channel contribution
- 2,300.00
- Contribution per order
- 23.00
- Contribution rate
- 23%
- Required gross sales for target
- 11,750.00
- Required average price per order for target
- 117.50
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
The result uses only the commercial terms entered and does not represent a default or current provider fee schedule.
3. Validation and boundary checks
- All values must be finite and remain inside visible input boundaries.
- Rates must remain below the engine-owned upper boundary.
- The same cost must not be entered in more than one category.
- Gross channel sales minimum
grossChannelSalesExTax ≥ 0 currency units/channel period, ex tax— A lower value is rejected before calculation.- Gross channel sales maximum
grossChannelSalesExTax ≤ 10,000,000 currency units/channel period, ex tax— A higher value is rejected before calculation.- Channel orders minimum
orderCount ≥ 1 whole orders/period— A lower value is rejected before calculation.- Channel orders maximum
orderCount ≤ 100,000,000 whole orders/period— A higher value is rejected before calculation.- Percentage commission minimum
commissionRate ≥ 0 decimal fraction of gross channel sales charged as commission— A lower value is rejected before calculation.- Percentage commission maximum
commissionRate ≤ 1 decimal fraction of gross channel sales charged as commission— A higher value is rejected before calculation.- Fixed fee per order minimum
fixedFeePerOrderExTax ≥ 0 currency units/order, ex tax— A lower value is rejected before calculation.- Fixed fee per order maximum
fixedFeePerOrderExTax ≤ 10,000,000 currency units/order, ex tax— A higher value is rejected before calculation.- Product cost minimum
productCostExTax ≥ 0 currency units/channel period, ex tax— A lower value is rejected before calculation.- Product cost maximum
productCostExTax ≤ 10,000,000 currency units/channel period, ex tax— A higher value is rejected before calculation.- Packaging cost minimum
packagingCostExTax ≥ 0 currency units/channel period, ex tax— A lower value is rejected before calculation.- Packaging cost maximum
packagingCostExTax ≤ 10,000,000 currency units/channel period, ex tax— A higher value is rejected before calculation.- Incremental labour cost minimum
incrementalLabourCostExTax ≥ 0 currency units/channel period, ex tax— A lower value is rejected before calculation.- Incremental labour cost maximum
incrementalLabourCostExTax ≤ 10,000,000 currency units/channel period, ex tax— A higher value is rejected before calculation.- Payment and marketing cost minimum
paymentMarketingCostExTax ≥ 0 currency units/channel period, ex tax— A lower value is rejected before calculation.- Payment and marketing cost maximum
paymentMarketingCostExTax ≤ 10,000,000 currency units/channel period, ex tax— A higher value is rejected before calculation.- Other channel cost minimum
otherChannelCostExTax ≥ 0 currency units/channel period, ex tax— A lower value is rejected before calculation.- Other channel cost maximum
otherChannelCostExTax ≤ 10,000,000 currency units/channel period, ex tax— A higher value is rejected before calculation.- Target contribution rate minimum
targetContributionRate ≥ 0 decimal fraction of gross channel sales retained as contribution— A lower value is rejected before calculation.- Target contribution rate maximum
targetContributionRate ≤ 1 decimal fraction of gross channel sales retained as contribution— A higher value is rejected before calculation.
4. Assumptions and source classification
- All commercial terms, costs, rates and volumes are supplied by the user.
- Money values use one consistent ex-tax basis.
- No provider fee, jurisdiction, benchmark or demand forecast is embedded.
- Raw engine precision is retained until display.
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
- Results depend on the completeness and classification of entered records.
- The planner does not forecast demand, customer behaviour or supplier terms.
- This is educational business decision support rather than accounting, tax, legal or financial 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.
- Delivery Platform Orders: Profit or Margin Trap?
Reconcile platform fees, incremental costs, displaced demand and capacity before treating delivery revenue as growth.
Read guide