Methodology
Table Turnover & Revenue 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
averageTurnsPerService = service minutes / average seating minutesWhere
- serviceMinutes
- Minutes per service (minutes/service)Source: Business record
- averageSeatingMinutes
- Average seating duration (minutes/seating)Source: User assumption
- averageTurnsPerService
- Average turns per service (turns)Source: Calculated output
availableSeatTurns = tables ร seats per table ร service periods ร average turns per serviceWhere
- tableCount
- Tables available (tables)Source: Business record
- seatsPerTable
- Average seats per table (seats/table)Source: Business record
- servicePeriods
- Service periods (services/period)Source: Business record
- averageTurnsPerService
- Average turns per service (turns)Source: Calculated output
- availableSeatTurns
- Available seat-turn capacity (units)Source: Calculated output
plannedCovers = available seat-turn capacity ร planned occupancy rateWhere
- occupancyRate
- Planned occupied seat-turns (proportion of available seat-turn capacity occupied)Source: User decision
- availableSeatTurns
- Available seat-turn capacity (units)Source: Calculated output
- plannedCovers
- Planned covers (units)Source: Calculated output
plannedRevenueExTax = planned covers ร average spend per guestWhere
- averageSpendPerGuestExTax
- Average spend per guest (currency units/guest, ex tax)Source: Business record
- plannedCovers
- Planned covers (units)Source: Calculated output
- plannedRevenueExTax
- Planned revenue (currency units, ex tax)Source: Calculated output
unitContributionExTax = average spend per guest โ variable cost per guestWhere
- averageSpendPerGuestExTax
- Average spend per guest (currency units/guest, ex tax)Source: Business record
- variableCostPerGuestExTax
- Variable cost per guest (currency units/guest, ex tax)Source: Business record
- unitContributionExTax
- Contribution per guest (currency units, ex tax)Source: Calculated output
contributionBeforeFixedCostExTax = planned covers ร contribution per guestWhere
- plannedCovers
- Planned covers (units)Source: Calculated output
- unitContributionExTax
- Contribution per guest (currency units, ex tax)Source: Calculated output
- contributionBeforeFixedCostExTax
- Contribution before fixed cost (currency units, ex tax)Source: Calculated output
profitAfterFixedCostExTax = contribution before fixed cost โ fixed period costWhere
- fixedPeriodCostExTax
- Fixed cost for the period (currency units/period, ex tax)Source: Business record
- unitContributionExTax
- Contribution per guest (currency units, ex tax)Source: Calculated output
- contributionBeforeFixedCostExTax
- Contribution before fixed cost (currency units, ex tax)Source: Calculated output
- profitAfterFixedCostExTax
- Profit after fixed period cost (currency units, ex tax)Source: Calculated output
breakEvenOccupancyRate = fixed period cost / (available seat-turn capacity ร contribution per guest)Where
- occupancyRate
- Planned occupied seat-turns (proportion of available seat-turn capacity occupied)Source: User decision
- fixedPeriodCostExTax
- Fixed cost for the period (currency units/period, ex tax)Source: Business record
- availableSeatTurns
- Available seat-turn capacity (units)Source: Calculated output
- unitContributionExTax
- Contribution per guest (currency units, ex tax)Source: Calculated output
- breakEvenOccupancyRate
- Break-even occupied seat-turns (decimal rate)Source: Calculated output
breakEvenFeasible = break-even occupied seat-turns is no greater than available capacityWhere
- availableSeatTurns
- Available seat-turn capacity (units)Source: Calculated output
- breakEvenOccupancyRate
- Break-even occupied seat-turns (decimal rate)Source: Calculated output
- breakEvenFeasible
- Break-even capacity status (feasibility status)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 labelled rows below are formatted directly from the exact engine using the visible default inputs.
- Tables available
- 10 tables
- Average seats per table
- 4 seats/table
- Service periods
- 10 services/period
- Minutes per service
- 180 minutes/service
- Average seating duration
- 90 minutes/seating
- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Average spend per guest
- 50 currency units/guest, ex tax
- Variable cost per guest
- 20 currency units/guest, ex tax
- Fixed cost for the period
- 5,000 currency units/period, ex tax
Calculation and outputs
Average turns per service
averageTurnsPerService = service minutes / average seating minutes- Average seats per table
- 4 seats/table
- Service periods
- 10 services/period
- Minutes per service
- 180 minutes/service
- Average seating duration
- 90 minutes/seating
- Average spend per guest
- 50 currency units/guest, ex tax
Engine result: 2 turns
Available seat-turn capacity
availableSeatTurns = tables ร seats per table ร service periods ร average turns per service- Tables available
- 10 tables
- Average seats per table
- 4 seats/table
- Service periods
- 10 services/period
- Minutes per service
- 180 minutes/service
- Average seating duration
- 90 minutes/seating
- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Average spend per guest
- 50 currency units/guest, ex tax
- Average turns per service
- 2 turns
- Break-even occupied seat-turns
- 0.208333 percent
Engine result: 800 units
Planned covers
plannedCovers = available seat-turn capacity ร planned occupancy rate- Tables available
- 10 tables
- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Available seat-turn capacity
- 800 units
- Planned revenue
- 30,000 money
- Break-even occupied seat-turns
- 0.208333 percent
- Break-even capacity status
- Yes status
Engine result: 600 units
Planned revenue
plannedRevenueExTax = planned covers ร average spend per guest- Average seats per table
- 4 seats/table
- Average seating duration
- 90 minutes/seating
- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Average spend per guest
- 50 currency units/guest, ex tax
- Variable cost per guest
- 20 currency units/guest, ex tax
- Average turns per service
- 2 turns
- Planned covers
- 600 units
- Contribution per guest
- 30 money
Engine result: 30,000 money
Contribution per guest
unitContributionExTax = average spend per guest โ variable cost per guest- Average seats per table
- 4 seats/table
- Average seating duration
- 90 minutes/seating
- Average spend per guest
- 50 currency units/guest, ex tax
- Variable cost per guest
- 20 currency units/guest, ex tax
- Fixed cost for the period
- 5,000 currency units/period, ex tax
- Average turns per service
- 2 turns
- Contribution before fixed cost
- 18,000 money
- Profit after fixed period cost
- 13,000 money
Engine result: 30 money
Contribution before fixed cost
contributionBeforeFixedCostExTax = planned covers ร contribution per guest- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Average spend per guest
- 50 currency units/guest, ex tax
- Variable cost per guest
- 20 currency units/guest, ex tax
- Planned covers
- 600 units
- Planned revenue
- 30,000 money
- Contribution per guest
- 30 money
Engine result: 18,000 money
Profit after fixed period cost
profitAfterFixedCostExTax = contribution before fixed cost โ fixed period cost- Variable cost per guest
- 20 currency units/guest, ex tax
- Fixed cost for the period
- 5,000 currency units/period, ex tax
- Contribution per guest
- 30 money
- Contribution before fixed cost
- 18,000 money
Engine result: 13,000 money
Break-even occupied seat-turns
breakEvenOccupancyRate = fixed period cost / (available seat-turn capacity ร contribution per guest)- Tables available
- 10 tables
- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Average spend per guest
- 50 currency units/guest, ex tax
- Variable cost per guest
- 20 currency units/guest, ex tax
- Fixed cost for the period
- 5,000 currency units/period, ex tax
- Available seat-turn capacity
- 800 units
- Contribution per guest
- 30 money
- Contribution before fixed cost
- 18,000 money
- Profit after fixed period cost
- 13,000 money
- Break-even capacity status
- Yes status
Engine result: 0.208333 percent
Break-even capacity status
breakEvenFeasible = break-even occupied seat-turns is no greater than available capacity- Tables available
- 10 tables
- Planned occupied seat-turns
- 0.75 proportion of available seat-turn capacity occupied
- Average turns per service
- 2 turns
- Available seat-turn capacity
- 800 units
- Break-even occupied seat-turns
- 0.208333 percent
Engine result: Yes status
Example
The labelled rows below are formatted directly from the exact engine using the visible default inputs.
- Average turns per service
- 2 turns
- Available seat-turn capacity
- 800
- Planned covers
- 600
- Planned revenue
- 30,000 currency units
- Contribution per guest
- 30 currency units
- Contribution before fixed cost
- 18,000 currency units
- Profit after fixed period cost
- 13,000 currency units
- Break-even occupied seat-turns
- 20.8%
- Break-even capacity status
- Within available capacity
The profit after fixed period cost is 13,000 currency units.
Interpretation
Use the capacity model to understand the operational drivers of covers and contribution, not as a demand forecast.
3. Validation and boundary checks
- All inputs must be finite and remain inside the visible validation boundaries.
- Whole-count fields reject fractional table, seat, service, capacity or transaction counts where specified.
- Revenue per unit must exceed variable cost per unit when a positive fixed cost must be recovered.
- Occupancy and variable-cost rates remain inside the closed range from 0% to 100%.
- A required occupancy above 100% is reported as outside available capacity, not hidden or capped.
- Tables available minimum
tableCount โฅ 1 tablesโ A lower value is rejected before calculation.- Tables available maximum
tableCount โค 100,000 tablesโ A higher value is rejected before calculation.- Average seats per table minimum
seatsPerTable โฅ 1 seats/tableโ A lower value is rejected before calculation.- Average seats per table maximum
seatsPerTable โค 1,000 seats/tableโ A higher value is rejected before calculation.- Service periods minimum
servicePeriods โฅ 1 services/periodโ A lower value is rejected before calculation.- Service periods maximum
servicePeriods โค 100,000 services/periodโ A higher value is rejected before calculation.- Minutes per service minimum
serviceMinutes โฅ 1 minutes/serviceโ A lower value is rejected before calculation.- Minutes per service maximum
serviceMinutes โค 10,080 minutes/serviceโ A higher value is rejected before calculation.- Average seating duration minimum
averageSeatingMinutes โฅ 1 minutes/seatingโ A lower value is rejected before calculation.- Average seating duration maximum
averageSeatingMinutes โค 10,080 minutes/seatingโ A higher value is rejected before calculation.- Planned occupied seat-turns minimum
occupancyRate โฅ 0 proportion of available seat-turn capacity occupiedโ A lower value is rejected before calculation.- Planned occupied seat-turns maximum
occupancyRate โค 1 proportion of available seat-turn capacity occupiedโ A higher value is rejected before calculation.- Average spend per guest minimum
averageSpendPerGuestExTax โฅ 0 currency units/guest, ex taxโ A lower value is rejected before calculation.- Average spend per guest maximum
averageSpendPerGuestExTax โค 10,000,000 currency units/guest, ex taxโ A higher value is rejected before calculation.- Variable cost per guest minimum
variableCostPerGuestExTax โฅ 0 currency units/guest, ex taxโ A lower value is rejected before calculation.- Variable cost per guest maximum
variableCostPerGuestExTax โค 10,000,000 currency units/guest, ex taxโ A higher value is rejected before calculation.- Fixed cost for the period minimum
fixedPeriodCostExTax โฅ 0 currency units/period, ex taxโ A lower value is rejected before calculation.- Fixed cost for the period maximum
fixedPeriodCostExTax โค 10,000,000 currency units/period, ex taxโ A higher value is rejected before calculation.
4. Assumptions and source classification
- All capacity, occupancy, duration, volume, price and cost values are supplied by the user.
- Money inputs use one consistent ex-tax basis and all records refer to the same operating period.
- Proposed occupancy, transaction count and average transaction value are scenarios, not forecasts.
- The engine retains raw precision and display formatting never feeds back into calculation.
- No jurisdiction, provider fee, industry benchmark or current policy value is embedded.
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 comparable service, capacity and commercial records for the selected period.
- The model does not forecast demand, customer behaviour, no-shows, service quality or capacity disruption.
- Average values can conceal day-part, product-mix, party-size and channel differences.
- The planner does not replace operational, 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 Table Turnover and Revenue planner and methodology.
Related reading
Guides to interpret the decision and its assumptions.
- Restaurant Economics: From Menu Price to Operating Profit
Trace menu price through contribution, operating capacity and period costs without confusing a dish margin with operating profit.
Read guide