Skip to main content
2,200+ contractors in the research universe benchmarked. Do you know your gross profit per labor hour? See where you stand →
Level
Business Growth

You Don't Have a Lead Problem. You Have a Triage Problem.

Sam YangEx-CFO across trades, SaaS & services · $2.5B in total PE/banking transactions · Stanford MBA
Updated October 7, 2026·Originally published June 8, 2026·8 minute read
Share
You Don't Have a Lead Problem. You Have a Triage Problem. Level

Here's a thing almost no marketing agency will tell you: if you're already turning work away, you probably don't have a lead problem. You're booked two weeks out and declining jobs for "lack of capacity." In that state, spending more on lead-gen that brings in the same mix of work is pouring water into a full glass. The real constraint isn't demand, it's the scarce crew. And the lever that matters when capacity is capped isn't more work. It's triage: making sure the right jobs reach the right techs, and the marginal jobs don't crowd out the profitable ones.

This is a genuine mindset shift. The entire contractor marketing industrial complex is built on "get more leads." That advice is right for a shop with idle trucks. It can also be right for a full shop buying leads in a category that pays better than the work it would displace. For a booked shop buying more of the same mix, it's solving the wrong problem at real expense.

If this is you

Fictional scenario: you're booked solid and still not making the money you should. You took the easy $400 calls because they were there, and pushed the $14K change-out to "next week" three times until the customer went elsewhere. Your crew was busy every single day. Your margin was mediocre. That's not a demand problem. That's a triage problem.

When you have enough demand, sorting beats sourcing

Think about what's actually scarce in your business. It isn't customers, it's qualified technician hours. So the highest-leverage decision you make every day isn't "how do I get another call." It's "of the work in front of me, which gets my limited hours, and which doesn't."

Most contractors make that decision badly, by default. Work gets taken in roughly the order it arrives, weighted by whoever's loudest, and the tech who's free grabs whatever's next. Nobody's asking the only question that matters: which of these jobs brings back the most gross profit per technician hour? The result is a busy, mediocre-margin business, full trucks, thin P&L.

The jobs are not equal. Across Level's contractor benchmark research, job-level gross margin runs from 28.4% at P25 to 60.2% at P75, and 6.2% of jobs are negative, across 1,747,089 completed jobs from 1,791 companies. That spread mixes companies, so check the range inside your own job list before assuming yours is as wide. On quoted work, labor carries a 47.7% quote-line gross margin vs 31.5% on materials (2.2M+ quote lines), per Level Index published metric (see its eligible sample and definition). When you let low-margin work absorb your scarce hours, you're not just leaving money on the table, you're spending your rarest asset on your worst-paying work.

The three things triage actually decides

Good triage is three decisions, made fast and consistently:

  1. Which inbound jobs to take, and in what order. Score new work by expected gross profit per technician hour, job type and fit, rather than arrival time. The $14K replacement gets the slot when its expected gross profit per tech hour clears your floor; route or schedule the $180 call after checking required skill, customer commitments and its own contribution. Two exceptions override the floor. Service-agreement members with a response-time commitment get the response you promised. Small calls on equipment past its expected life get a qualified tech, because that's where replacements come from. Track how many replacements originate from service calls so you can see what the small calls feed.
  2. Which quotes to chase. You may not have a quote-creation problem. Median conversion on decided quotes (won divided by won plus lost, pending excluded) is 73.9%, per Level Index published metric (see its eligible sample and definition) across 794 companies with at least 20 decided quotes. The separately eligible all-issued-quote median is 38.1% (794 companies with at least 20 issued quotes). Different denominators and separate company medians do not measure the fraction of quotes permanently undecided. Winning quotes convert a median 2 days after sending; lost quotes are marked lost after a median 29 days. That association does not prove a follow-up lift. Review your open quote ages and outcomes, then test a cadence against your own matched cohort. (See the 7-day quote follow-up rule and 48,000 quotes never sent.)
  3. Which customers deserve the capacity. Your biggest-revenue customer is sometimes your worst-margin one. Triaging at the account level, not just the job level, is how you stop subsidizing a loss-leader with everyone else's profit. (Your biggest client might be losing money.)

Free benchmark review

See how your operating numbers benchmark.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

Where AI fits, and where it doesn't

This is a clean example of the brand line: AI does the sorting, humans do the selling. It can't replace the tech who closes a $14K replacement on trust. What it can do is make sure that opportunity never gets buried:

  • Score inbound work by expected margin when it lands, using job type, customer history, and equipment, so the profitable jobs surface instead of getting taken in arrival order. This only works if completed jobs already carry actual labor and material costs by job type. Without that history, any score is a guess.
  • Rank the open-quote pile by probability and value, and draft follow-up from human-approved templates before quotes age out, for a person to review and send under the engagement's approved workflow, the un-worked deals, not the lost ones.
  • Flag account-level drift, the customer whose margin has quietly slid below the floor, so you can re-price or re-prioritize before it eats a quarter.

This describes an approach, not a promise about any specific tool's output; check what your own systems can do with your data. The human still makes the call on the big jobs and the key relationships. AI just makes sure the right calls are in front of the human, sorted by what they're worth, instead of buried under a pile of $180 service tickets that happened to come in first. That's the operating layer for the trades applied to the top of the funnel.

How to start triaging this week

You don't need a platform to begin, you need the discipline:

  • Define your "good job." Write down the gross-profit-per-hour floor a job has to clear to get prime crew time. Everything below it gets scheduled around, subbed out, or priced up.
  • Rank the open-quote pile by value, weekly. Work the top of the list with real follow-up. Stop writing new quotes you won't chase.
  • Review your top 10 customers by gross profit, not revenue. Protect capacity for the profitable ones; fix or fire the loss-leaders.
  • Test lead spend against the work it displaces. If you're turning work away, a paid lead only pays when its job clears your gross-profit-per-hour floor and beats the job it bumps. Compare GP per tech hour of jobs from each paid channel with the jobs they would displace. Fictional arithmetic: a channel whose jobs average $120 GP per tech hour, displacing work at $90, adds about $30 per hour before lead cost. A channel averaging $70 loses about $20 per hour before lead cost. Cut or redirect the losers, keep the winners, and add volume only when capacity opens up.

When demand is abundant and labor is scarce, the winners aren't the ones with the most leads. They're the ones who point a limited crew at the most profitable work, every single day.

FAQ

Should contractors spend more on lead generation?

Mainly if you have idle capacity, or if a channel brings jobs that clear your gross-profit-per-hour floor and beat the work they would displace. If you're already booked out and the leads bring the same mix, more leads won't help, and the spend likely loses money. Before deciding, compare GP per tech hour by lead channel against the jobs it would bump. A booked contractor usually gets more from triaging the demand it already has.

What is job triage for contractors?

Triage is deciding which jobs get your limited technician hours, in what order, based on gross profit per tech hour rather than arrival time. It also covers which open quotes to chase and which customers deserve prime capacity. The goal is to point a scarce crew at the most profitable work instead of taking jobs in the order they come in.

How does AI help with sales if I already have enough customers?

By sorting, not sourcing. Where completed jobs already carry actual labor and material costs by job type, an AI-assisted approach can score inbound jobs by expected margin, rank the open-quote pile by value and probability, and flag accounts drifting below margin. That way the profitable opportunities surface and get worked before they go cold. Without that cost history, start with the manual ranking steps above. The human still closes; AI makes sure the right work is in front of them.

Which jobs should I prioritize?

The ones that clear your gross-profit-per-hour floor, whether replacement, diagnostic, service-agreement pull-through work or a smaller call. A replacement can generate more gross profit per technician hour while having a lower margin percentage. Compare complete costs and required crew time before ranking it. Define the floor explicitly, give those jobs prime crew time, and schedule or sub out the rest. The exceptions are service-agreement members with response-time commitments and calls on equipment past its expected life, which can feed future replacements. Anchor it to your own margin benchmarks, not gut feel.


If your trucks are full and your margin still isn't where it should be, the problem is upstream of the field, it's which work you're saying yes to. Book a 15-minute call and, where your job records carry actual costs, we'll score recent jobs by gross profit per tech hour and estimate what triage could be worth. The first profitability audit is free.

Share

Get the next one

Want next week's benchmark in your inbox?

One email a week. Real numbers from 2,200+ contractors in the research universe. No fluff. Unsubscribe anytime.

Sam Yang

About the author

Sam Yang

Founder & CEO

Founder of Level, the always-on finance team for contractors, service businesses, and ecommerce brands. Ex-CFO across trades, SaaS, and service businesses. 4 years as Director of Growth Product at BuildOps, building financial tooling used by 1,000+ commercial contractors. Four years in PE and investment banking rolling up and acquiring service businesses, $2.5B in total transactions including M&A and IPOs. Stanford MBA, Brown undergrad. The Level founding team's analysis of 2,200+ contractors ($13.25B in job revenue) across operating, private-equity, and CFO roles anchors the Level Index benchmark research.

LinkedIn

See how your operating numbers benchmark.

Start with a free conversation about your priorities. With agreed access to the relevant records, we compare your numbers with applicable benchmarks and identify what to review first.

2,200+ businesses benchmarked$13.25B in revenue analyzedWeekly action cadence

No credit card. Start with a 15-min call. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.