Ask a solo contractor what they charge and most will give a confident number. Eighty-five an hour. Ninety-five for after-hours. A hundred and ten for emergency calls. Ask how that number was calculated and the answer is usually some version of "that is what everybody around here charges." The rate was inherited from the market, not built from the business, and that is where the money leaks out.
The specific error is almost universal: contractors set their hourly rate against an 8-hour day when the actual billable day is closer to 5. The three missing hours do not disappear. They are spent driving between job sites, writing quotes, running to the supply house, answering the phone, and invoicing at the kitchen table. None of that is billed to anyone. All of it has to be covered by the hours that are billed.
This article walks through the real math, shows what the gap costs over a year, and gives a formula that produces a rate that actually covers the business.
What an 8-hour day actually contains
Here is a typical Tuesday for a solo residential plumber with four scheduled calls. Nothing goes wrong. No emergencies, no jobs that blow up, no customer who is not home. This is a good day.
| Time | Activity | Billable? |
|---|---|---|
| 7:00 to 7:30 | Load truck, review schedule, call first customer | No |
| 7:30 to 8:05 | Drive to first job | No |
| 8:05 to 9:35 | Water heater diagnostic and repair | Yes (1.5 hrs) |
| 9:35 to 10:10 | Drive across town to second job | No |
| 10:10 to 11:25 | Drain clearing | Yes (1.25 hrs) |
| 11:25 to 12:00 | Supply house run for a part | No |
| 12:00 to 12:30 | Lunch | No |
| 12:30 to 1:05 | Drive to third job | No |
| 1:05 to 2:20 | Faucet replacement | Yes (1.25 hrs) |
| 2:20 to 2:50 | Drive to fourth job | No |
| 2:50 to 3:50 | Leak inspection and repair | Yes (1 hr) |
| 3:50 to 4:25 | Drive home | No |
| 4:25 to 5:30 | Invoicing, two quotes, return three calls | No |
| 10.5 hours | Total day | 5 hours billable |
Ten and a half hours worked. Five hours billed. The single largest non-billable category is driving: 2 hours and 15 minutes in the truck, which is more time than any individual job took.
What the gap costs
Run the two versions of the math side by side. Assume a contractor who wants to take home $75,000 per year and has $3,200 per month in business overhead (insurance, vehicle payment and fuel, phone, software, tools, marketing, accounting).
| Rate set against 8 billable hours | Rate set against 5 billable hours | |
|---|---|---|
| Billable hours per week | 40 | 25 |
| Billable weeks per year | 48 | 48 |
| Annual billable hours | 1,920 | 1,200 |
| Annual overhead | $38,400 | $38,400 |
| Target owner income | $75,000 | $75,000 |
| Self-employment tax reserve (25%) | $25,000 | $25,000 |
| Required hourly rate | $72.08 | $115.33 |
The contractor using the 8-hour assumption sets the rate near $75 and feels reasonably priced. The contractor using the real 5-hour figure needs $115 per hour to hit the identical take-home number.
At 1,200 actual billable hours per year, the difference between charging $75 and charging $115 is $48,000 in annual revenue. Even a partial correction from $75 to $100 recovers $30,000. That is the cost of the assumption, and it repeats every year the rate goes unexamined.
The uncomfortable version: a contractor billing $85 per hour while working a 10.5-hour day for 5 billable hours is earning about $40 per hour of actual life spent working, before taxes and before overhead. The number on the invoice and the number in the bank account are very different figures.
The formula that actually works
Four steps. A calculator and fifteen minutes is all this requires.
Step 1: Count your real billable hours. Take the last two weeks of work and write down, per day, only the hours where you were physically doing work a customer is paying for. Not driving. Not quoting. Not buying parts. Not invoicing. Just the work. Most solo contractors land between 4.5 and 6 hours per day. Use your own number, not an average.
Step 2: Total your annual overhead. Add up every business cost for a year: general liability and commercial auto insurance, workers' comp if you carry it, truck payment, fuel, maintenance, tools and replacements, phone, software subscriptions, accounting or bookkeeping, licensing and renewals, marketing, bank and processing fees. Be thorough. Underestimating overhead is the second most common pricing error after overestimating billable hours.
Step 3: Set your target income and add the tax reserve. Decide what you need to take home. Then add 25 to 30 percent on top for self-employment tax, because as a solo operator you pay both halves of Social Security and Medicare plus income tax. A $75,000 take-home target requires roughly $100,000 in pre-tax owner earnings.
Step 4: Divide and add margin.
- Annual overhead + pre-tax owner earnings = total annual requirement
- Total annual requirement ÷ annual billable hours = break-even hourly rate
- Break-even rate × 1.15 to 1.20 = your actual rate
The final 15 to 20 percent is not padding. It funds equipment replacement, covers the weeks when a job falls through, absorbs the customer who pays late, and creates the reserve that lets a business survive a slow quarter. A business priced exactly at break-even is a business with no capacity to absorb a bad month.
Worked example using the numbers above: $38,400 overhead plus $100,000 pre-tax owner earnings equals $138,400. Divided by 1,200 billable hours equals $115.33 break-even. Multiplied by 1.15 equals $132.63 per hour, rounded to $130.
That number will feel high. It should. It is the first honest number most solo contractors have ever calculated for their own business.
The response every contractor has to this
"I cannot charge $130 an hour. Nobody in my market charges that."
That objection is worth taking seriously, and there are three legitimate responses to it.
Stop quoting hourly and start quoting flat rate. Most customers react badly to a high hourly number and react fine to a flat price for a defined job. "Water heater replacement, $1,450, done today" lands very differently than "$130 an hour plus parts, probably five or six hours." The math underneath is identical. The presentation is not. This is why nearly every successful residential service business quotes flat rate rather than time and materials, and it is the single easiest pricing change to make.
Reduce the non-billable hours instead of raising the rate. If the billable day can be moved from 5 hours to 6.5 hours, the required rate drops from $115 to $89 for the exact same take-home income. That is a 23 percent rate reduction achieved without touching what customers pay. The largest single block of recoverable time is almost always driving, which is covered in the next section.
Accept that some jobs are not worth taking. A job across town that pays $200 and consumes 90 minutes of driving is not a $200 job. It is a $200 job with a $170 hidden cost. Contractors who calculate their real rate start declining work that used to feel like a win, and their income goes up while their hours go down.
Where the recoverable hours actually are
Of the 5.5 non-billable hours in the example day, some are fixed and some are not.
Fixed and not worth fighting: loading the truck, lunch, and end-of-day admin. That is roughly 2 hours and it is the cost of running a business alone.
Recoverable: the 2 hours and 15 minutes of driving, and to a lesser extent the supply house run. The driving is recoverable not because the drives can be eliminated but because they can be made shorter through sequencing.
The four jobs in the example day were scheduled in the order the customers called. That produced a route that crossed the metro area twice. The same four jobs, grouped geographically and sequenced by proximity, would have produced drives closer to 10 to 15 minutes each rather than 30 to 35. That is a recovery of about 75 minutes per day, which is 1.25 additional billable hours, which at $115 per hour is $144 per day or roughly $34,500 per year.
The full method for grouping work geographically is covered in How to Group Service Calls by Area, which walks through setting up zone-based scheduling for a solo operation.
Why most contractors cannot see this
The reason this gap persists is not carelessness. It is that the drive time is invisible on almost every calendar contractors use.
Open Google Calendar and the Tuesday above looks like four appointments with comfortable gaps between them. The calendar shows 8:05, 10:10, 1:05, and 2:50. It does not show that 2 hours and 15 minutes of that day is spent behind the wheel, because it treats the address on each event as a text note rather than a location. There is no line item anywhere in the day that says "driving: 135 minutes."
Full field service platforms do not solve this either. Jobber and Housecall Pro both display the schedule as a list of booked jobs with the space between them left blank. Their routing features, where present, are built for dispatchers assigning work across multiple technicians, not for a solo operator trying to see what their own day actually costs them. A detailed comparison is in Jobber vs Housecall Pro vs Google Calendar.
A cost that never appears on any screen is a cost that never gets managed. That is the whole mechanism.
Making the cost visible
CalenJob was built around this specific gap. Every job carries a real street address, and the drive between consecutive stops is calculated from Google Maps using live traffic for the hour the drive will actually happen. That drive is rendered on the calendar as its own time-blocked event showing duration, distance, and a leave-by time.
The practical effect on pricing is that the non-billable portion of the day stops being a guess. A contractor can look at Tuesday and see 2 hours and 15 minutes of drive blocks sitting on the schedule, which makes the billable-hour count a measured number rather than an estimate. Rebuilding the rate calculation on a measured number instead of an assumed one is the entire point.
It also makes the sequencing problem obvious before the day starts. When two consecutive jobs sit 35 minutes apart, that gap is visible at 6 AM when it can still be rearranged, rather than at 12:30 PM when the truck is already moving. Mileage is totaled automatically from the same data, which handles the tax deduction side without a second app. That approach is covered in How to Track Mileage Without a Separate App.
What to do this week
- Track your real billable hours for five working days. A note on your phone is enough. Job time only.
- Add up your true annual overhead. Every recurring business cost, nothing left out.
- Run the formula. Overhead plus pre-tax income target, divided by real annual billable hours, times 1.15.
- Compare that number to what you charge now. If the gap is more than 15 percent, you have found the reason the bank balance never matches how hard the work feels.
- Fix it from both ends. Move the rate up and move the drive time down. Doing only one leaves most of the money on the table.
The contractors who do this exercise usually discover the same thing: the business is not underperforming, and the work is not underpriced by accident. The rate was built on a number that was never true, and every year it goes uncorrected costs somewhere between $20,000 and $50,000 in income that the same amount of work should have produced.
CalenJob is launching soon on iPhone. Three tiers from $14.99 to $34.99 per month. 14-day free trial. See the full feature breakdown.