All articles

Growth

How to Schedule Jobs Efficiently as a Contractor

Forty clocked hours commonly produces about thirty billable ones. Most of the missing quarter is drive time, and scheduling is the only lever that touches it.

Om Patel 11 min read
Photo: Eve / Unsplash

The short answer

A technician on the clock forty hours a week commonly produces around thirty billable hours once drive time, supply runs, loading and cleanup are counted. Scheduling is the only lever that moves that ratio without anyone working harder. Cluster jobs geographically, batch supply runs, protect a buffer for emergencies rather than absorbing them, and stop treating the calendar as a queue to be filled.

The most valuable number in a contracting business is not your hourly rate. It is the share of paid hours that are actually billable.

A technician on the clock forty hours a week commonly produces around thirty billable hours.

The missing quarter is drive time, supply house runs, loading and unloading, cleanup, warranty callbacks and waiting for access. None of it is laziness and none of it can be eliminated. But most of it responds to scheduling, which is the only lever that improves the ratio without anyone working longer.

The short answer

Stop treating the calendar as a queue to be filled in the order enquiries arrive. Group work by area, batch the errands, and hold back capacity for the urgent work you know is coming. Those three changes typically recover several billable hours a week per person and cost nothing.

Cluster by geography

The largest gain, and the one most small contractors do not do because jobs get booked in the order they are requested.

The problem: a day with jobs in three directions spends more time in the van than on the tools. Two hours of driving is two hours nobody pays for, and it happens because each job was scheduled when it was booked rather than where it was.

The fix: assign areas to days. North end Monday and Thursday, south end Tuesday and Friday, whatever matches your map. When someone books, they are offered slots in their zone.

Handling the objection: customers accept this far more readily than contractors expect, because it is presented as availability rather than as a constraint. "I'm in your area Tuesday and Thursday next week, which suits better?" is a normal question. Nobody hears it as a limitation.

When to break it: genuine emergencies, and high-value work that justifies the trip. The rule exists to be applied by default, not absolutely.

By the numbers

Work out your own number before deciding how much this matters. For two weeks, have everyone log hours as billable or not. The ratio is almost always worse than the guess, and the split between drive time and everything else tells you whether clustering is your biggest lever or whether something else is.

Batch the errands

The second largest and the least visible.

A supply house run mid-morning costs roughly an hour of billable time plus fuel, and it is almost never charged to anyone. Three of those a week is most of a working day per month, per person.

What reduces them:

Order the night before. Materials picked up on the way to the first job rather than fetched from the middle of it.

Stock the van with your common consumables. The items you fetch repeatedly are a list, and holding them costs less than fetching them.

Have one person collect for several jobs, rather than each technician making their own trip.

Use supplier delivery where it exists. Many will deliver to site for jobs above a threshold, and contractors routinely drive instead out of habit.

Track which items cause the runs. After a month the pattern is obvious and it is usually four or five items.

Protect a buffer

Counterintuitive, and it is what separates a schedule that holds from one that collapses by Wednesday.

A calendar with no slack absorbs every disruption by pushing scheduled work. One emergency displaces a booked customer, who is now rescheduled, and the reschedule is what generates the complaint. Not the delay itself; being moved after being promised.

Hold a defined slot. For trades with genuine emergency demand, a slot each day that is not sold. When it is used, the next urgent call is booked for tomorrow rather than displacing someone who has already waited a week.

Build in travel and setup properly. A job estimated at three hours is not a three-hour slot. Underestimating this is what causes the day to run late from mid-morning onward, and the last customer is the one who suffers.

Stop at the end of the day. A homeowner posted about a painter who repeatedly stayed past 9pm, saying he was almost finished, and eventually sat down to eat dinner beside her. It drew over four hundred upvotes because it is a recognisable failure. Overrunning is usually a scheduling problem presented as dedication, and customers experience it as an imposition rather than as good service.

Windows, and keeping them

The most common complaint about trades has nothing to do with the work.

Give a narrow window you can keep. A two-hour window honoured beats an all-day window every time, and it beats a one-hour window missed by considerably more.

Text on the way. Free, and it removes most of the anxiety that produces the chasing calls that interrupt whoever is answering the phone.

Tell them early when you are running late. A customer told at 9am that you will be there at 2pm instead of 11am is inconvenienced. One who finds out at 11:30 is annoyed, and the difference is entirely in the warning rather than the delay.

Confirm the day before. A no-access visit is a wasted slot and a wasted drive, and it is preventable with one message.

Scheduling only helps if the enquiries arrive in the first place, and if what happens between enquiry and booking is fast. Our free check looks at whether your site can capture a request, whether it can be booked without phoning, and where it lands. Twenty checks, about fifteen seconds.

Run the free website check

How far ahead to book

There is a wrong answer in both directions.

Too short and the crew has gaps, which pushes you toward accepting badly priced work to fill them.

Too long and you lose jobs to whoever is available sooner, and you accumulate cancellations. A customer who booked eight weeks out has had eight weeks to find someone else, and a meaningful share do.

Three to four weeks suits most trades. Long enough for stability, short enough that customers do not go looking.

Booked out for months is not the achievement it sounds like. It usually means one of two things: prices are too low, so demand exceeds capacity at your rate, or the schedule is inefficient and consuming more days than the work requires. Both are worth checking before celebrating, and the first is addressed in how to raise prices without losing customers.

Sequencing the work itself

Smaller gains that compound across a week.

Hardest job first. Energy and daylight are both finite, and the job most likely to overrun should not be the one starting at 3pm.

Group by type where you can. Three similar jobs in a day beats three different ones, because setup and mental context carry over.

Do not schedule anything complex on a Friday afternoon. If it goes wrong, nobody is available to help and the customer has a weekend to think about it.

Leave return visits until you have several in an area. A single punch-list item on the far side of your service area is an hour of driving for ten minutes of work. Batching them is one of the easiest hours to recover.

Front-load the season. For seasonal trades, work booked before the rush arrives is work delivered at your convenience rather than during the weeks when everything happens at once. That timing argument is in the best time of year to advertise HVAC.

When a system beats a memory

A judgement call, and both errors are common.

A written convention and a shared calendar is enough for a solo operator or a two-person business. Software adopted early is usually abandoned, because entering data is slower than the way one person already works.

You have outgrown memory when a second person needs to dispatch without asking you, when jobs are being double-booked or forgotten, when you cannot answer what someone is doing on Thursday without checking a phone, or when the person who knows the schedule going on holiday is a problem.

The signal to watch for is the same one that decides every tooling question in a small business: if entering the information is slower than the way people already work, they will keep working the way they already do, and you will pay for an empty database.

Estimating job length honestly

Scheduling is only as good as the durations it is built from, and most contractors estimate optimistically in a consistent direction.

The pattern: you remember the time on the tools and forget everything around it. Parking, carrying in, protecting the area, the conversation with the customer, cleanup, loading, and the drive to the next job. A three-hour job frequently occupies five hours of a working day.

Record actuals for one month. Job type, estimated hours, actual hours from arriving to leaving. Twenty jobs is enough to see the bias, and it is almost always in the same direction and roughly the same size.

Then apply the correction rather than trying to be better at guessing. If your estimates run 30% short, add 30%. Attempting to estimate more accurately by willpower does not work; adjusting a known bias does.

Build slot lengths from the corrected number. A schedule built on optimistic durations fails by mid-morning, and every subsequent customer that day inherits the delay.

Separate the two questions. How long the work takes is one number. How long the slot needs to be is a different one, and it includes travel, setup and the reasonable chance of something unexpected. Conflating them is what produces days that run late from the second job onward.

The reschedule problem

One behaviour costs more reputation than any other scheduling decision, and it is usually a symptom rather than a cause.

Moving a booked customer is the most damaging thing a schedule does. Not being busy, not a long lead time, not a two-hour window. Being promised a day and then losing it.

It happens for three reasons, and each has a different fix.

A job overran. The estimate was optimistic and everything downstream slid. Fixed by estimating against recorded actual hours rather than intentions, and by building travel and setup into the slot rather than treating them as free.

An emergency was absorbed. Fixed by holding a buffer, so urgent work occupies capacity that was never sold rather than displacing someone who has already waited.

Materials did not arrive. Fixed by confirming delivery before booking the slot rather than after, which is a five-minute check that prevents an entire wasted day.

When you do have to move someone, the difference between an irritation and a complaint is warning. A customer told two days ahead is inconvenienced. One told on the morning has taken time off work for nothing, and that is the version that ends up in a review.

Move the same customer twice and you have lost them, regardless of how the work turns out. Worth treating a second reschedule as a decision requiring a reason rather than as an administrative act.

What to measure

Three numbers, monthly, and the first is the one that matters.

Utilisation. Billable hours divided by clocked hours, per person. This is the headline and it is the only one that translates directly into money.

Drive time as a share of the day. Tells you whether clustering is working.

Jobs completed per day, by type. Rising with stable quality means the scheduling changes are landing. Rising with more callbacks means you have bought speed with rework, which is not a gain.

Track them for a quarter before and after any change. Scheduling improvements are gradual and easy to abandon, because no single day feels different; the difference appears in the monthly total.

And the honest framing: recovering five billable hours a week per person is the equivalent of a meaningful rate increase, achieved without asking any customer to pay more. That is unusual, which is why it is worth the attention it rarely gets. The wider version of that arithmetic is in why am I busy but not making money.

Frequently asked questions

How many billable hours should a technician produce?
Around thirty out of forty clocked, once drive time, supply runs, loading, cleanup and waiting for access are counted. If your rates were built assuming forty, you are roughly a quarter short before anything else goes wrong, and scheduling is the main lever that changes the ratio.
How do I reduce drive time?
Cluster jobs by area rather than by the order they were booked. Assign days or half-days to zones and offer customers slots in the zone they fall into. This is the single largest efficiency gain available to most small contractors and it requires no software.
Should I leave gaps in the schedule?
Yes, deliberately. A calendar with no slack absorbs every emergency by pushing scheduled work, which produces the reschedule calls that damage your reputation. A protected buffer each day is cheaper than the goodwill lost by moving jobs.
How do I handle emergency calls without wrecking the day?
Reserve capacity for them rather than fitting them in. Trades with genuine emergency demand should hold a defined slot daily, and once it is used the next emergency is booked for tomorrow rather than displacing a scheduled customer who has already waited.
What is the real cost of a supply house run?
Frequently an hour of billable time plus fuel, and it is almost never charged. Batching runs to the start of the day, or holding common stock in the van, converts several of those a week back into billable hours without anyone working longer.
How far ahead should I book?
Far enough to keep the crew busy and not so far that you cannot serve urgent work. Three to four weeks suits most trades. Booking months ahead sounds like success and produces cancellations, because customers find someone available sooner.
Should I give customers a time or a window?
A window, and a narrow one you can keep. An all-day window is what customers most complain about, and a missed narrow window is worse than an honest wide one. Text on the way, which costs nothing and removes most of the complaints.
Does scheduling software actually help?
It helps once the volume outgrows one person's memory, usually somewhere around three or four concurrent crews or when a second person needs to dispatch. Below that, a written convention and a shared calendar outperform software nobody maintains.
Bespoke pipelines, automations, 360° customer records and real-time reporting, a CRM built around how your team actually works, connected to your entire stack.
Book a free CRM demo

Free tools

Find out what your site is costing you.

Enter your address and we check the real page. Scores are free and the itemised report lands in your inbox. No account, and we change nothing on your site.