03 — Capacity Model
The capacity model converts coach hours into cohorts and cohorts into revenue. Every plan in this sprint reads from this model. It lives as a spreadsheet (or Notion DB); this file is the spec + a worked example.
Inputs
| Input | Symbol | Default | Source |
|---|---|---|---|
| Accredited coaches (FTE-equivalent) | C | 12 | Sprint 7 roster |
| Sellable hours per coach per week | H | 22 | After supervision, CPD, admin |
| Target coach utilisation | U | 70% | Sprint 9 §10 KPI #7 |
| Coach hours per cohort (12-week hybrid) | Q | 60 | Sprint 5 §02 calendar |
| Weeks per cohort | W | 12 | Standard length |
| Cohorts per coach per concurrent slot | — | 2 | Coaches typically carry 2 cohorts at once |
| Average revenue per cohort | R | £45,000 | Sprint 6 §04 pricing model |
| Average cohort gross margin | M | 58% | Sprint 6 §04 |
| Bench buffer | B | 15% | Coach absence / safeguarding pull-outs |
Core equations
weekly_coach_hours_available = C × H × U × (1 − B)
weekly_coach_hours_per_cohort = Q / W
concurrent_cohorts_capacity = weekly_coach_hours_available / weekly_coach_hours_per_cohort
annual_cohorts_capacity = concurrent_cohorts_capacity × (52 / W) × delivery_weeks_factor
annual_revenue_capacity = annual_cohorts_capacity × R
annual_gross_profit_capacity = annual_revenue_capacity × M
delivery_weeks_factor accounts for holidays / client-side pause windows; default 0.85.
Worked example (S2 baseline)
C = 12 coaches
H = 22 hrs/week
U = 70%
B = 15%
weekly_coach_hours_available = 12 × 22 × 0.70 × 0.85 = 157.1 hrs/wk
Q = 60 hrs/cohort
W = 12 weeks
weekly_coach_hours_per_cohort = 60 / 12 = 5 hrs/wk
concurrent_cohorts_capacity = 157.1 / 5 ≈ 31 concurrent cohorts
annual_cohorts_capacity = 31 × (52/12) × 0.85 ≈ 114 cohorts/year
R = £45,000
annual_revenue_capacity = 114 × £45,000 = £5.13m
annual_gross_profit_capacity = £5.13m × 0.58 ≈ £2.97m
Read: at S2 with 12 accredited coaches, the org can deliver up to ~114 cohorts and ~£5.1m revenue if the pipeline (Sprint 6) lands them. Commercial capacity, not coach capacity, is usually the bind at this stage.
Sensitivity table (annual cohorts capacity vs coaches and utilisation)
| Coaches \ Utilisation | 60% | 70% | 80% |
|---|---|---|---|
| 8 | 65 | 76 | 87 |
| 12 | 98 | 114 | 130 |
| 20 | 163 | 190 | 217 |
| 35 | 285 | 333 | 380 |
Use this to challenge plans: if Commercial is forecasting 200 cohorts next year, the bench must be ≥ 20 coaches at ≥ 70% utilisation. Otherwise the plan fails on coach supply, not demand.
What breaks the model (and how we know)
| Symptom | Likely cause | Action |
|---|---|---|
U > 80% for 3+ weeks | Bench under-supply | Pause new sales; emergency bench recruitment (Sprint 7 §02) |
U < 55% for 3+ weeks | Sales / activation gap | Commercial review; reduce bench growth |
| Cohort margin drift below 55% | Discount creep / scope creep | Pricing audit (Sprint 9 §02 RACI: COO → CEO) |
Bench buffer B exceeded twice in a quarter | Coach attrition or safeguarding load | Supervision review + retention plan |
Connection to other sprints
- Pulls live values from the hybrid dashboard (Sprint 5 §04)
- Feeds the weekly scorecard (Sprint 9 §10 KPIs #1, #2, #7)
- Sets the ceiling for the commercial plan (Sprint 6) — sales never carries a number the capacity model cannot serve
