How to Price Service Jobs for Profit (Without Losing Customers)
Most service businesses undercharge — not because they want to, but because they don't know their real costs. Here's the framework we use to quote jobs that stay profitable and still win the work.
Most service businesses undercharge.
Not because they want to — but because they don't know their real costs. They look at what the competition charges, subtract a few dollars to "win the job," and wonder why there's no money left at the end of the year.
Here's the framework we use to price real work.
The five costs every quote must include
If even one of these is missing, the job is secretly losing money:
- Labor. Not just the hourly wage — include payroll taxes, workers' comp, benefits, and paid downtime.
- Materials. Include waste and the time it takes to pick them up.
- Travel. Windshield time is labor that doesn't bill. Include it.
- Overhead. Insurance, vehicle, software, admin time, shop rent — spread across all billable hours.
- Risk buffer. Callbacks, rework, warranty, and the one job in ten that goes sideways.
Miss the risk buffer and you'll survive — until the first warranty callback wipes out the margin on three other jobs.
The biggest mistake: pricing off competitors
Quoting based on "what others charge" is a trap for two reasons:
- You have no idea what their cost structure is. They might be underpriced too — you're just copying a failing business model.
- You don't compete on price when you're doing skilled work. You compete on trust, response time, documentation, and outcome.
Price based on what your business actually needs to survive and grow. Then justify that number by showing the customer what they're getting.
The minimum viable quote formula
Here's a simplified version of the calculation we run on every job:
1. True labor cost per hour
`( Tech wage + taxes + benefits ) ÷ billable hours per year = fully-loaded hourly cost`
For most small shops this ends up being 1.3× to 1.6× the stated wage.
2. Overhead absorption
Total monthly overhead ÷ billable hours per month = overhead per billed hour.
Add this to your fully-loaded labor rate.
3. Target gross margin
Most healthy trades businesses run 45–60% gross margin on service labor. Below 35% and you're a job away from a bad month.
4. Job-specific adds
- Materials + 20–35% markup (you earned it — you picked them up, stocked them, and warranty them)
- Travel time (at your full rate, just shortened if you're close by)
- Risk buffer: 5–15% depending on how well you understand the scope
5. Present a clear number
Customers don't hate high prices. They hate confusing prices. Give them a single, defensible number with a short line-item breakdown — not a wall of math.
How to raise prices without losing customers
The real worry isn't the math — it's the conversation. Three things that work:
- Lead with outcomes, not hours. "We'll re-key all 14 cylinders, install a commercial-grade deadbolt on the back door, and document it." Not "It'll take about 6 hours."
- Show the documentation. Photos, signed scope, warranty terms. Anything that proves you're not the cheap option for a reason.
- Anchor with options. Give a good / better / best quote. Most customers pick the middle tier — and it's almost always your healthiest-margin option.
Our approach at MET Repairs
We don't guess. Every job type has a baseline built from real historical data:
- Average labor hours by trade
- Typical material cost + markup
- Local market comparisons for sanity checks
- A live profit-margin rule that flags any quote below threshold before it goes out
That's how you quote fast and stay profitable — without eyeballing it.
Want the same pricing discipline without building it yourself?
If you're a trades pro, our network comes with pre-built pricing baselines so you can focus on doing the work, not guessing the math.
If you're hiring out the work instead, request a quote — we'll give you a transparent breakdown so you can see exactly what you're paying for.