HVAC Capacity Analysis Tool
Analyze the capacity of your HVAC operation region by region. Use the free analysis tool to see how you’re managing resources against planned PPM visits, statutory F-Gas checks, urgent no-heat and no-cooling callouts, and job spikes during bad weather. Break down capacity by general HVAC technicians and refrigerant-certified engineers and other HVAC specialists. Compare current numbers of technicians with how many your operation actually requires.
Capacity analysis
Modeled requirement
Your headcount is consistent with the model.
Add a second region, the differences between regions are where the answer usually is.
64 - 86 technicians modeled, against 78 today.
An estimate from a travel-and-capacity model, not a simulation of your actual jobs. Real routing depends on where your work actually falls.
One region gives you a headline number. Add a second region to see where the difference actually is.
| Region | Jobs/day | Techs today | Modeled | Gap | Jobs/tech/day | Travel/job | Travel share |
|---|---|---|---|---|---|---|---|
| Region 1 | 300 | 78 | 75 | +3 | 4.9 | 11.1 min | 12.9% |
Add a second region to compare jobs per technician per day across your operation.
The model treats each region as independent and does not move technicians across boundaries. Real operations do, so your true requirement is usually a little lower than the figure above.
Get the full report
Get a full breakdown with the table, benchmarks for each region, full working and region-by-region guidence in one report. Download a printable PDF, spreadsheet or get a sharable link, everything stays free either way.
Your technicians spend 350 hours a week between jobs rather than on them. Neither figure needs more headcount to improve.
This model assumes competent but unaided scheduling. That is the baseline it measures you against, so being consistent with it means you are normal, not that you are finished. The gap between unaided and optimized is what eLogii works on: sequencing against the real road network, respecting skills and time windows without a dispatcher holding it in their head, and re-planning when the day changes rather than at 6am.
Book a demoHow to use the Free Operational Capacity Calculator
Enter your regions and parameters in the fields
Click "Check It" to get a free capacity analysis report
Click "Get the full report" to download your analysis
Book a demo to see how to maximize operational capacity
Running a HVAC operation? See how eLogii supports HVAC teams.
How to work out how many field service technicians you need
The common approach is to divide total job hours by total shift hours. That answers a different question, because it assumes a technician spends the whole shift on site. In practice a meaningful share of the day goes on driving between jobs, and how much depends on how densely your work falls, how many of your technicians are qualified to take the job in front of them, and how much of the day is planned rather than reactive.
The calculation runs in seven steps, per region:
D = jobs per day ÷ service area, stop density, in jobs per km² per day.d = (k × c) ÷ √D × skill factor × scheduling factor, mean distance between consecutive jobs, in km.travel minutes = (d ÷ v) × 60 + p, driving time plus parking and access.minutes per job = time on site + travel minutesavailable minutes = shift − breaks − admin − commute overheadjobs per technician per day = available minutes ÷ minutes per jobtechnicians required = (jobs per day ÷ jobs per technician per day) ÷ availability factor
D- Stop density, jobs per square kilometer per day. The single most important input, and the reason a blended service area gives a poor answer.
k- The Beardwood–Halton–Hammersley constant, 0.70. It comes from the approximation that a tour through n points scattered in an area A has length roughly
k√(nA). Dividing by n gives mean leg distance as a function of density alone, the area cancels, which is what makes this computable in a browser. c- Circuity, road distance divided by straight-line distance. 1.25 urban, 1.30 suburban, 1.35 rural.
v- Effective door-to-door speed, in km/h. 28 urban, 40 suburban, 52 rural. These are averages that already absorb stop-start driving, not free-flow speed limits.
p- Park, access and sign-in time, in minutes per job. Default 3.
- Skill factor
- The penalty for a mixed-skill workforce, because a technician can only be sent to jobs they are qualified for. Explained below.
- Scheduling factor
- The penalty for reactive work being injected into an otherwise planned day. Explained below.
- Availability factor
- The share of paid technician time actually available after holiday, sickness, training and on-call recovery. Default 0.82.
Why you can't do this with one blended service area
Mean distance between jobs scales as one over the square root of density. That relationship is non-linear, so averaging a dense metro region together with a sparse rural one does not give you the average of the two, it distorts both, understating travel in the sparse region and overstating it in the dense one.
For an operation with genuinely different regional densities, a single blended area produces roughly 30 to 60% error in modeled travel distance. That sounds fatal, but travel is only 10 to 25% of the minutes attached to a job, so the error is damped by the time it reaches headcount: expect 5 to 12% error in the modeled technician requirement. It is larger for short-job operations such as inspections, metering and 20 to 40 minute visits, where travel dominates the job, and smaller where jobs are long.
So the accuracy gain from modeling regions separately is real but modest, and we are not going to overstate it. The reason this tool insists on multiple regions is different: the per-region breakdown is the answer. If you run 200 technicians you already know your headcount. What you probably do not know is that one region completes 18% fewer jobs per technician per day than another, or that travel eats nearly a third of the working minutes in your worst region and a tenth in your best. That gap is actionable. A total is not.
Worked example
A field service operation running 800 jobs a day across three regions with 225 technicians. Time on site averages 75 minutes everywhere. The working day is a 510-minute shift less 30 minutes of breaks, 25 minutes of admin and 35 minutes of commute overhead, leaving 420 available minutes. Work is 60% planned and 40% reactive. 70% of technicians are generalists covering 75% of job types; the remaining specialists cover 25%.
Those settings give a skill factor of 1.40829 and a scheduling factor of 1.41900, which multiply to a combined travel multiplier of 1.99836 applied to every region's mean leg distance.
| Metro | Suburban | Regional | |
|---|---|---|---|
| Jobs per day | 420 | 260 | 120 |
| Service area (km²) | 1,600 | 4,200 | 18,000 |
| Area type | Urban | Suburban | Rural |
| Density (jobs/km²/day) | 0.26250 | 0.06190 | 0.00667 |
| Mean leg distance (km) | 3.41 | 7.31 | 23.13 |
| Travel per job (min) | 10.31 | 13.96 | 29.69 |
| Total minutes per job | 85.31 | 88.96 | 104.69 |
| Jobs per technician per day | 4.92 | 4.72 | 4.01 |
| Travel share of job time | 12.09% | 15.70% | 28.36% |
| Technicians required | 104.04 | 67.16 | 36.48 |
| Technicians today | 110 | 70 | 45 |
The model requires 207.7 technicians in total, a band of 177 to 239 once the ±15% uncertainty is applied. The operation has 225. That sits inside the band, so the honest conclusion is that the headcount is consistent with the model. There is no surplus or shortfall worth asserting.
The useful findings are elsewhere:
- Regional completes 18.5% fewer jobs per technician per day than Metro , 4.01 against 4.92.
- Travel per job in Regional is 2.88× Metro's , 29.69 minutes against 10.31.
- Travel consumes 28.4% of job time in Regional, against 12.1% in Metro.
- Across the operation, 960 technician-hours a week are spent driving between jobs.
Two sensitivities worth noting from the same example. Cutting reactive work from 40% to 20% drops the requirement to about 205.1 technicians. Raising the generalist share from 70% to 90% drops it to about 204.5. Neither is dramatic on its own, which is itself worth knowing before you reorganize a workforce on the promise of a large saving.
Finally, the reason for insisting on three regions rather than one: modeled as a single blended area of 800 jobs across 23,800 km², the mean leg distance comes out at 9.92 km, against a volume-weighted 7.64 km when the regions are calculated separately. That is 29.9% overstated , and it would have been invisible.
Why a mixed skill base costs more travel than you'd expect
If a technician can only perform a fraction s of your job types, then from that technician's point of view the density of eligible work is not D but s×D. Since mean leg distance scales as one over the square root of density, their travel scales as 1/√s.
The trap is what happens when you have a mixed population. It is tempting to average the coverage across your technicians and then apply the square root. That is the wrong order of operations, and it understates travel, because 1/√s is a convex function, so the average of the penalties is always larger than the penalty of the average.
Take 70% generalists covering 75% of job types and 30% specialists covering 25%:
Correct: 0.70/√0.75 + 0.30/√0.25 = 0.80829 + 0.60000 = 1.40829
Naive: s̄ = 0.70(0.75) + 0.30(0.25) = 0.600 ; 1/√0.600 = 1.29099
Doing it correctly gives a travel factor 9.1% higher than the naive blend (1.40829 against 1.29099). Put the other way round, the naive method understates the travel penalty by 8.3%.
The intuition is worth holding on to: specialists are rare, so the nearest job a specialist is qualified for is disproportionately far away, and that penalty does not average out. It is why an operation can add technicians without adding much throughput: if the technicians added are specialists, most of their extra capacity goes into the windshield.
Planned vs reactive: what the mix does to capacity
Planned work can be batched, clustered geographically and scheduled into sensible AM/PM windows. Reactive jobs arrive during the day against a response SLA and have to be inserted into routes that were already built. The second kind costs more, and it costs more than its own share of the volume, because inserting an emergency job degrades the planned route it was inserted into.
The model handles this in two parts:
scheduling factor = (planned share × 1.15 + reactive share × 1.50)
× (1 + 0.25 × reactive share)
The first bracket is the weighted cost of the two kinds of work: 1.15 for planned work with batching and time windows, 1.50 for emergency insertion against a response target. The second bracket is the disruption term, the degradation that injected reactive work causes to the planned routes around it. It is the cost re-planning the day as it changes is meant to recover. Without it, the model would treat the two populations as independent, which is not how a dispatcher's day works.
At the extremes: an entirely planned operation carries a factor of 1.15. An entirely reactive one carries 1.50 × 1.25 = 1.875. The gap between those two is the largest single lever in the model, bigger than skill mix, and bigger than most realistic changes to headcount.
Field service capacity benchmarks: what "normal" looks like
Before you model your own operation, it helps to know the industry baselines. These are the numbers a well-run field service team tends to hit, and the gap between them and where most operations actually sit is what this tool is built to find. Unlike the modeled table below, these are observed figures from published sources.
- Jobs per technician per day: 3 to 5 is standard, up to 7 for short-visit work. The figure is driven almost entirely by time on site and travel, so the shorter the visit, the more the day becomes a travel problem. (ServiceTitan, 2026)
- Technician utilization: 70 to 85% is healthy, below 60% signals real inefficiency. Utilization is billable hours over paid hours, so a technician who spends the afternoon driving is busy but not productive. (FieldEdge)
- Windshield time: 20 to 30% of an urban technician's day, 40 to 50% in rural areas. Driving is a 15 to 30% productivity tax on most field service businesses, and above 35% in a city is a red flag. (Field Service Software, 2026)
- More than half the working day, before optimization. In complex, multi-region field service operations, eLogii commonly observes technicians spending over 50% of the day driving before routes are optimized, consistent with the upper end of published windshield-time ranges, and the single biggest recoverable capacity in most operations. (eLogii field data)
- First-time fix rate: around 80% average, 90% is the target. Every failed first visit is a second trip, pure travel with no new job completed. (CompareSoft, via ServiceTitan)
- Around a third of maintenance work is unplanned. Reactive callouts do not batch like planned work, and they degrade the planned routes around them, which is why the planned-versus-reactive mix changes your headcount, not just your stress levels. (Utility Magazine)
The US HVAC sector employs around 441,000 technicians but faces a shortfall of roughly 110,000, with about 42,500 openings projected every year, so sizing the team you already have correctly matters more than ever. (ServiceTitan, HVAC Statistics 2026)
Where your own operation sits against these is what the analyzer above works out, region by region.
HVAC benchmarks: jobs per engineer per day
The table below is what this model implies for representative operations at three densities: 0.25 jobs/km²/day (urban), 0.06 (suburban) and 0.007 (rural), with the default working day of 420 available minutes, 60% planned work and a 70/30 generalist split.
These are modeled figures, not observed ones. They are reproducible from the formula above rather than drawn from a survey, and they are here so you can sanity-check your own inputs against the model's own logic. Published industry benchmarks with attributable sources, and eLogii's own figures once the benchmark dataset has volume, will replace this table, we are not going to print numbers we cannot attribute.
| Time on site | Urban | Suburban | Rural |
|---|---|---|---|
| 30 min | 10.3 | 9.5 | 7.0 |
| 60 min | 5.9 | 5.6 | 4.7 |
| 90 min | 4.2 | 4.0 | 3.5 |
| 120 min | 3.2 | 3.1 | 2.8 |
| 240 min | 1.7 | 1.7 | 1.6 |
| 480 min | 0.9 | 0.8 | 0.8 |
HVAC visit lengths run wider than most trades, which is why these rows stretch from a half-hour service call to a full day. Read the row matching your own average visit rather than the middle of the table: a routine service or filter change sits near the top of it, a diagnostic breakdown somewhere in the middle, and a plant-room or rooftop install near the bottom.
Read across a row and the effect of density is clear: at 30-minute jobs, a rural technician completes about a third fewer jobs than an urban one purely because of driving. At 120-minute jobs the same density difference costs only about 12%. The shorter your jobs, the more your capacity is really a travel problem.
What to do when a region is underperforming
Five levers, in the order most operations should consider them. Only one of them is software.
-
Redraw the boundary
The largest single input to travel is density, and density is partly a drawing decision. A region that covers a large sparse area plus a dense town is two different operations sharing a manager. Splitting them, or moving the boundary so each region has a coherent density, changes the arithmetic before anyone does anything differently.
-
Cross-train toward generalists
Because the skill penalty scales as 1/√s, the returns are largest when coverage is worst. Moving a technician from covering 25% of job types to 50% cuts their travel penalty by nearly 30%. The same training applied to someone already at 75% barely moves anything. Target the narrowest specialists first.
-
Move the start point
Commute overhead comes off the top of every technician's available minutes before any work happens. In the default working day it is 35 minutes of a 510-minute shift, about 7%. A depot in the right place, or a shift to home-start where it suits the geography, recovers some of that across the whole region at once.
-
Convert reactive work to planned
This is the biggest lever in the model and usually the hardest one commercially. Anything that moves work from an unplanned callout to a scheduled visit, condition-based triggers, better triage at the point of booking, customer-facing slot selection, a tighter planned-visit cadence, reduces both the direct cost of the reactive job and the disruption it causes to the routes around it.
-
Schedule the work better
This model assumes competent but unaided scheduling. The gap between that and constraint-aware optimization is real, and it is what routing software addresses: sequencing against the actual road network, respecting skills and time windows without a dispatcher holding it in their head, and re-planning when the day changes rather than at 6am. It is the last lever on this list because the four above are usually cheaper, and because software applied to a badly drawn region mostly just optimizes the driving between the wrong jobs.
Frequently asked questions
How many service calls can an HVAC engineer do per day?
Typically four to six for standard service and repair visits, and fewer once installs or F-Gas inspections are in the mix. The number is driven by visit length plus travel between jobs, so it falls sharply as jobs get longer or the work is more spread out.
How should I split planned and reactive HVAC work?
Use the share of completed jobs, not contract value. A mixed HVAC operation usually sits between 50/50 and 60/40 planned to reactive once PPM, F-Gas checks and breakdown callouts are counted. If you run a helpdesk, the reactive figure is the unplanned attendance it reports.
How does F-Gas work affect capacity?
Statutory F-Gas leak checks recur on fixed calendars regardless of demand, at least annually for systems over 5 tonnes CO2e and every six months over 50, so part of every engineer's year is booked before a single reactive call comes in. Only refrigerant-certified engineers can carry them out, so they draw on a limited pool.
Why does seasonality make HVAC capacity so hard?
Because demand spikes with the weather. Heatwaves and cold snaps trigger surges of no-cooling and no-heat callouts that overwhelm a team sized for the average day, while shoulder seasons leave that team underused. Modeling the reactive share shows how much of the peak is really a travel problem.
What generalist share should I use for HVAC?
Count an engineer as a generalist if they can take most of your job types. On a mixed domestic and light-commercial book, 65 to 75% generalists is common. The specialists are usually the ticketed roles: F-Gas and refrigerant handling, Gas Safe heating, controls and BMS, and industrial refrigeration.
Does this handle long installs and plant work?
Partly. The model assumes engineers travel between jobs, so a multi-day rooftop or plant-room install that ties up an engineer for days fits poorly. Model your mobile service and PPM population here and treat major install crews separately.
What availability factor should an HVAC operation use?
The default is 0.82, meaning 18% of paid time is lost to holiday, sickness, training and on-call recovery. Operations with a heavy out-of-hours breakdown rota or a large training load often sit closer to 0.75.
Will this just tell me to hire more engineers?
No. Of the levers for an underperforming region, only one is adding engineers. Redrawing a boundary, cross-training toward more F-Gas cover, moving a start point and shifting the planned-reactive mix can all recover capacity you already pay for.
How do I work out how many HVAC engineers I need?
Multiply your daily job volume by average time on site, add realistic travel between jobs, then divide by the productive hours one engineer delivers after the availability factor. This tool does that per region and compares the result against your current headcount. Because statutory F-Gas work and drive time are both counted, the figure lands well above a naive hours-divided-by-shifts estimate.
What is a good utilization rate for HVAC engineers?
Seventy to 85% of paid time is the healthy band across field service, and HVAC usually sits in its lower half because breakdown work needs slack. Much above 85% and there is no room to absorb a no-heat callout without pushing planned PPM. Much below 60% and travel or scheduling is eating the day rather than workload, and this tool separates on-site minutes from travel so you can tell which.
How much of an HVAC engineer's day is drive time?
Published benchmarks put driving at 20 to 30% of an urban technician's day and 40 to 50% in rural areas. HVAC sits toward the top of the urban band because plant and rooftop sites are spread thinly. Travel scales with how sparsely the work falls, not how much of it there is, so the model estimates it from stop density and area type rather than assuming a flat figure.
Why not just divide total job hours by shift hours to size the team?
Because that ignores travel, the availability factor and skill cover, so it always undercounts. Dividing 400 job hours by eight-hour shifts implies 50 engineer-days, but real engineers lose a large share of the day to driving, and an F-Gas job can only go to a certified engineer. This tool layers those in, which is why its number sits above the back-of-envelope one.
Can I compare capacity across different branches or regions?
Yes, and you should size each branch separately rather than trusting one national total. Add a region per depot with its own job volume, area, service time and headcount, and the tool reports the gap for each. A group can look balanced overall while one branch is six engineers short and another carries slack, and the per-region figure is what tells you where to move people or F-Gas cover.
How should I handle subcontractors in my capacity numbers?
Count subcontractors only for the work they reliably take, and model your employed engineers as the core you must size. If a subcontractor covers overflow refrigeration or out-of-hours breakdowns, treat that as demand removed rather than headcount added, because their availability is not yours to plan. Enter your own engineers as current technicians and reduce job volume by whatever the subcontractors genuinely absorb.
What does the plus or minus range around the result mean?
It is the model's uncertainty band, showing that your true requirement sits within a range rather than on one exact number. Inputs like service time and travel are estimates, so the tool reports a band rather than false precision. Treat a gap inside the band as parity, and act on gaps that sit clearly outside it.
See it against your real jobs
This page measures you against competent but unaided scheduling. That is why a headcount inside the band means normal rather than finished: the model prices the work, not how well it is sequenced. eLogii plans from the actual jobs, using real addresses, real skills, real time windows and the real road network, and re-plans when the day changes rather than at 6am.