Margins and Pricing
What Gross Margin Should a Professional Services Firm Target?
By Jeremy Davila, CPA, PMP · Founder, KLYVNT Advisors · Published August 3, 2026 · Updated August 24, 2026 · 8 min read
Target 50% to 60% gross margin on delivery, measured as revenue minus the fully loaded cost of your billable people. You probably don't know yours. Payroll imports as one lump into operating expenses, so your P&L never shows a gross profit line at all.
Why does my P&L show no gross margin at all?
Because nothing in your accounting system makes the split for you. Payroll lands in operating expenses as one number, and your income statement runs revenue to net profit with nothing in between. You get one margin. You need two. Net margin tells you whether the business works. Gross margin tells you whether the work works. The healthy 10% to 20% net margin range is entirely downstream of this one.
The reclassification takes an afternoon. Billable people go in cost of delivery, everyone else stays in overhead, and the monthly P&L you already read can answer a pricing question it couldn't last month. Getting the split right takes longer. Most firms your size don't track non-billable time, so the billable share of someone's week isn't a number you can pull. Estimate it. Ask each person to describe a normal week, check that against what actually shipped, and round to the nearest 10%. Within ten points is close enough to act on.
What actually counts as cost of delivery?
Cost of delivery is what it costs to produce work you already sold. People, mostly. Plus whatever you spend finishing a job and never bill back. The split feels fuzzy because half your team sits on both sides of it. A project lead who bills three days a week and runs the team the other two belongs in both places. That's fine. Pick a percentage, write it down, apply it every month.
In cost of delivery:
- Salary, payroll taxes, and benefits for billable staff, at the share of their time actually spent on client work
- Subcontractors and 1099 specialists you bring in per engagement
- Software licensed per delivery seat, the tools your team can't do the work without
- Direct project costs you eat rather than rebill: travel, printing, data, permits
Not in cost of delivery:
- Sales and marketing, including the salesperson who closed the deal
- Admin, ops, HR, finance, and the office manager
- Rent, insurance, general software, the things you pay for whether or not a client signs
- Your own salary, unless you carry a real billable load, in which case split it the same way you split everyone else's
The test is simple. If the cost vanishes the day the client vanishes, it belongs in delivery. If it survives with no engagement live at all, it's overhead. No third bucket.
The margin bands, and what each one tells you
These are practitioner observations from my own engagements, not a published benchmark.
| Gross margin | What it usually means |
|---|---|
| Under 40% | Underpriced, under-utilized, or paying senior people to do junior work |
| 40% to 50% | Workable, but overhead has to stay thin and one bad quarter hurts |
| 50% to 60% | The healthy target for a staffed professional services firm |
| 60% to 70% | Strong. Usually premium pricing, real leverage, or productized delivery |
| Over 70% | Excellent, or billable payroll is still sitting in overhead |
Read the band as a direction, not a score. The trend matters more. Drift from 58% to 49% across four quarters and you've got a problem the snapshot will never show you. Delivery model moves where you land, and it moves it hard. A staffing firm reselling hours and a licensed advisory practice don't belong on the same line. Rough shape, from what I see:
| Delivery model | Band I usually see |
|---|---|
| Staffing and placement, reselling hours | 25% to 40% |
| Agency and project work, delivered by staff | 45% to 55% |
| Licensed or specialized advisory | 55% to 70% |
| Productized or templated delivery | 65% and up |
A staffing firm at 30% is healthy. Against the first table that reads like failure, so check your own model's line before you panic.
What drives the number up or down?
Three levers. Rate, utilization, and realization. Rate gets all the attention and the other two do most of the damage.
Run the math on one $100,000 employee:
- Salary $100,000, loaded with payroll taxes and benefits at about 25%, call it $125,000 all-in
- Divide by 2,080 hours and you pay $60 an hour whether they bill or not
- At 70% utilization they bill 1,456 hours
- At a $200 bill rate that's $291,000 of revenue
- Gross profit $166,000, so 57% gross margin
Run your own load before you borrow that 25%. It sits on the light side: government figures put private-industry benefits near 43% of wages, and while dividing by 2,080 paid hours already absorbs the paid-leave slice of that, a firm carrying real health coverage still lands closer to 30% or 40%. Heavier load, higher multiple to reach the same band.
Now drop utilization to 55%. Same person, same rate, same clients, nothing else touched. They bill 1,144 hours, revenue falls to $229,000, and gross margin lands around 45%. Twelve points gone. One note on that denominator. I'm dividing by 2,080 paid hours, so utilization here counts every hour you pay for, PTO and holidays included. Most time-tracking tools report against roughly 1,880 available hours instead, which turns my 70% into their 77%. Pick one and stay on it.
Then realization, the lever nobody puts on a dashboard. It's the gap between what those hours were worth at standard rate and what you actually invoiced and collected: write-downs, discounts, the two days you ate because the client was unhappy, the fixed fee that ran 40% over scope. Utilization says the hour got worked. Realization says whether anyone paid for it.
Bench time, rework, and the client who ghosts for three weeks are margin problems, not scheduling problems.
The salary keeps running.
The rate multiple that gets you into the band
The band isn't something you hit by wanting it. It falls out of one ratio: bill rate over fully loaded hourly cost. Call that your multiple. Gross margin is 1 minus (1 divided by your multiple times your utilization), so that product hitting 2.0 lands you at 50%, and 2.5 at 60%.
That $100,000 employee costs $60 an hour loaded. At $200 you're running 3.3x, and at 70% utilization that's the 57% above. Bill them at $150 and your multiple is 2.5x, utilization unchanged, and you land at 43%. Identical delivery. Different row on the table. Roughly 3x loaded cost at 70% utilization drops you in the band. At 2.5x you need 80% just to touch 50%, and almost nobody holds 80%.
Check your multiple before you go hunting for a delivery problem.
What if you don't bill by the hour?
Same math, different denominator. Fixed fee, monthly retainer, milestone, value-based, the invoice format doesn't change the arithmetic.
Take one engagement. Add up the hours everyone actually put into it, price them at fully loaded cost, and set the total against the fee. What's left is gross profit on that job. Divide by the fee for the margin. You still need hours. Not to bill them. To cost them.
Fixed-fee firms resist that hardest, and it's what makes the number real. Divide the fee by hours worked for your effective rate, the only one that ever mattered. I've seen a $30,000 fixed fee land at an effective $120 an hour against a $225 standard rate. Nobody discounted a dollar. The scope grew and nobody repriced it.
Sub-heavy firms carry a different ceiling. When most of the labor passes through at a markup, 50% isn't on the menu. Watch markup and volume instead.
How do I fix a margin under 45%?
In order, cheapest first.
- Recode the P&L. Split billable payroll out of overhead before you conclude anything. Some firms find their margin was fine and the reporting was broken.
- Measure utilization weekly. Monthly is too late to save the month. You want to see the gap while there's still time to fill it.
- Track realization by engagement. What you collected against what those hours were worth at standard rate. The losers hide behind a firm-wide average.
- Push work down. Most firms pay a senior rate for work a mid-level person could do. That mismatch is quiet and it's expensive.
- Kill scope creep with paper. A written change order, every time, even for the small stuff. Unbilled extra work is the most common leak I see, and it never shows up as a line item anywhere.
- Raise the rate. Last, not first, because a rate increase on a broken delivery model just buys you time.
Most of the gain sits in the first three.
In the service firms I clean up, that recode across twelve months usually splits one problem into two. Some of what you called delivery cost is an admin layer nobody ever saw on its own line. The rest is two or three engagements that drifted from hourly to fixed fee without anyone repricing. A blended number hides both. Split the P&L and they show up in ten minutes.
Same numbers, different question.
The firm-wide figure smooths across service lines too, covering for the one engagement type bleeding underneath, so break the margin down by service line before you reprice anything.
The honest answer
50% to 60%. The number means nothing until billable payroll sits in cost of delivery, and until you know your multiple.
Do that split first.
Then look at what falls out. Margin holds, your pricing is sound and your real problem lives in overhead. Margin collapses, you're selling hours for less than they cost to produce, and no amount of top-line growth fixes that.
It just makes the leak bigger.
Frequently asked questions
What is a good gross margin for a professional services firm?
In the service firms I clean up, a healthy staffed firm lands between 50% and 60% gross margin, measured as revenue minus the fully loaded cost of billable people. Delivery model moves that a lot: a staffing firm reselling hours is healthy at 30%, while a licensed advisory practice should clear 55%. Under 40% for a staffed firm usually means you are underpriced or under-utilized.
Is direct labor a cost of goods sold for a service business?
Yes. The salary, payroll taxes, and benefits of anyone doing billable client work belong in cost of delivery, not operating expenses. The simple test: if the cost goes away when the client goes away, it is delivery cost. If it survives, it is overhead.
What bill rate multiple do I need to hit a 50% to 60% gross margin?
About 3x your fully loaded hourly cost at 70% utilization. The math is gross margin equals 1 minus (1 divided by your multiple times your utilization), so a multiple times utilization of 2.0 puts you at 50% and 2.5 puts you at 60%. A $100,000 salary loaded at 25% costs about $60 an hour, so a $200 rate is 3.3x and lands near 57%. At $150 you are at 2.5x and need 80% utilization just to touch 50%.
How does utilization affect gross margin?
Hard. You pay a billable employee for 2,080 hours a year whether they bill or not, so every unbilled hour comes straight out of gross profit. On a $100,000 salary at a $200 bill rate, dropping utilization from 70% to 55% takes gross margin from roughly 57% down to about 45%. Same rate, same person, twelve points gone.
How do I raise gross margin without raising prices?
Track realization by engagement (what you collected against what those hours were worth at standard rate), push work down to the right seniority level, cut scope creep with a written change order process, and measure utilization weekly instead of monthly. Most firms are paying senior rates for junior work somewhere in the delivery mix, and that gap alone is often several points of margin.
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.