Skip to main content
Financial Management 6 min read

Why Your Revenue Is Growing But Profits Are Shrinking (And What to Do About It)

There's a particular kind of frustration that comes from a growing contractor business: your revenue is up, your team is bigger, you're doing more jobs than ever — and yet the money in your bank account feels like it's staying flat or even declining. You're working harder and somehow keeping less.

This isn't a cash flow illusion. It's a structural problem with a name: margin compression. And it's one of the most common financial challenges we see in contractor businesses between $1M and $10M in revenue.

The Revenue-Profit Disconnect

Revenue and profit aren't the same thing. This is obvious — yet most contractor owners manage their businesses against revenue as if the two were equivalent. The result is a systematic blindspot that hides where margin is being lost.

Here's the typical pattern: A contractor grows from $1.5M to $2.5M by doing more jobs. To do more jobs, they hire more techs. To manage more techs, they add a dispatcher or office manager. Each hire is justified by the revenue it enables — but the overhead costs grow faster than the margin generated by that revenue.

Meanwhile, pricing hasn't been reviewed in two years. Labor rates were set when materials cost 15% less. The owner doesn't know which service categories are profitable and which are loss leaders — because they've never had visibility at the job level.

What Job Costing Actually Tells You

Job costing is the practice of assigning all costs — labor, materials, overhead allocation, and burden — to individual jobs or job categories, and comparing those costs to the revenue generated.

Most contractors have a rough sense of their overall gross margin. Far fewer have visibility into margin by service type, by technician, or by job size. That's where the real data lives.

A simple job costing model reveals:

  • Which service categories are making money. For most HVAC and plumbing businesses, emergency service calls are highly profitable. Maintenance agreements and tune-up specials often generate negative or near-zero margin — yet they consume technician time that could be spent on profitable calls.
  • Which technicians are profitable. Not all techs generate the same revenue per hour, have the same callback rate, or upsell at the same rate. Job costing by technician surfaces this information and creates a basis for performance management.
  • Where you're effectively subsidizing the customer. Some jobs, when fully costed, lose money — but they feel necessary because they keep customers happy. Knowing this is the first step toward pricing correctly or structuring those services differently.

Overhead Allocation: The Hidden Killer

Direct labor and materials are the visible costs. Overhead — vehicles, insurance, licenses, office staff, management time, software subscriptions, advertising, and every other cost that doesn't attach directly to a specific job — is where the margin disappears.

The mistake most contractors make is treating overhead as a single number to monitor rather than a cost to allocate. If your overhead is $400,000 per year and you're doing 2,000 jobs, you need to recover $200 in overhead per job at minimum, before any profit. If your average job is $400, that means half of every job is just covering overhead — leaving your labor and materials margin as your only profit source.

Understanding this math changes how you think about pricing, job mix, and hiring decisions. Every new hire adds to overhead. Unless that hire generates more margin than they cost — including their loaded cost, not just their wage — they reduce net profitability even if they increase revenue.

Flat-Rate vs. Time-and-Materials Pricing

Time-and-materials pricing feels transparent and fair. The customer pays for actual time spent and actual materials used. But for the contractor, it creates two problems:

First, it makes every job a margin uncertainty. A job that takes longer than expected due to unforeseen complications — the kind that happen constantly in field service work — immediately compresses margin. The contractor absorbs the variance; the customer doesn't.

Second, it prices your labor based on time, not value. An experienced technician who diagnoses a problem in 30 minutes and fixes it efficiently generates less revenue under T&M than a slower tech who takes 90 minutes for the same job. That's backwards.

Flat-rate pricing addresses both problems. Prices are set based on the value of the outcome, not the time spent. Efficient technicians generate more margin per hour. Customers know the price before the work starts. And the contractor controls the economics of each service scenario.

The transition to flat-rate pricing is often a source of anxiety — owners worry customers will balk at higher prices on some jobs. In practice, customers respond well to price certainty. The customer who knows a drain clearing will cost $225 before you start is more comfortable than the customer watching the clock tick with no idea what they'll owe.

Three Actions That Immediately Improve Margins

1. Audit your service mix for profitability. Run a job costing analysis on your top 20 service scenarios by volume. Identify which are generating acceptable margin and which aren't. Stop promoting loss leaders; if you offer them at all, restructure their pricing.

2. Review your labor rates against your loaded cost. Calculate your true labor burden: wages, payroll taxes, workers' comp, benefits, and vehicle allocation. Divide by productive (billable) hours per year per tech. If your billing rate doesn't recover at least 2.5× that number, you're pricing below cost recovery.

3. Set a minimum job profitability threshold. Decide what minimum gross margin percentage every job must meet. Track jobs that fall below it. When a service category consistently misses the threshold, either reprice it or exit it. Profitable growth comes from doing more of what works, not from doing everything.

The Bigger Picture

Financial clarity isn't just about protecting margins in the short term. It's about building a business that can be valued, potentially sold, and that generates real wealth for the owner — not just a salary that requires 60 hours a week to earn.

Contractors who understand their unit economics make better decisions about hiring, about which markets to enter, about whether to add a service line or drop one. The ones who don't are flying blind — and eventually, market headwinds or operational complexity catches up with them.

Revenue growth is worth celebrating. But margin-healthy revenue growth is what actually builds a business.

Photo
James

Founder, B5 Services Group. Former home service contractor with 10+ years in the industry. Strategic advisor to contractor businesses navigating growth from $2M to $20M+.