Fix the comparison boundary before calculating
Records and assumptions to align
- Define open chair-hours, bookable chair-hours and occupied chair-hours without changing denominators. (not complete)
- Record service duration plus setup, cleaning and reset time. (not complete)
- Reconcile service revenue, direct consumables, provider labour/commission and payment cost on one tax basis. (not complete)
- Keep no-shows, late cancellations, rebookings and recovered deposits as separate observed rows. (not complete)
- Calculate retail contribution from sold units separately from service revenue. (not complete)
| Field | Required unit | Preferred evidence |
|---|---|---|
| net service revenue | CU/service or CU/period | booking and payment record |
| occupied chair-hours | chair-hours/service or period | booking/time record |
| retail contribution | CU/period | point-of-sale and product-cost record |
Build a reproducible scenario
service contribution = net service revenue - direct consumables - delivery labour/commission - named variable costs; chair-hour contribution = service contribution ÷ occupied chair-hours
- net service revenue
- Completed-service revenue after refunds/discounts under the declared tax basis (CU/service or CU/period) — booking and payment record
- occupied chair-hours
- Service plus required setup/reset time using the stated convention (chair-hours/service or period) — booking/time record
- retail contribution
- Retail revenue less product, payment and other included variable cost (CU/period) — point-of-sale and product-cost record
Do not divide by open hours and call the result chair-hour contribution. Show open-to-booked and booked-to-completed utilisation separately.
Fictional one-day salon mix
The example uses neutral tax-excluded currency units and does not represent a salon benchmark.
| Case | Declared inputs | Substitution | Result |
|---|---|---|---|
| Cut service | 6 completed; 70 CU net revenue; 20 CU variable cost; 1 chair-hour each | 6 × (70 - 20); 300 ÷ 6 hours | 300 CU; 50 CU/chair-hour |
| Colour service | 3 completed; 160 CU revenue; 70 CU variable cost; 2 chair-hours each | 3 × (160 - 70); 270 ÷ 6 hours | 270 CU; 45 CU/chair-hour |
| Retail | 8 units; 35 CU revenue; 20 CU included product/payment cost | 8 × (35 - 20) | 120 CU contribution |
| Day total | 300 + 270 service contribution; 120 retail contribution | 300 + 270 + 120 | 690 CU contribution |
Stress-test the uncertain inputs
| Variable | Lower case | Higher case | What it tests |
|---|---|---|---|
| Service duration/reset | Shorter observed cycle | Longer downside cycle | Tests the scarce chair-hour |
| Completion/no-show rate | More recoverable gaps | More unrecovered booked time | Tests schedule contribution |
| Retail attach | Observed low case | Observed high case | Tests contribution without assuming service demand |
Stop and review when
- Service duration excludes required reset/cleaning time. (not complete)
- Revenue and costs use different tax or discount bases. (not complete)
- A mix change relies on an unsupported demand or no-show forecast. (not complete)
Keep each chair-hour boundary visible
Use one chair, day and time convention
- Record open chair-hours before removing unavailable or non-bookable time. (not complete)
- Record booked chair-hours without treating every booking as completed service. (not complete)
- Record completed service plus required setup, cleaning and reset time. (not complete)
- Calculate contribution per constrained completed chair-hour on the same cost boundary. (not complete)
- Keep no-show recovery, retail contribution and demand assumptions in separate rows. (not complete)
| Time layer | Unit and record | Decision supported | What it cannot prove |
|---|---|---|---|
| Available time | Open chair-hours from the roster | Physical period boundary | Sellable demand or target utilisation |
| Booked time | Booked chair-hours under one booking convention | Schedule commitment and gap review | Completed service or collected revenue |
| Completed service time | Delivered plus setup and reset chair-hours | Actual constrained capacity used | A universal service-duration norm |
| Contribution by constrained hour | CU contribution divided by completed chair-hours | Service-mix comparison | Guaranteed demand, quality or total-period profit |
Turn the scenario into a controlled decision
- Reconcile the baseline to current records and name the evidence owner.
- Run the base case, then change one uncertain input at a time.
- Record the chosen response, approval limit, review date and stop trigger.
- Compare actual results with the original boundary before reusing the assumption.
Avoid these mistakes
- Ranking services by price instead of contribution and chair time. (not complete)
- Treating all open chair-hours as occupied productive time. (not complete)
- Using retail revenue instead of retail contribution. (not complete)
Questions to resolve before approval
- Should the highest chair-hour contribution service dominate the menu?
- No. Demand, repeat relationships, sequencing, skills, capacity and total contribution also matter.
- Does a deposit count as service contribution?
- Only reconcile amounts under the stated policy and accounting boundary. A deposit receipt and earned revenue may occur at different times.
Methodology and source boundary
- Occupancy Break-even methodology — Margin101: Product-owned available/occupied capacity and fixed-cost boundary.
- Capacity-Constrained Profit Mix methodology — Margin101: Product-owned contribution-per-constraint and mix boundary.
- Product Mix Profit methodology — Margin101: Product-owned weighted contribution boundary for service and retail rows.