Methodology
Catering Quote & Margin 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
foodCostExTax = guests ร food cost per guestWhere
- guestCount
- Guests (whole guests/event)Source: Business record
- foodCostPerGuestExTax
- Food cost per guest (currency units/guest, ex tax)Source: Business record
- foodCostExTax
- Food cost (currency units, ex tax)Source: Calculated output
prepLabourCostExTax = preparation hours ร preparation loaded rateWhere
- prepLabourHours
- Preparation labour hours (hours/event)Source: Business record
- prepLoadedRateExTax
- Preparation loaded rate (currency units/hour, ex tax)Source: Business record
- prepLabourCostExTax
- Preparation labour cost (currency units, ex tax)Source: Calculated output
- totalLabourCostExTax
- Total labour cost (currency units, ex tax)Source: Calculated output
serviceLabourCostExTax = service hours ร service loaded rateWhere
- serviceLabourHours
- Service labour hours (hours/event)Source: Business record
- serviceLoadedRateExTax
- Service loaded rate (currency units/hour, ex tax)Source: Business record
- serviceLabourCostExTax
- Service labour cost (currency units, ex tax)Source: Calculated output
- totalLabourCostExTax
- Total labour cost (currency units, ex tax)Source: Calculated output
totalLabourCostExTax = preparation labour + service labourWhere
- prepLabourCostExTax
- Preparation labour cost (currency units, ex tax)Source: Calculated output
- serviceLabourCostExTax
- Service labour cost (currency units, ex tax)Source: Calculated output
- totalLabourCostExTax
- Total labour cost (currency units, ex tax)Source: Calculated output
otherVariableCostExTax = packaging and logistics costWhere
- packagingLogisticsCostExTax
- Packaging and logistics (currency units/event, ex tax)Source: Business record
- otherVariableCostExTax
- Other variable cost (currency units, ex tax)Source: Calculated output
fixedCostExTax = venue and fixed costWhere
- venueFixedCostExTax
- Venue and fixed costs (currency units/event, ex tax)Source: Business record
- fixedCostExTax
- Fixed event cost (currency units, ex tax)Source: Calculated output
baseCostExTax = food + labour + other variable + fixed costsWhere
- foodCostExTax
- Food cost (currency units, ex tax)Source: Calculated output
- totalLabourCostExTax
- Total labour cost (currency units, ex tax)Source: Calculated output
- otherVariableCostExTax
- Other variable cost (currency units, ex tax)Source: Calculated output
- fixedCostExTax
- Fixed event cost (currency units, ex tax)Source: Calculated output
- baseCostExTax
- Base catering cost (currency units, ex tax)Source: Calculated output
contingencyExTax = base cost ร contingency rateWhere
- contingencyRate
- Contingency rate (decimal fraction of event base cost)Source: User assumption
- baseCostExTax
- Base catering cost (currency units, ex tax)Source: Calculated output
- contingencyExTax
- Contingency (currency units, ex tax)Source: Calculated output
protectedCostExTax = base cost + contingencyWhere
- baseCostExTax
- Base catering cost (currency units, ex tax)Source: Calculated output
- contingencyExTax
- Contingency (currency units, ex tax)Source: Calculated output
- protectedCostExTax
- Protected catering cost (currency units, ex tax)Source: Calculated output
totalQuoteExTax = protected cost รท (1 โ target margin)Where
- targetMargin
- Target quote margin (decimal fraction of catering quote revenue)Source: User assumption
- protectedCostExTax
- Protected catering cost (currency units, ex tax)Source: Calculated output
- totalQuoteExTax
- Total catering quote (currency units, ex tax)Source: Calculated output
quotePerGuestExTax = total quote รท guestsWhere
- guestCount
- Guests (whole guests/event)Source: Business record
- totalQuoteExTax
- Total catering quote (currency units, ex tax)Source: Calculated output
- quotePerGuestExTax
- Quote per guest (currency units, ex tax)Source: Calculated output
targetContributionExTax = total quote โ protected costWhere
- protectedCostExTax
- Protected catering cost (currency units, ex tax)Source: Calculated output
- totalQuoteExTax
- Total catering quote (currency units, ex tax)Source: Calculated output
- targetContributionExTax
- Target contribution (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.
- Guests
- 100 whole guests/event
- Food cost per guest
- 12 currency units/guest, ex tax
- Preparation labour hours
- 10 hours/event
- Preparation loaded rate
- 40 currency units/hour, ex tax
- Service labour hours
- 10 hours/event
- Service loaded rate
- 40 currency units/hour, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Contingency rate
- 0.1 decimal fraction of event base cost
- Target quote margin
- 0.2 decimal fraction of catering quote revenue
Calculation and outputs
Food cost
foodCostExTax = guests ร food cost per guest- Guests
- 100 whole guests/event
- Food cost per guest
- 12 currency units/guest, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Fixed event cost
- 200 money
- Base catering cost
- 2,500 money
- Protected catering cost
- 2,750 money
- Quote per guest
- 34.375 money
Engine result: 1,200 money
Preparation labour cost
prepLabourCostExTax = preparation hours ร preparation loaded rate- Preparation labour hours
- 10 hours/event
- Preparation loaded rate
- 40 currency units/hour, ex tax
- Service labour hours
- 10 hours/event
- Service loaded rate
- 40 currency units/hour, ex tax
- Contingency rate
- 0.1 decimal fraction of event base cost
Engine result: 400 money
Service labour cost
serviceLabourCostExTax = service hours ร service loaded rate- Preparation labour hours
- 10 hours/event
- Preparation loaded rate
- 40 currency units/hour, ex tax
- Service labour hours
- 10 hours/event
- Service loaded rate
- 40 currency units/hour, ex tax
- Contingency rate
- 0.1 decimal fraction of event base cost
Engine result: 400 money
Total labour cost
totalLabourCostExTax = preparation labour + service labour- Preparation labour hours
- 10 hours/event
- Preparation loaded rate
- 40 currency units/hour, ex tax
- Service labour hours
- 10 hours/event
- Service loaded rate
- 40 currency units/hour, ex tax
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
Engine result: 800 money
Other variable cost
otherVariableCostExTax = packaging and logistics cost- Food cost per guest
- 12 currency units/guest, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Fixed event cost
- 200 money
- Base catering cost
- 2,500 money
- Protected catering cost
- 2,750 money
Engine result: 300 money
Fixed event cost
fixedCostExTax = venue and fixed cost- Food cost per guest
- 12 currency units/guest, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Base catering cost
- 2,500 money
- Protected catering cost
- 2,750 money
Engine result: 200 money
Base catering cost
baseCostExTax = food + labour + other variable + fixed costs- Food cost per guest
- 12 currency units/guest, ex tax
- Preparation labour hours
- 10 hours/event
- Service labour hours
- 10 hours/event
- Venue and fixed costs
- 200 currency units/event, ex tax
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Fixed event cost
- 200 money
Engine result: 2,500 money
Contingency
contingencyExTax = base cost ร contingency rate- Food cost per guest
- 12 currency units/guest, ex tax
- Preparation loaded rate
- 40 currency units/hour, ex tax
- Service loaded rate
- 40 currency units/hour, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Contingency rate
- 0.1 decimal fraction of event base cost
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Fixed event cost
- 200 money
- Base catering cost
- 2,500 money
- Protected catering cost
- 2,750 money
Engine result: 250 money
Protected catering cost
protectedCostExTax = base cost + contingency- Food cost per guest
- 12 currency units/guest, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Contingency rate
- 0.1 decimal fraction of event base cost
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Fixed event cost
- 200 money
- Base catering cost
- 2,500 money
- Contingency
- 250 money
Engine result: 2,750 money
Total catering quote
totalQuoteExTax = protected cost รท (1 โ target margin)- Food cost per guest
- 12 currency units/guest, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Target quote margin
- 0.2 decimal fraction of catering quote revenue
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Fixed event cost
- 200 money
- Base catering cost
- 2,500 money
- Protected catering cost
- 2,750 money
- Target contribution
- 687.5 money
Engine result: 3,437.5 money
Quote per guest
quotePerGuestExTax = total quote รท guests- Guests
- 100 whole guests/event
- Target quote margin
- 0.2 decimal fraction of catering quote revenue
- Total catering quote
- 3,437.5 money
Engine result: 34.375 money
Target contribution
targetContributionExTax = total quote โ protected cost- Food cost per guest
- 12 currency units/guest, ex tax
- Packaging and logistics
- 300 currency units/event, ex tax
- Venue and fixed costs
- 200 currency units/event, ex tax
- Target quote margin
- 0.2 decimal fraction of catering quote revenue
- Food cost
- 1,200 money
- Preparation labour cost
- 400 money
- Service labour cost
- 400 money
- Total labour cost
- 800 money
- Other variable cost
- 300 money
- Fixed event cost
- 200 money
- Base catering cost
- 2,500 money
- Protected catering cost
- 2,750 money
- Total catering quote
- 3,437.5 money
- Quote per guest
- 34.375 money
Engine result: 687.5 money
Example
The rows below come directly from the exact engine using the visible default fixture.
- Food cost
- 1,200.00
- Preparation labour cost
- 400.00
- Service labour cost
- 400.00
- Total labour cost
- 800.00
- Other variable cost
- 300.00
- Fixed event cost
- 200.00
- Base catering cost
- 2,500.00
- Contingency
- 250.00
- Protected catering cost
- 2,750.00
- Total catering quote
- 3,437.50
- Quote per guest
- 34.38
- Target contribution
- 687.50
The exact engine-derived outputs are shown in the labelled rows below.
Interpretation
Protect every entered event cost and contingency before treating the quote as margin-bearing revenue.
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.
- Guests minimum
guestCount โฅ 1 whole guests/eventโ A lower value is rejected before calculation.- Guests maximum
guestCount โค 100,000,000 whole guests/eventโ A higher value is rejected before calculation.- Food cost per guest minimum
foodCostPerGuestExTax โฅ 0 currency units/guest, ex taxโ A lower value is rejected before calculation.- Food cost per guest maximum
foodCostPerGuestExTax โค 10,000,000 currency units/guest, ex taxโ A higher value is rejected before calculation.- Preparation labour hours minimum
prepLabourHours โฅ 0 hours/eventโ A lower value is rejected before calculation.- Preparation labour hours maximum
prepLabourHours โค 100,000,000 hours/eventโ A higher value is rejected before calculation.- Preparation loaded rate minimum
prepLoadedRateExTax โฅ 0 currency units/hour, ex taxโ A lower value is rejected before calculation.- Preparation loaded rate maximum
prepLoadedRateExTax โค 10,000,000 currency units/hour, ex taxโ A higher value is rejected before calculation.- Service labour hours minimum
serviceLabourHours โฅ 0 hours/eventโ A lower value is rejected before calculation.- Service labour hours maximum
serviceLabourHours โค 100,000,000 hours/eventโ A higher value is rejected before calculation.- Service loaded rate minimum
serviceLoadedRateExTax โฅ 0 currency units/hour, ex taxโ A lower value is rejected before calculation.- Service loaded rate maximum
serviceLoadedRateExTax โค 10,000,000 currency units/hour, ex taxโ A higher value is rejected before calculation.- Packaging and logistics minimum
packagingLogisticsCostExTax โฅ 0 currency units/event, ex taxโ A lower value is rejected before calculation.- Packaging and logistics maximum
packagingLogisticsCostExTax โค 10,000,000 currency units/event, ex taxโ A higher value is rejected before calculation.- Venue and fixed costs minimum
venueFixedCostExTax โฅ 0 currency units/event, ex taxโ A lower value is rejected before calculation.- Venue and fixed costs maximum
venueFixedCostExTax โค 10,000,000 currency units/event, ex taxโ A higher value is rejected before calculation.- Contingency rate minimum
contingencyRate โฅ 0 decimal fraction of event base costโ A lower value is rejected before calculation.- Contingency rate maximum
contingencyRate โค 1 decimal fraction of event base costโ A higher value is rejected before calculation.- Target quote margin minimum
targetMargin โฅ 0 decimal fraction of catering quote revenueโ A lower value is rejected before calculation.- Target quote margin maximum
targetMargin โค 1 decimal fraction of catering quote revenueโ 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.
- Labour rates, contingency and target margin are editable quote assumptions; no wage rule, tax rate, service charge, gratuity or hospitality benchmark is embedded.
- Food-safety, licensing, venue, staffing and contract obligations remain outside this commercial quote model.
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.
- Catering Quote Pricing Checklist
Freeze event scope, quantities, labour, logistics, inclusions and change triggers before handing the record to the catering quote planner.
Read guide - Deposit and Cancellation Terms for Events
Size event deposits and cancellation checkpoints from committed cash and recoverable work without giving legal advice.
Read guide