Margins and Pricing
How Do I Know If I Am Underpricing My Services?
By Jeremy Davila, CPA, PMP · Founder, KLYVNT Advisors · Published July 27, 2026 · Updated August 24, 2026 · 7 min read
You're underpriced if three numbers say so: a close rate above 70% on qualified proposals, delivered hours running 20% to 30% past what you quoted, and 18 months since your last increase. Across the service firms I clean up, all three landing together is the tell. Passing every test is the problem.
Underpricing never announces itself. It shows up as a busy quarter that ends with no cash, which sends you chasing the wrong fix: more volume, tighter scheduling, a cheaper hire. Then you job-cost the work and find the service line that quietly loses money. The number was wrong at the quote, not at delivery.
The three checks, and two that confirm them
No single one proves anything, but three together and the price is your problem, not your pipeline.
| Check | What to pull | Where it lands when the price is right |
|---|---|---|
| You win almost everything | Close rate on qualified proposals, last 12 months | 40% to 60% |
| The job eats more than you quoted | Delivered hours against quoted hours, last 3 jobs | Within 10% |
| The rate is stale | Months since your last increase | Under 18 |
| Confirming: busy but thin | Gross margin by service line, before overhead | 55% to 70% advisory, 25% to 40% staffing-heavy |
| Confirming: you deliver free | Owner delivery hours costed at market wage | None uncosted |
Those bands are practitioner observation from cleanup work, not a published benchmark, and that margin row moves hard with your model, so trust the direction of your own trend before you trust my numbers. Qualified is the load-bearing word too. Budget confirmed, the person who signs on the call, a scope you'd have taken. All three, or your close rate is noise.
Stale is the signal nobody counts. Eighteen months without moving your rate, while wages and software renewals climbed underneath you, is not holding the line. That's a price cut you gave away and called loyalty.
Why does winning every deal mean my price is too low?
A proposal is a market test. You're passing it 100% of the time, which means the market never got asked a hard question. A price everybody accepts is a price nobody had to think about. One real exception: referral-only pipelines that settle the number on the phone close 80% or 90% at premium rates, because the test already happened before anything went out in writing. So the question isn't the close rate itself. It's whether anything in your process tests the number at all.
Some of those wins weren't wins. When a buyer says yes in four minutes, they had budgeted more, and the gap between what they'd have paid and what you asked walked out of the room before you sat down. You'll never see that number on a report. It only shows up as a quarter that felt great and paid badly.
Fast yeses are expensive.
How do I check my effective hourly rate?
Take the fee. Divide it by the hours the job actually consumed, start to finish, counting revisions, check-in calls, invoicing, and the one email thread that ate a Tuesday. That's your real rate. Everything you quoted was a forecast. Then cost the delivery honestly, because this is where most owners fool themselves. An $85 fully loaded wage (pay plus payroll taxes and benefits, spread across all 2,080 paid hours) is not what an hour of client work costs you, since nobody bills every hour they're paid for. At 72% billable, that person costs $118 for every hour that reaches a client.
| Quoted | Delivered | |
|---|---|---|
| Fee | $12,000 | $12,000 |
| Hours | 60 | 88 |
| Effective rate | $200/hr | $136/hr |
| Loaded cost per billable hour (at 72% utilization) | $118/hr | $118/hr |
| Gross margin | 41% | 13% |
Now read the quoted column, not the delivered one. At $200 against $118 of real cost, this was a 41% job before anybody touched it, under where labor-delivered work like this should land. Scope didn't ruin it. Scope exposed it.
In the project work I review, delivered hours typically run 20% to 30% past quoted, and that's on jobs everyone remembers as having gone fine. The overrun is rarely one dramatic event. It's four hours of unbilled hand-holding a week that nobody logged, because logging it felt petty at the time. On its own, though, an overrun is an estimating and change-order failure rather than a pricing one, and it's the cheaper of the two to fix. Tighten the scope, write the change order, then look at the price. Raising your rate over an unmanaged leak just lifts the ceiling on the leak.
Do this on your last three closed projects, not your best one. If the quoted column keeps landing under a healthy service margin before a single hour slips, scope management isn't your issue. You're selling below cost with extra steps.
What if my competitors charge less?
Some of them genuinely do. Most are quoting a different job and you're both using the same word for it. The cheaper shop stripped something out: senior attention, a real project manager, a fixed timeline, somebody who answers the phone in August. Legitimate business. Just not yours.
A buyer who picks purely on rate was never your client, and you've been pricing your entire book to keep someone you didn't want.
Then check your own math before blaming the market. A firm that pays its owner nothing can charge a lot less, right up until it folds. If your price only clears because you personally deliver a slice of it unpaid, the client isn't getting a bargain from your business. They're getting one from you. So cost those hours at what you'd pay somebody else to do the work. That's job costing, not payroll. What you actually take out of the company is a separate annual question about owner salary versus distributions, settled once a year, never per job.
Cheap on purpose is a position, cheap by drift is just erosion.
How much should I raise, and how fast?
Not all at once, and not by 3%.
And not evenly. With 30 or 40 clients the increase isn't one number, it's three. Rank the book by delivered effective rate. The bottom quartile is where your margin hides, so move those hardest, 15% to 20%, and expect to lose a few. Hold the ones already priced right. Everybody in the middle gets the standard move.
On new work, go 10% to 15% on the next quote and watch what happens. Barely moves? You left more on the table and you can go again next quarter. For existing clients, 8% to 10% at the natural renewal, 30 to 60 days of notice, one sentence, no apology in it. Don't pad it with new features nobody asked for. That reads as an opening bid.
Read your agreements first, because part of your book isn't yours to reprice this quarter. A signed rate card, a multi-year term, or an escalator tied to an index sets both your ceiling and your date. Where you're locked, calendar the renewal window and put the increase in the next scope instead of mailing a letter your own contract overrides. Let your attorney read anything with procurement behind it.
Expect to lose somebody. That's the mechanism working, not failing. In the increases I've watched land, the clients who walk over 10% are usually the ones consuming the most unbilled time, so the revenue that leaves takes less margin with it than the spreadsheet suggests. That only holds if you resell the freed capacity. If you don't, the whole margin drops straight to the bottom line while your overhead sits exactly where it was. Line up the replacement work before you send the letters.
One raise per relationship per year. Two inside twelve months stops reading as a correction and starts reading as a policy.
The honest bottom line
Nobody types this question after a quarter that felt good. You're not hunting for a number, you're hunting for permission. So go build the case: pull your close rate, run the effective hourly on your last three jobs, and let those two numbers make the argument you've been making to yourself.
Bottom line: all three at once (close rate over 70% on qualified proposals, delivered hours 20% to 30% past quoted, 18 months since your last increase) and you're underpriced. An overrun alone, with margin intact, is a scoping problem instead.
Start with the next proposal, not your whole client list. KLYVNT wires close rate and effective rate into the monthly numbers so the next increase is a decision instead of a guess. Quote the job you actually deliver.
Frequently asked questions
What close rate means I am charging too little?
As a practitioner observation rather than a published benchmark, healthy service firms land somewhere around 40% to 60% on qualified proposals. Qualified means all three: budget confirmed, the person who signs on the call, and a scope you would have taken. Above roughly 70% and the price stopped being a real test, unless you settle the number before the proposal goes out, which is how referral-only firms close 80% or more at premium rates.
How do I raise prices on an existing client without losing them?
Move 8% to 10% at the natural renewal or anniversary, give 30 to 60 days of notice, and say it in one sentence with no apology attached. Read the agreement first, because a signed rate card, a multi-year term, or an escalator tied to an index sets both your ceiling and your date. Do not bundle the increase with a list of new features nobody asked for, which reads as a negotiation opening.
Should I raise prices on every client at the same time?
No. Rank the book by delivered effective hourly rate and move the bottom quartile hardest, 15% to 20%, because that is where the margin is hiding. Hold the clients already priced well. One increase per relationship per year, and line up replacement work before you send the letters, since freed capacity only protects your margin if you resell it.
Should I raise prices if my costs have not gone up?
Yes, if the value of the work went up or the rate has gone stale. Price tracks what the outcome is worth to the buyer, not what it costs you to produce. Cost only sets your floor. A rate that has not moved in 18 months while wages climbed is already an unannounced price cut.
Is charging less than competitors ever the right strategy?
Only when you have a genuine cost advantage and you chose the position on purpose. Being cheap because you never raised your rate is not a strategy, it is drift. And a price that only works because the owner delivers unpaid hours is not a low price, it is a subsidy you are funding personally.
Written by Jeremy Davila, CPA, PMP · Founder, KLYVNT Advisors. KLYVNT Advisors provides bookkeeping, controller, and fractional CFO services for founder-led service businesses. Book a call.