Skip to main content

Methodology

Catering Event Profitability Planner methodology

Set an event quote and price per guest that cover the entered menu and delivery plan while protecting margin and minimum contribution. Quote a catering event from guest count, menu portions, ingredient waste, kitchen and service labour, venue, equipment, logistics, contingency and a minimum contribution.

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

Quoted event revenue
quotedRevenueExTax = guest count * quoted price per guest

Where

guestCount
Event guest count (whole guests/event)Source: Business record
quotedPricePerGuestExTax
Quoted price per guest (currency units/guest, ex tax)Source: Business record
quotedRevenueExTax
Quoted event revenue (currency units, ex tax)Source: Calculated output
Waste-adjusted food cost
foodCostExTax = sum(guests * portions per guest * portion cost / (1 - waste rate))

Where

foodCostExTax
Waste-adjusted food cost (currency units, ex tax)Source: Calculated output
Event labour cost
labourCostExTax = sum(labour hours * loaded hourly cost)

Where

labourCostExTax
Event labour cost (currency units, ex tax)Source: Calculated output
Event base cost
eventBaseCostExTax = food + labour + venue/equipment + logistics

Where

venueAndEquipmentCostExTax
Venue and equipment cost (currency units/event, ex tax)Source: Business record
logisticsCostExTax
Event logistics cost (currency units/event, ex tax)Source: Business record
foodCostExTax
Waste-adjusted food cost (currency units, ex tax)Source: Calculated output
labourCostExTax
Event labour cost (currency units, ex tax)Source: Calculated output
eventBaseCostExTax
Event base cost (currency units, ex tax)Source: Calculated output
Event contingency
contingencyExTax = event base cost * contingency rate

Where

contingencyRate
Event contingency rate (decimal fraction of event base cost)Source: Business record
eventBaseCostExTax
Event base cost (currency units, ex tax)Source: Calculated output
contingencyExTax
Event contingency (currency units, ex tax)Source: Calculated output
Protected event cost
protectedEventCostExTax = event base cost + contingency

Where

eventBaseCostExTax
Event base cost (currency units, ex tax)Source: Calculated output
contingencyExTax
Event contingency (currency units, ex tax)Source: Calculated output
protectedEventCostExTax
Protected event cost (currency units, ex tax)Source: Calculated output
Quoted event contribution
contributionExTax = quoted revenue - protected event cost

Where

quotedRevenueExTax
Quoted event revenue (currency units, ex tax)Source: Calculated output
protectedEventCostExTax
Protected event cost (currency units, ex tax)Source: Calculated output
contributionExTax
Quoted event contribution (currency units, ex tax)Source: Calculated output
Quoted event margin
contributionMargin = contribution / quoted revenue

Where

quotedRevenueExTax
Quoted event revenue (currency units, ex tax)Source: Calculated output
contributionExTax
Quoted event contribution (currency units, ex tax)Source: Calculated output
contributionMargin
Quoted event margin (decimal rate)Source: Calculated output
Required event quote
requiredEventQuoteExTax = maximum of target-margin quote and minimum-contribution quote

Where

targetMargin
Target event margin (decimal fraction of quoted event revenue)Source: Business record
minimumEventContributionExTax
Minimum event contribution (currency units/event, ex tax)Source: Business record
contributionExTax
Quoted event contribution (currency units, ex tax)Source: Calculated output
contributionMargin
Quoted event margin (decimal rate)Source: Calculated output
requiredEventQuoteExTax
Required event quote (currency units, ex tax)Source: Calculated output
Required price per guest
requiredPricePerGuestExTax = required event quote / guest count

Where

guestCount
Event guest count (whole guests/event)Source: Business record
requiredEventQuoteExTax
Required event quote (currency units, ex tax)Source: Calculated output
requiredPricePerGuestExTax
Required price per guest (currency units, ex tax)Source: Calculated output
Quote gap
quoteGapExTax = quoted revenue - required event quote

Where

quotedRevenueExTax
Quoted event revenue (currency units, ex tax)Source: Calculated output
requiredEventQuoteExTax
Required event quote (currency units, ex tax)Source: Calculated output
quoteGapExTax
Quote gap (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 worked rows below are evaluated at render time by the same shared engine and visible default fixture as the interactive workflow.

Event guest count
100 whole guests/event
Quoted price per guest
50 currency units/guest, ex tax
Main portions per guest
1 portions/guest
Main cost per portion
10 currency units/main portion, ex tax
Main ingredient waste rate
0.05 decimal fraction of main ingredient requirement lost
Side portions per guest
1 portions/guest
Side cost per portion
3 currency units/side portion, ex tax
Side ingredient waste rate
0.04 decimal fraction of side ingredient requirement lost
Kitchen labour hours
10 hours/event
Kitchen loaded cost per hour
50 currency units/hour, ex tax
Service labour hours
20 hours/event
Service loaded cost per hour
30 currency units/hour, ex tax
Venue and equipment cost
500 currency units/event, ex tax
Event logistics cost
200 currency units/event, ex tax
Event contingency rate
0.1 decimal fraction of event base cost
Target event margin
0.3 decimal fraction of quoted event revenue
Minimum event contribution
1,000 currency units/event, ex tax

Calculation and outputs

  1. Quoted event revenue

    quotedRevenueExTax = guest count * quoted price per guest
    Event guest count
    100 whole guests/event
    Quoted price per guest
    50 currency units/guest, ex tax
    Main portions per guest
    1 portions/guest
    Side portions per guest
    1 portions/guest
    Quoted event contribution
    1,518.355263 money
    Quoted event margin
    0.303671 percent
    Required price per guest
    49.737782 money

    Engine result: 5,000 money

  2. Waste-adjusted food cost

    foodCostExTax = sum(guests * portions per guest * portion cost / (1 - waste rate))
    Event guest count
    100 whole guests/event
    Quoted price per guest
    50 currency units/guest, ex tax
    Main portions per guest
    1 portions/guest
    Main cost per portion
    10 currency units/main portion, ex tax
    Main ingredient waste rate
    0.05 decimal fraction of main ingredient requirement lost
    Side portions per guest
    1 portions/guest
    Side cost per portion
    3 currency units/side portion, ex tax
    Side ingredient waste rate
    0.04 decimal fraction of side ingredient requirement lost
    Kitchen loaded cost per hour
    50 currency units/hour, ex tax
    Service loaded cost per hour
    30 currency units/hour, ex tax
    Venue and equipment cost
    500 currency units/event, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Event contingency rate
    0.1 decimal fraction of event base cost
    Event labour cost
    1,100 money
    Event base cost
    3,165.131579 money
    Protected event cost
    3,481.644737 money
    Required price per guest
    49.737782 money

    Engine result: 1,365.131579 money

  3. Event labour cost

    labourCostExTax = sum(labour hours * loaded hourly cost)
    Main cost per portion
    10 currency units/main portion, ex tax
    Side cost per portion
    3 currency units/side portion, ex tax
    Kitchen labour hours
    10 hours/event
    Kitchen loaded cost per hour
    50 currency units/hour, ex tax
    Service labour hours
    20 hours/event
    Service loaded cost per hour
    30 currency units/hour, ex tax
    Venue and equipment cost
    500 currency units/event, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Waste-adjusted food cost
    1,365.131579 money
    Event base cost
    3,165.131579 money
    Protected event cost
    3,481.644737 money

    Engine result: 1,100 money

  4. Event base cost

    eventBaseCostExTax = food + labour + venue/equipment + logistics
    Kitchen labour hours
    10 hours/event
    Service labour hours
    20 hours/event
    Venue and equipment cost
    500 currency units/event, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Waste-adjusted food cost
    1,365.131579 money
    Event labour cost
    1,100 money

    Engine result: 3,165.131579 money

  5. Event contingency

    contingencyExTax = event base cost * contingency rate
    Event guest count
    100 whole guests/event
    Main cost per portion
    10 currency units/main portion, ex tax
    Main ingredient waste rate
    0.05 decimal fraction of main ingredient requirement lost
    Side cost per portion
    3 currency units/side portion, ex tax
    Side ingredient waste rate
    0.04 decimal fraction of side ingredient requirement lost
    Kitchen loaded cost per hour
    50 currency units/hour, ex tax
    Service loaded cost per hour
    30 currency units/hour, ex tax
    Venue and equipment cost
    500 currency units/event, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Event contingency rate
    0.1 decimal fraction of event base cost
    Target event margin
    0.3 decimal fraction of quoted event revenue
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event revenue
    5,000 money
    Waste-adjusted food cost
    1,365.131579 money
    Event labour cost
    1,100 money
    Event base cost
    3,165.131579 money
    Protected event cost
    3,481.644737 money
    Quoted event contribution
    1,518.355263 money
    Quoted event margin
    0.303671 percent
    Required event quote
    4,973.778195 money

    Engine result: 316.513158 money

  6. Protected event cost

    protectedEventCostExTax = event base cost + contingency
    Event guest count
    100 whole guests/event
    Main cost per portion
    10 currency units/main portion, ex tax
    Side cost per portion
    3 currency units/side portion, ex tax
    Kitchen loaded cost per hour
    50 currency units/hour, ex tax
    Service loaded cost per hour
    30 currency units/hour, ex tax
    Venue and equipment cost
    500 currency units/event, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Event contingency rate
    0.1 decimal fraction of event base cost
    Target event margin
    0.3 decimal fraction of quoted event revenue
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event revenue
    5,000 money
    Waste-adjusted food cost
    1,365.131579 money
    Event labour cost
    1,100 money
    Event base cost
    3,165.131579 money
    Event contingency
    316.513158 money
    Quoted event contribution
    1,518.355263 money
    Quoted event margin
    0.303671 percent
    Required event quote
    4,973.778195 money

    Engine result: 3,481.644737 money

  7. Quoted event contribution

    contributionExTax = quoted revenue - protected event cost
    Event guest count
    100 whole guests/event
    Quoted price per guest
    50 currency units/guest, ex tax
    Main cost per portion
    10 currency units/main portion, ex tax
    Side cost per portion
    3 currency units/side portion, ex tax
    Kitchen loaded cost per hour
    50 currency units/hour, ex tax
    Service loaded cost per hour
    30 currency units/hour, ex tax
    Venue and equipment cost
    500 currency units/event, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Event contingency rate
    0.1 decimal fraction of event base cost
    Target event margin
    0.3 decimal fraction of quoted event revenue
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event revenue
    5,000 money
    Waste-adjusted food cost
    1,365.131579 money
    Event labour cost
    1,100 money
    Event base cost
    3,165.131579 money
    Event contingency
    316.513158 money
    Protected event cost
    3,481.644737 money
    Quoted event margin
    0.303671 percent
    Required event quote
    4,973.778195 money

    Engine result: 1,518.355263 money

  8. Quoted event margin

    contributionMargin = contribution / quoted revenue
    Quoted price per guest
    50 currency units/guest, ex tax
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event revenue
    5,000 money
    Quoted event contribution
    1,518.355263 money

    Engine result: 0.303671 percent

  9. Required event quote

    requiredEventQuoteExTax = maximum of target-margin quote and minimum-contribution quote
    Target event margin
    0.3 decimal fraction of quoted event revenue
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event contribution
    1,518.355263 money
    Quoted event margin
    0.303671 percent
    Quote gap
    26.221805 money

    Engine result: 4,973.778195 money

  10. Required price per guest

    requiredPricePerGuestExTax = required event quote / guest count
    Event guest count
    100 whole guests/event
    Quoted price per guest
    50 currency units/guest, ex tax
    Main portions per guest
    1 portions/guest
    Side portions per guest
    1 portions/guest
    Event logistics cost
    200 currency units/event, ex tax
    Event contingency rate
    0.1 decimal fraction of event base cost
    Target event margin
    0.3 decimal fraction of quoted event revenue
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event revenue
    5,000 money
    Event labour cost
    1,100 money
    Event base cost
    3,165.131579 money
    Event contingency
    316.513158 money
    Protected event cost
    3,481.644737 money
    Quoted event contribution
    1,518.355263 money
    Quoted event margin
    0.303671 percent
    Required event quote
    4,973.778195 money
    Quote gap
    26.221805 money

    Engine result: 49.737782 money

  11. Quote gap

    quoteGapExTax = quoted revenue - required event quote
    Event guest count
    100 whole guests/event
    Quoted price per guest
    50 currency units/guest, ex tax
    Event logistics cost
    200 currency units/event, ex tax
    Event contingency rate
    0.1 decimal fraction of event base cost
    Target event margin
    0.3 decimal fraction of quoted event revenue
    Minimum event contribution
    1,000 currency units/event, ex tax
    Quoted event revenue
    5,000 money
    Event labour cost
    1,100 money
    Event base cost
    3,165.131579 money
    Event contingency
    316.513158 money
    Protected event cost
    3,481.644737 money
    Quoted event contribution
    1,518.355263 money
    Quoted event margin
    0.303671 percent
    Required event quote
    4,973.778195 money
    Required price per guest
    49.737782 money

    Engine result: 26.221805 money

Example

The worked rows below are evaluated at render time by the same shared engine and visible default fixture as the interactive workflow.

Quoted event revenue
5,000 currency units
Waste-adjusted food cost
1,365.13 currency units
Event labour cost
1,100 currency units
Event base cost
3,165.13 currency units
Event contingency
316.51 currency units
Protected event cost
3,481.64 currency units
Quoted event contribution
1,518.36 currency units
Quoted event margin
30.4%
Required event quote
4,973.78 currency units
Required price per guest
49.74 currency units
Quote gap
26.22 currency units

The exact engine-derived outputs are shown in the labelled rows below.

Interpretation

Event contribution depends on the complete event-specific food, labour and logistics scope.

Scenario study: event threshold and capacity

Event break-even must use one capacity unit

Guests, paid tickets, tables and minimum-spend revenue are not interchangeable. Convert revenue and variable cost to the same event unit before dividing fixed cost.

Input basis

  • Revenue: 75 CU per attendee; variable cost: 45 CU per attendee.
  • Event fixed cost: 3,900 CU; declared capacity: 120 attendees.
  • All amounts are fictional and before indirect tax.
RowIntermediate calculationResult
Contribution per attendee75 โˆ’ 4530 CU
Exact threshold3,900 รท 30130 attendees
Capacity gap120 โˆ’ 130โˆ’10 attendees
Feasibility130 required > 120 capacityInfeasible on stated capacity

Interpretation

The arithmetic is valid, but the event cannot reach break-even within the entered attendee capacity. A different commercial unit must be translated completely before recalculation.

Boundaries and next step

  • No attendance forecast, venue benchmark, fee preset or recommended minimum spend is supplied.
  • Changing from attendees to tables requires per-table revenue, variable cost and capacity.

Continue with Catering Event Profitability Planner or catering quote checklist.

3. Validation and boundary checks

  • All inputs must be finite and inside the visible validation boundaries.
  • Rates are retained as decimal values and shown as percentages only at the presentation boundary.
  • The worked fixture must expose every declared result: quotedRevenueExTax, foodCostExTax, labourCostExTax, eventBaseCostExTax, contingencyExTax, protectedEventCostExTax, contributionExTax, contributionMargin, requiredEventQuoteExTax, requiredPricePerGuestExTax, quoteGapExTax.
  • Scenario comparison changes one declared driver while holding the remaining industry records constant.
Event guest count minimum
guestCount โ‰ฅ 0 whole guests/event โ€” A lower value is rejected before calculation.
Event guest count maximum
guestCount โ‰ค 100,000,000 whole guests/event โ€” A higher value is rejected before calculation.
Quoted price per guest minimum
quotedPricePerGuestExTax โ‰ฅ 0 currency units/guest, ex tax โ€” A lower value is rejected before calculation.
Quoted price per guest maximum
quotedPricePerGuestExTax โ‰ค 10,000,000 currency units/guest, ex tax โ€” A higher value is rejected before calculation.
Main portions per guest minimum
mainPortionsPerGuest โ‰ฅ 0 portions/guest โ€” A lower value is rejected before calculation.
Main portions per guest maximum
mainPortionsPerGuest โ‰ค 1,000 portions/guest โ€” A higher value is rejected before calculation.
Main cost per portion minimum
mainCostPerPortionExTax โ‰ฅ 0 currency units/main portion, ex tax โ€” A lower value is rejected before calculation.
Main cost per portion maximum
mainCostPerPortionExTax โ‰ค 10,000,000 currency units/main portion, ex tax โ€” A higher value is rejected before calculation.
Main ingredient waste rate minimum
mainWasteRate โ‰ฅ 0 decimal fraction of main ingredient requirement lost โ€” A lower value is rejected before calculation.
Main ingredient waste rate maximum
mainWasteRate โ‰ค 1 decimal fraction of main ingredient requirement lost โ€” A higher value is rejected before calculation.
Side portions per guest minimum
sidePortionsPerGuest โ‰ฅ 0 portions/guest โ€” A lower value is rejected before calculation.
Side portions per guest maximum
sidePortionsPerGuest โ‰ค 1,000 portions/guest โ€” A higher value is rejected before calculation.
Side cost per portion minimum
sideCostPerPortionExTax โ‰ฅ 0 currency units/side portion, ex tax โ€” A lower value is rejected before calculation.
Side cost per portion maximum
sideCostPerPortionExTax โ‰ค 10,000,000 currency units/side portion, ex tax โ€” A higher value is rejected before calculation.
Side ingredient waste rate minimum
sideWasteRate โ‰ฅ 0 decimal fraction of side ingredient requirement lost โ€” A lower value is rejected before calculation.
Side ingredient waste rate maximum
sideWasteRate โ‰ค 1 decimal fraction of side ingredient requirement lost โ€” A higher value is rejected before calculation.
Kitchen labour hours minimum
kitchenHours โ‰ฅ 0 hours/event โ€” A lower value is rejected before calculation.
Kitchen labour hours maximum
kitchenHours โ‰ค 100,000 hours/event โ€” A higher value is rejected before calculation.
Kitchen loaded cost per hour minimum
kitchenLoadedCostPerHourExTax โ‰ฅ 0 currency units/hour, ex tax โ€” A lower value is rejected before calculation.
Kitchen loaded cost per hour maximum
kitchenLoadedCostPerHourExTax โ‰ค 10,000,000 currency units/hour, ex tax โ€” A higher value is rejected before calculation.
Service labour hours minimum
serviceHours โ‰ฅ 0 hours/event โ€” A lower value is rejected before calculation.
Service labour hours maximum
serviceHours โ‰ค 100,000 hours/event โ€” A higher value is rejected before calculation.
Service loaded cost per hour minimum
serviceLoadedCostPerHourExTax โ‰ฅ 0 currency units/hour, ex tax โ€” A lower value is rejected before calculation.
Service loaded cost per hour maximum
serviceLoadedCostPerHourExTax โ‰ค 10,000,000 currency units/hour, ex tax โ€” A higher value is rejected before calculation.
Venue and equipment cost minimum
venueAndEquipmentCostExTax โ‰ฅ 0 currency units/event, ex tax โ€” A lower value is rejected before calculation.
Venue and equipment cost maximum
venueAndEquipmentCostExTax โ‰ค 10,000,000 currency units/event, ex tax โ€” A higher value is rejected before calculation.
Event logistics cost minimum
logisticsCostExTax โ‰ฅ 0 currency units/event, ex tax โ€” A lower value is rejected before calculation.
Event logistics cost maximum
logisticsCostExTax โ‰ค 10,000,000 currency units/event, ex tax โ€” A higher value is rejected before calculation.
Event contingency rate minimum
contingencyRate โ‰ฅ 0 decimal fraction of event base cost โ€” A lower value is rejected before calculation.
Event contingency rate maximum
contingencyRate โ‰ค 1 decimal fraction of event base cost โ€” A higher value is rejected before calculation.
Target event margin minimum
targetMargin โ‰ฅ 0 decimal fraction of quoted event revenue โ€” A lower value is rejected before calculation.
Target event margin maximum
targetMargin โ‰ค 0.99 decimal fraction of quoted event revenue โ€” A higher value is rejected before calculation.
Minimum event contribution minimum
minimumEventContributionExTax โ‰ฅ 0 currency units/event, ex tax โ€” A lower value is rejected before calculation.
Minimum event contribution maximum
minimumEventContributionExTax โ‰ค 10,000,000 currency units/event, ex tax โ€” A higher value is rejected before calculation.

4. Assumptions and source classification

  • Costs, capacity, contract terms, tax rates and targets are supplied by the user.
  • No provider default, jurisdictional rule or industry benchmark is embedded.
  • The shared engine retains full precision and display formatting never feeds calculation.

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 are only as reliable as the timing, scope and basis of the entered records.
  • The workflow does not predict demand or establish accounting, tax, contractual or legal treatment.
  • Labour rates, waste, contingency and minimum contribution are editable event assumptions; no wage rule, service charge, tax rate 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

  1. : Initial public release of the planner and methodology after pre-launch calculation, content, source and interaction review.

Guides to interpret the decision and its assumptions.

Return to the planner