BookkeepingProfitability

You Don’t Have a Revenue Problem. You Have a Margin Problem.



A $2.6M creative agency came to us with a familiar story. Revenue was solid. The team was busy. Clients were paying on time. And the founder couldn’t figure out why there was never any money left.

Their instinct was the same one most agency founders have: sell more. Win more clients. Push the top line higher and the cash flow problem will sort itself out. Twelve months later, their revenue was virtually unchanged – it actually dropped by $16K. Their net profit went up by $325,000.

Gross profit margin (GPM) measures the percentage of revenue remaining after subtracting the direct costs of delivering your services – billable salaries, contractor fees, delivery software, and pass-through costs like media spend, printing, and subcontracted production. For professional services firms between $1M and $10M, a healthy GPM typically falls between 50% and 70%. Most agencies we work with are well below that when we first see their real numbers.

This post is about why chasing revenue is often the wrong move, why the answer is usually hiding in the middle of your P&L, and what it actually looks like to fix it.


The Revenue Reflex

When cash gets tight, the instinct is always the same. Sell more. Book more calls. Launch a new service. Hire another salesperson. Push the top line up and everything else will follow.

It feels logical. More money coming in should mean more money left over.

The problem is that if your gross profit margin is below 40%, every new client you win barely covers their own delivery cost. You’re adding complexity, team stress, and operational overhead for almost no profit contribution.

Run the numbers. At 35% GPM, a $10K/month client generates $3,500 in gross profit. After that client’s share of overhead – rent, software, admin, the time you spend managing the account – you might keep $500. Maybe nothing. Maybe you lose money on them entirely.

And you won’t know which one it is because most agency financial setups don’t show you margin at the client or service level. You just see revenue going up and wonder why it doesn’t feel like it.

According to Planable’s 2026 Agency Profitability Report, 21.5% of agencies are actively losing money. Not breaking even. Losing money. Many of them have healthy-looking revenue numbers. The revenue isn’t the problem.

Why Revenue Growth Makes Bad Margins Worse

Growth without margin discipline creates weight, not momentum.

Each new client at sub-40% GPM requires more delivery headcount. More headcount raises your cost base. A higher cost base means you need even more revenue to cover the new costs. You’re on a treadmill, running faster to stay in the same spot.

This is the “busy but broke” pattern. The team is slammed. Clients are happy. Revenue is up 20% year over year. And the founder is still checking the bank balance every morning wondering if payroll is going to clear.

Here’s why the maths works against you.

Two Paths for a $2M Agency

What happens when you chase revenue vs. fix margins

Path A: Chase Revenue
Add $500K in new revenue at current margins
New revenue+$500K
GPM (unchanged)35%
Gross profit added$175K
New hires to deliver2 people
Loaded hiring cost-$160K
Net Gain
$15K
Plus added complexity and management overhead
Path B: Fix Margins
Improve GPM from 35% to 50% on existing revenue
Revenue change$0
GPM improvement35% → 50%
Old gross profit$700K
New gross profit$1,000K
Additional headcountNone
Net Gain
$300K
No new clients, no new hires, no new complexity
20x more profit from fixing margins than from chasing revenue.

There’s a term for this that fits perfectly: indigestion that agencies mistake for starvation. There’s plenty of revenue coming in, but the business can’t convert it into profit. The instinct is to sell more. But selling more is actually making things worse.

The maths is clear. But most founders never see it this way because their books aren’t set up to show them.

Where the Margin Is Actually Hiding

Most agency founders don’t know their real GPM. That’s not a criticism – it’s a structural problem.

Here’s what typically happens. Your bookkeeper or accountant sets up your chart of accounts using a generic template. Employee salaries go into one bucket. Software goes into another. Contractors might land in cost of goods sold or might land in operating expenses depending on who set it up. There’s no separation between the people who deliver client work and the people who run the business. Everything is blended.

The result: your reported GPM is fiction. It might be too high (because delivery costs are sitting in overhead) or too low (because overhead is mixed into direct costs). Either way, you can’t trust it. And you definitely can’t see it by client or service line.

When you restructure the chart of accounts to properly separate direct delivery costs from operating expenses, the real GPM is almost always different from what the founder expected. Sometimes dramatically.

One agency we worked with – a 5-person wedding venue marketing company – had GPM swinging between 22% and 73% month to month. Not because their business was wildly inconsistent, but because their books couldn’t distinguish between what it cost to deliver the work and what it cost to run the business.

This is actually good news. If the problem is structural – how the books are organised – it’s fixable. You don’t need to overhaul your delivery model or fire half your team. You need your financials to tell you the truth so you can make decisions based on what’s actually happening.

Here’s where healthy GPM sits for professional services firms at different stages. These numbers reflect patterns across hundreds of agencies. Your numbers may look different depending on your business model, service mix, and operational structure – use these as directional guideposts, not rigid rules.

GPM Ranges for Professional Services Firms

Gross Profit Margin interpretation by performance band

<40%
Struggling
Likely over-servicing, underpricing, or carrying high contractor costs. Not sustainable long-term without intervention.

40-50%
Average
Workable if overhead is lean, but leaves little room for error, slow months, or investment in growth.

50-60%
Great
Healthy balance between delivery efficiency and service quality. Room to invest, hire, and weather downturns.

60-70%
Strong
Shows pricing power and resource discipline. Typically seen in specialized agencies with strong value-based pricing.
Note: These benchmarks assume your financials are set up correctly. Most agencies we work with do not have this right when we first meet them.

One important note: these benchmarks assume your financials are set up correctly – direct costs in the right buckets, revenue recognised properly, and overhead separated from cost of delivery. Most agencies we work with do not have this right when we first meet them. If your GPM looks unusually high or low, the issue may not be performance – it may be how your books are structured.

How to See Your Margins (Even Without Perfect Data)

You don’t need a perfect financial setup to start getting visibility into your margins. You need a rough picture that’s directionally correct. Perfection comes later. The muscle of actually looking at this is what matters first.

Here’s a practical way to start, even if your books aren’t clean yet.

Step 1: Identify your direct delivery costs.

The simplest rule of thumb: would this cost exist if you had zero clients to manage? If the answer is no, it’s a direct delivery cost. If the answer is yes, it’s overhead. Pull out everyone who delivers client work – designers, developers, account managers, strategists, project managers. Their salaries (or the billable portion) are direct costs. If you had no clients, you wouldn’t need them. That’s how you know. If someone splits their time – say 70% client work and 30% business development – estimate the split. A rough number that’s close is infinitely more useful than no number at all.

Step 2: Add contractor and freelancer costs.

Every dollar you pay contractors or freelancers for client delivery work is a direct cost. This one is usually straightforward – pull it from your accounting software.

Step 3: Add delivery-specific software.

Design tools, project management platforms, stock media subscriptions, hosting costs for client work. Same rule of thumb: if you had no clients, would you still pay for this tool? If no, it’s a direct cost. If a tool is used for both delivery and operations (like Slack), either split it roughly or leave it in overhead. Don’t overthink this.

Step 4: Add pass-through and hard costs.

Ad spend you manage for clients, printing, postage, stock assets purchased for specific projects, subcontracted production work – any hard cost tied directly to delivering a client engagement. These are often already tracked as separate line items in your accounting software, so this step is usually straightforward.

Step 5: Calculate your overall GPM.

Take your total revenue, subtract the direct costs from steps 1-4, and divide by revenue. That’s your GPM. It won’t be perfect, but it’ll be a real number based on your actual business.

Step 6: Break it down by service line or client type.

Take your billable team members and estimate roughly how their time splits across your major service lines or client types. Apply the same logic to contractors, delivery software, and pass-throughs. You’ll end up with a rough revenue-minus-direct-cost calculation for each line. Some will look great. Some will look terrible. That’s the point.

This exercise takes a few hours the first time. It’s not perfect, and you’ll refine it as you get better data. But the agencies that start measuring this – even roughly – make fundamentally different decisions than the ones that don’t. You stop guessing which work is worth doing and start knowing.

The $325K Transformation: What Actually Happened

Here’s the full story of the $2.6M agency from the introduction, because the details matter.

When we started working with them, the founder was stuck. Revenue looked fine. But the financial reporting was inaccurate enough that every decision felt like a coin flip. There was no visibility into which clients were profitable, which service lines were carrying the business, or where costs were leaking. The instinct was to sell harder. The data said something different.

Month 1-2: Get the picture right.

First step was rebuilding the bookkeeping and restructuring the chart of accounts so GPM was visible by client for the first time. This phase didn’t change any financial outcomes. It just changed what the founder could see. And what they saw was uncomfortable – a significant segment of their client base was unprofitable. Some of their busiest accounts were their worst performers.

This is the moment that matters. Not the day you cut costs or raise prices. The day you see the real picture for the first time. Every decision after that gets easier because you’re working with real information instead of assumptions.

Month 3-6: The managed transition.

This is the part that most content about “firing bad clients” gets wrong. Nobody woke up one morning and emailed half the client list to say the relationship was over. It was a deliberate, phased strategy that played out over months.

First, they ranked every client by margin. The bottom tier got examined closely. Why were they unprofitable? Underpriced from the original proposal? Scope creep that was never addressed? Heavy contractor dependency eating into margins? Wrong service mix? The answer was different for each client.

For some, the answer was repricing. They had the conversation backed by data for the first time: here’s what this engagement actually costs us to deliver, here’s what we need to charge for it to work for both of us. Some clients accepted. That alone improved margins on those accounts.

For clients where repricing wasn’t viable – the work was inherently low-margin or the relationship wasn’t a fit – they transitioned them out gradually. Gave notice. Helped them find alternatives. Used the freed capacity to serve remaining clients better.

At the same time, they expanded services for their highest-margin clients. Added complementary work to accounts that were already profitable and already trusted them. This generated 5.5% revenue growth at minimal acquisition cost – no sales cycle, no onboarding friction, just deeper relationships with clients who were already happy.

The net effect: revenue dropped by $16K (essentially flat), but gross profit increased by $356K because the remaining client base was dramatically more profitable.

Month 6-12: Tighten the operation.

With the client base cleaned up, two more levers got pulled. A zero-based budgeting exercise – reviewing every single expense from the ground up, justifying each one from scratch – cut $30K in costs nobody missed. And a team alignment process led to three departures that reduced cost of sales and supported a GPM uplift to approximately 51%.

The result: $325K in additional net profit. Same revenue. Fewer clients. Leaner team. More money. To see how this process works from day one, here’s an overview of how Visory’s partnership model operates in practice.

The Maths That Changes Everything

Here’s why this matters at every scale.

$3M revenue. 60% GPM. 30% overhead. That’s 30% net profit margin – $900K.

Same $3M revenue. Drop GPM to 50%. Let overhead creep to 35%. That’s 15% net profit margin – $450K.

That’s a $450K difference. The revenue line is identical in both scenarios. What the founder takes home is cut in half.

Now flip it the other direction. If you’re sitting at 50% GPM and you can move to 55%, that’s $150K in additional gross profit on $3M revenue. No new clients needed.

Every 5 percentage points of GPM improvement on a $3M agency is worth $150K. On a $5M agency, it’s $250K.

This is why GPM is the single most important metric for a professional services firm. Not revenue. Not even net profit (which is an output, not a lever). Gross profit margin is where the operational decisions you make every month show up in dollars.

What to Do Monday Morning

Find your real GPM. Use the process from the earlier section. Pull your P&L, separate direct delivery costs from overhead, and calculate the number. If you can’t do this cleanly with your current chart of accounts, that’s your answer – the first fix is restructuring your books so the number is visible.

Run a rough client margin audit. Estimate how your billable team’s time splits across your major clients or service lines. Apply the direct costs. Which clients generate the most revenue? Which ones consume the most team time? The gap between “highest revenue” and “most time-intensive” is usually where your worst margins live. You don’t need a time-tracking tool to start. An honest estimate from your delivery leads gets you 80% of the way there.

Question the revenue reflex. Before you invest in lead gen, ads, or another sales hire, run this calculation: would you rather add $500K in new revenue at your current margins, or improve your margins by 10 points on your existing revenue? If 10 points of GPM improvement on your current revenue produces more profit than $500K in new revenue at your current margins – and for most agencies under $5M, it will – that changes your entire growth strategy.

The agencies that break out of the “busy but broke” cycle aren’t the ones that sell the hardest. They’re the ones that understand what’s happening between revenue and net profit and have the discipline to fix it before they grow. If you’re ready for the tactical playbook on exactly how to move these numbers, we break down the 5 specific levers that improve agency profitability step by step.


Revenue is the number everyone asks about at industry events. What’s your run rate? How much did you grow this year? It’s the number that sounds impressive and the number your team celebrates when it ticks up.

But it’s not the number that determines whether you can pay yourself properly, invest in your best people, or build a business that actually works for you. That number lives in the middle of your P&L. And most professional services founders have never had someone sit down with them and show them what it actually says.

If you’re running a firm between $1M and $10M and you’ve never seen your true GPM by service line – that’s where this starts. Not with more sales. Not with more clients. With seeing the real picture for the first time.

Frequently Asked Questions

What is a good gross profit margin for an agency?

For professional services firms, a healthy GPM typically falls between 50% and 70% depending on your size and service mix. Below 40% is a warning sign – it usually means underpricing, over-servicing, or heavy contractor dependency. Between 40-50% is average and workable if overhead is lean. Above 50% gives you real room to invest, hire confidently, and weather slow months. For a deeper breakdown by revenue tier, the Financial Performance Check covers the key financial metrics for firms between $500K and $10M.

How do I calculate GPM for my agency?

GPM = (Revenue – Direct Costs) / Revenue. Direct costs are everything that goes into delivering client work: billable employee salaries (or the billable portion of split roles), contractor and freelancer fees, delivery-specific software, and pass-through costs like media spend, printing, and subcontracted production. The test for whether something is a direct cost: would this expense exist if you had zero clients? If no, it’s a direct cost. If yes, it’s overhead. Most agencies get this wrong because their chart of accounts wasn’t designed to separate delivery costs from operating expenses.

Can I improve profitability without growing revenue?

Yes, and the maths often favors it. A $2M agency that improves GPM from 35% to 50% adds $300K in gross profit with no new clients, no new hires, and no additional operational complexity. The same agency adding $500K in new revenue at 35% GPM gains roughly $15K after accounting for the delivery headcount needed to service that revenue. The levers include repricing undervalued services, transitioning unprofitable clients over time, reducing contractor dependency, cutting non-essential overhead through zero-based budgeting, and improving team utilisation.

What’s the difference between gross profit margin and net profit margin?

GPM measures what’s left after the direct costs of delivering your services. Net profit margin is what’s left after everything – delivery costs plus overhead (rent, admin salaries, software, marketing, insurance). The relationship is roughly: Net Profit Margin = GPM minus your Overhead-to-Revenue ratio. For a $3M agency, a 10-point swing in GPM translates to $300K in the founder’s pocket.

How long does it take to improve agency margins?

A meaningful margin transformation typically plays out over 6-12 months. Months 1-2 focus on financial clarity – restructuring your chart of accounts so you can see GPM by client or service line. Months 3-6 involve the managed transition: repricing where possible, gradually offboarding unprofitable work, expanding services with high-margin clients. Months 6-12 focus on operational tightening – zero-based budgeting, team alignment, and building the reporting cadence that keeps margins improving. The agency in our case study added $325K in net profit over 12 months following this sequence.

See the real picture for the first time.

If you’re running a professional services firm between $1M and $10M and you’ve never seen your true GPM by service line – that’s where this starts. Book a free discovery call and we’ll walk through your numbers together.

Book a Free Discovery Call →