How to Raise Your Prices Without Losing Customers
Raise prices from evidence, not nerve. Pull your real margin by job, size the increase to the gap between what you earn and what you need, apply it to new quotes first, tell existing customers once in plain language with a date, and then hold the number. Most customers stay. The ones who leave are usually the ones costing you money. CRMb shows margin on real punched hours and real material cost, so you can see which work is underpriced before you change a single rate.
Every service business waits too long. Material prices climb, wages climb, the truck payment climbs, and the rate card stays where it was three years ago. By the time the pressure is obvious, the increase you need is large enough to feel scary — and that fear is what keeps it from happening.
The way out is to make it a calculation instead of a confrontation.
Know your real margin before you touch a price
You cannot size an increase you cannot measure. Before anything else, answer one question for the last 90 days of completed work: what did each job actually earn?
Real job margin needs three inputs:
- Revenue. What you invoiced for the job.
- Labor. Real hours worked on that job, at real burdened cost — not the hours you estimated.
- Materials. What the materials actually cost you, not what you guessed at quote time.
The gap between estimated and actual is where the answer usually hides. A job quoted at 24 hours that took 31 is not a pricing problem in the abstract; it is a specific, measurable 7-hour hole. In CRMb, crew hours punched in Punch flow straight into that job's labor cost, and materials pulled from inventory land at average cost, so the margin figure in Reports reflects what happened rather than what was planned.
Run that report and sort by margin. You will typically find three groups:
| Group | What you see | What it means |
|---|---|---|
| Healthy | Margin at or above target | Price is working; leave it |
| Thin | Margin a few points low | Candidate for a modest increase |
| Underwater | Margin near zero or negative | Price is wrong, or scope is wrong |
That sort is your pricing plan. It tells you which work to raise, which is far more useful than an across-the-board number.
Size the increase
Once you know the gap, the math is simple. If a service earns a 12% margin and you need 25%, you do not raise the price 13%. Margin is a percentage of price, not of cost, so raising price by the margin gap undershoots.
Work from cost instead. To hit a target margin:
Price = Cost ÷ (1 − target margin)
A job with $1,000 of true cost at a 25% target prices at $1,000 ÷ 0.75 = $1,333. If you were charging $1,136 (a 12% margin), that is a 17% increase — not 13%. Getting this backwards is why so many increases fail to fix anything. (The full mechanics are in markup vs margin.)
Some practical bounds:
- Under 5% rarely covers real cost drift and is barely worth announcing.
- 5 to 10% is the common annual adjustment. Most customers absorb it without comment.
- 10 to 20% is a correction after years of standing still. Expect questions; have the answer ready.
- Over 20% signals the old price was badly wrong. Phase it, or re-scope the service so the customer sees something change.
Time it so the increase lands cleanly
Timing does more work than wording.
New quotes go first. Every quote you send from today forward uses the new number. New customers have no reference point — they are simply comparing you to other bids, which is a comparison you have always been in. This alone fixes the majority of your pricing over a few months as your customer base turns over.
Recurring customers get notice. For maintenance contracts and standing schedules, give 30 to 60 days before the new rate takes effect. Enough time to plan, not enough to shop endlessly.
Anchor to a real date. January 1, the start of your fiscal year, or a contract anniversary all read as routine business rather than a reaction to one bad month.
Never raise mid-job. A change in price during work in progress belongs in a change order tied to a scope change, not a rate letter.
Announce it once, in plain language
The message that works is short, specific, and unapologetic. It states the new number, the date, and what is not changing. It does not over-explain, and it does not ask permission.
Hi Dana,
Starting November 1, our monthly maintenance rate moves from $340 to $375. This is our first adjustment since 2024 and reflects higher material and labor costs.
Everything else stays the same: same crew, same Thursday schedule, same scope. Your November visit will be invoiced at the new rate.
Happy to walk through it any time. Thanks for the continued work.
What makes it work:
- The number is stated outright. Burying it invites a second conversation you do not want.
- One reason, given once. More reasons sound like an argument you are having with yourself.
- Continuity is named. People fear a worse service more than a higher price.
- No apology. "Sorry" invites negotiation.
Send it in writing so there is a record. In CRMb, the next quote or invoice carries the new rate on a public share link the customer can open and sign without an account, so the number lands the same way every other document does.
Handle the pushback you will actually get
A minority of customers respond. Nearly all of them say one of three things.
"That's a big jump." Agree with the observation, not the objection. "It is — it's our first change in three years." Costs compounded quietly; the increase is the catch-up.
"Can you hold my old rate?" Sometimes yes, briefly, for a genuinely good account: hold the current rate for one more cycle, then move. Never hold it indefinitely — you will be back here in a year with a worse number and a customer who has learned that your prices are negotiable.
"I'm getting other quotes." Fine. Say so plainly and keep working. Customers who bid out a 7% increase were price shopping already, and were going to leave the first time someone undercut you.
Then hold the number. An increase you quietly reverse for whoever pushes hardest is not a price — it is an opening offer, and word travels.
Losing some customers is the point
The uncomfortable part: the right increase should cost you a few accounts, and the ones you lose are usually the ones you were subsidizing.
Run the arithmetic before you worry. Say you bill $200,000 a year at a 20% margin, and you raise prices 10%:
| Scenario | Revenue | Margin $ |
|---|---|---|
| No increase | $200,000 | $40,000 |
| +10%, keep everyone | $220,000 | $60,000 |
| +10%, lose 10% of customers | $198,000 | $54,000 |
Revenue drops slightly in the third row and profit still climbs $14,000 — on less work, less wear on the trucks, and fewer hours from a crew you were struggling to staff anyway. That is the whole case for raising prices in one table.
Watch two numbers afterward: your quote win rate and your margin per job. If win rate barely moves, you left money on the table and can go further next year. If it falls off a cliff, the increase outran your market and you can adjust with evidence rather than nerves.
FAQ
How often should I raise prices? Review annually, adjust when the numbers say so. Small regular increases are absorbed far more easily than one large correction every five years.
How much can I raise prices at once? Most service businesses move 5 to 10% without meaningful loss. Larger corrections are possible when the old price was clearly wrong, but phase anything over 20% or pair it with a visible change in scope.
Should I raise prices for existing customers or just new ones? Both, in that order. New quotes get the new rate immediately; recurring customers get 30 to 60 days' notice. Holding old customers at old rates forever is how the gap got this wide.
Do I have to explain why? One sentence. Rising material and labor costs is true and sufficient. A long justification reads as an invitation to negotiate.
What if a customer refuses to pay the new rate? Decide in advance whether the account is worth keeping at the old price. If its margin was already thin, letting it go frees capacity for work that pays. Check the job's actual margin before you decide.
How do I know which services to raise? Sort completed jobs by real margin — actual labor hours and actual material cost, not estimates. Raise the thin and underwater work first; leave healthy work alone.
Getting started with CRMb
CRMb is a CRM, scheduling, jobs, quoting, invoicing, and inventory app for service businesses. Crew hours punched in Punch flow into each job's labor cost, materials come out of inventory at average cost, and Reports shows margin on the work you actually did — the evidence a price increase should be built on. Quotes and invoices carry your new rates on public share links customers can open and sign.
Start a 14-day free trial at crmb.io. No credit card required.