{
  "$schema": "https://soudcoh.com/tools/data/index.json",
  "slug": "capacity-planner",
  "name": "Job capacity planner",
  "category": "Pricing and capacity",
  "url": "https://soudcoh.com/tools/capacity-planner",
  "dataUrl": "https://soudcoh.com/tools/data/capacity-planner.json",
  "currency": "AUD",
  "updated": "2026-08",
  "summary": "Compare the jobs your team can complete in a month against the jobs your enquiries produce, find your spare capacity, and see what it would cost to fill it.",
  "whatItDoes": [
    "Works out how many jobs your team can complete in a month, after utilisation.",
    "Compares that against the jobs your current enquiry flow produces, and reports the gap either way.",
    "Prices the gap: what it would cost in advertising to fill spare capacity, or what the overflow is worth if you added someone."
  ],
  "howToUse": [
    "Enter how many people attend jobs, how many jobs each does on a normal day, and how many working days you count in a month.",
    "Set utilisation honestly. Travel, quoting, warranty callbacks and paperwork all come out of the day, and almost nobody runs at 100%.",
    "Enter the enquiries you get and the share that become work.",
    "Read the verdict, then the cost of filling or the value of the overflow."
  ],
  "formula": [
    "Capacity = people × jobs per day × working days × utilisation",
    "Jobs from enquiries = enquiries × lead-to-job rate",
    "Spare capacity = capacity − jobs from enquiries",
    "Extra enquiries to fill = spare capacity ÷ lead-to-job rate"
  ],
  "interpret": [
    "Spare capacity is the cheapest growth available. The crew is paid either way, so the only new cost is the advertising that fills the day.",
    "Overflow is expensive in a way that does not appear in any report. It shows up later as slow callbacks, cancelled bookings and reviews about not turning up.",
    "Once you are at capacity, the next lever is price, not budget. Raising rates on a full book loses the worst work and keeps the margin."
  ],
  "limitation": "A month of capacity is not evenly available. Emergency trades get a fortnight of storms and then nothing, and a business at 80% average utilisation can still turn work away every Monday. Use this for the annual shape, not for next week's roster.",
  "inputs": [
    {
      "key": "people",
      "label": "People attending jobs",
      "kind": "number",
      "default": 3,
      "min": 1,
      "max": 5000,
      "unit": "count",
      "help": "Anyone who completes work on site. Not the office.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "jobsPerDay",
      "label": "Jobs each per day",
      "kind": "number",
      "default": 4,
      "min": 0.1,
      "max": 100,
      "unit": "count",
      "help": "On a normal day. Enter a decimal if jobs run longer than a day.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "workingDays",
      "label": "Working days a month",
      "kind": "number",
      "default": 21,
      "min": 1,
      "max": 31,
      "unit": "count",
      "help": "After weekends and public holidays.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "utilisation",
      "label": "Utilisation",
      "kind": "percent",
      "default": 78,
      "min": 5,
      "max": 100,
      "unit": "percent",
      "help": "Share of the day that is billable, after travel, quoting and paperwork. Be honest — 100% does not exist.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "leads",
      "label": "Enquiries a month",
      "kind": "number",
      "default": 140,
      "min": 0,
      "max": 1000000,
      "unit": "count",
      "help": "Everything that comes in, from every source.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "closeRate",
      "label": "Enquiries that become work",
      "kind": "percent",
      "default": 30,
      "min": 0.1,
      "max": 100,
      "unit": "percent",
      "help": "From your job book.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "cpl",
      "label": "Cost per enquiry",
      "kind": "currency",
      "default": 90,
      "min": 0,
      "max": 100000,
      "unit": "AUD",
      "help": "Used to price what filling spare capacity would cost.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    },
    {
      "key": "jobValue",
      "label": "Average job value",
      "kind": "currency",
      "default": 1200,
      "min": 1,
      "max": 10000000,
      "unit": "AUD",
      "help": "Average invoice excluding GST.",
      "sourceId": null,
      "sourceNote": null,
      "options": null
    }
  ],
  "defaults": {
    "people": 3,
    "jobsPerDay": 4,
    "workingDays": 21,
    "utilisation": 78,
    "leads": 140,
    "closeRate": 30,
    "cpl": 90,
    "jobValue": 1200
  },
  "exampleResult": {
    "headline": {
      "label": "Spare capacity a month",
      "value": "154.6",
      "note": "42 jobs from enquiries against 196.6 of capacity"
    },
    "outputs": [
      {
        "label": "Monthly capacity",
        "value": "196.6",
        "note": "252 jobs at 78% utilisation"
      },
      {
        "label": "Capacity used",
        "value": "21.4%",
        "note": "42 jobs from 140 enquiries"
      },
      {
        "label": "Enquiries needed to fill",
        "value": "516",
        "note": "About $46,368 of advertising"
      },
      {
        "label": "Revenue available from filling",
        "value": "$185,472",
        "note": "154.6 jobs at $1,200.00"
      },
      {
        "label": "Jobs per person a month",
        "value": "65.5",
        "note": "After utilisation"
      }
    ],
    "workings": [
      {
        "label": "Raw capacity",
        "expression": "3 × 4 jobs/day × 21 days = 252"
      },
      {
        "label": "Real capacity",
        "expression": "252 × 78% = 196.6"
      },
      {
        "label": "Jobs from enquiries",
        "expression": "140 × 30% = 42"
      },
      {
        "label": "Spare capacity",
        "expression": "196.6 − 42 = 154.6"
      },
      {
        "label": "Capacity used",
        "expression": "42 ÷ 196.6 = 21.4%"
      }
    ]
  },
  "shareableExample": "https://soudcoh.com/tools/capacity-planner?people=3&jobsPerDay=4&workingDays=21",
  "faqs": [
    {
      "question": "How many leads can my business actually handle?",
      "answer": "As many as your crew can attend, divided by the share of enquiries that become work. Three people doing four jobs a day across twenty-one days at 78% utilisation is about 196 jobs a month, and at a 30% close rate that needs roughly 650 enquiries to fill. Most trade businesses are nowhere near their capacity ceiling, which is why spare capacity is usually the cheapest growth on the table — and why the ones that are at the ceiling should be raising prices rather than budgets."
    },
    {
      "question": "What is a realistic utilisation rate for a trade business?",
      "answer": "We have no published figure to give you and will not invent one. What we can say is that 100% is arithmetic rather than reality: travel between jobs, quoting, warranty callbacks, materials runs and paperwork all come out of the same day. Work out your own by taking billable hours over total paid hours for a month. Whatever it is, use that number here rather than the one you would like it to be."
    },
    {
      "question": "When should I hire another tradesman instead of spending more on ads?",
      "answer": "When this tool shows overflow rather than spare capacity. If your enquiries already produce more jobs than the crew can attend, another dollar of advertising buys a job you will disappoint someone by not attending. The overflow line prices what a hire would be worth in monthly revenue, which is the comparison to make against the cost of employing them."
    },
    {
      "question": "What happens if I buy more leads than I can service?",
      "answer": "The damage lands outside the ad account, which is why it goes unnoticed. Calls get returned slowly, jobs get rescheduled, and the reviews start mentioning it. That last one is the expensive part: reviews affect how the business is chosen for years, and repairing them costs far more than the extra jobs were worth."
    },
    {
      "question": "Should I raise prices instead of turning work away?",
      "answer": "On a full book, yes, and it is the only growth lever left once capacity is reached. A price rise on a business that is already turning work away loses the least profitable jobs first and keeps the rest at a better margin. The quote win rate calculator shows what that trade looks like in numbers."
    }
  ],
  "sources": [],
  "relatedTools": [
    "https://soudcoh.com/tools/missed-call-calculator",
    "https://soudcoh.com/tools/charge-out-rate-calculator",
    "https://soudcoh.com/tools/lead-to-job-calculator"
  ],
  "licence": {
    "terms": "Free to reuse with attribution to SoudCoh and a link to the page it came from. Third-party figures remain the property of the publisher named on each row and must keep their market and year attached.",
    "attribution": "SoudCoh — https://soudcoh.com/tools"
  }
}
