Back to Blog
7 min read CarteFi Team

How to Know If a Client Is Actually Profitable

Most professional services firm owners can name their biggest client by revenue. Fewer can name their most profitable one. And almost none can tell you, with real numbers, which clients are actually losing them money.

That gap between revenue and profitability is where a lot of firms quietly bleed margin. A client that generates $180,000 a year in fees sounds like a great client. But if servicing that account requires 1,400 hours of labor from your most senior people, plus constant scope negotiations, plus 45-day payment terms that strain your cash flow, the economics might look very different from what the top-line number suggests.

The problem isn’t that firm owners don’t care about profitability. It’s that the standard financial tools available to small services firms don’t make client-level profitability visible. Your P&L shows total revenue and total expenses. It doesn’t show you that Client A generates a 42% margin while Client B, who pays you almost the same amount, operates at 11%.

The formula isn’t complicated. The data collection is.

Client profitability in a professional services context follows a straightforward formula:

Client Profit = Client Revenue - Direct Labor Cost - Allocated Overhead - Administrative Cost

Client revenue is the easy part. Pull it from your invoicing records. Everything after that gets harder, and each component requires data that most small firms aren’t collecting in a usable way.

Direct labor cost is the fully loaded cost of every hour your team spends on that client’s work. “Fully loaded” matters here. If a consultant earns $85,000 per year in salary and your benefits and employment taxes add another 25%, their fully loaded annual cost is roughly $106,000. Divide that across approximately 1,880 available working hours (2,080 gross hours minus holidays, PTO, and sick time) and you get a loaded hourly cost of about $56. That’s what each hour of that person’s time actually costs you, regardless of what you bill for it.

When a senior team member billing at $200 per hour costs you $78 per hour fully loaded, and a junior team member billing at $120 costs you $42, the margin profile of a project changes dramatically depending on who does the work. A project staffed primarily by junior people at $120 per hour with a $42 cost generates a 65% direct labor margin. The same project staffed with senior people at $200 per hour with a $78 cost produces 61%. Higher billing rate, lower margin. This is counterintuitive to a lot of firm owners, but the math is clear.

Allocated overhead is where the analysis gets imprecise, and where most small firms give up. Rent, software subscriptions, insurance, administrative salaries, equipment, professional development: these costs benefit all clients, not any single one. The question is how to distribute them fairly.

The simplest approach that still produces useful results: take your total monthly overhead, divide it by total billable hours across the firm, and apply that per-hour overhead rate to each client based on how many hours they consumed. If your firm’s total overhead runs $28,000 per month and your team logs 1,200 billable hours in that month, overhead allocates at roughly $23 per billable hour. A client that consumed 80 hours carries $1,840 in allocated overhead for the month.

It’s not perfectly precise. That’s fine. The goal isn’t academic accuracy. It’s directional clarity: which clients are healthy, which are marginal, and which are underwater.

Administrative cost captures the effort required to manage the client relationship itself. Some clients approve invoices on receipt and pay within 15 days. Others require detailed time narratives, monthly status meetings, billing disputes, and follow-up calls. That administrative friction has a real cost. You don’t necessarily need to track it to the minute, but you should recognize that a client who generates $8,000 in monthly fees but requires 6 hours of non-billable account management is less profitable than a $6,000 client who requires none.

Two clients, same revenue, different reality

Here’s a simplified example that shows why this matters.

Client A: Marketing agency retainer Annual revenue: $144,000 ($12,000/month) Hours consumed: 720 (average 60/month, mostly junior staff at $38 fully loaded cost per hour) Direct labor cost: $27,360 Allocated overhead (at $23/hour): $16,560 Administrative effort: minimal, roughly 2 hours/month at $56/hour = $1,344/year Client profit: $98,736 Margin: 68.6%

Client B: Litigation support engagement Annual revenue: $156,000 ($13,000/month) Hours consumed: 1,040 (average 87/month, primarily senior staff at $72 fully loaded cost per hour) Direct labor cost: $74,880 Allocated overhead (at $23/hour): $23,920 Administrative effort: heavy, roughly 8 hours/month at $56/hour = $5,376/year Client profit: $51,824 Margin: 33.2%

Client B generates more revenue. Client A generates nearly twice the profit. And the gap between them was completely invisible on the income statement.

This kind of insight doesn’t require an enterprise analytics platform. It requires three things: accurate time tracking by client, a loaded cost rate for each team member, and a simple overhead allocation methodology. If you have those, you can run this analysis in a spreadsheet. But the fact that it requires assembling data from three or four different systems is exactly why most small firms never do it.

The effective billing rate tells you even more

Beyond the profit calculation itself, one metric deserves special attention: the effective billing rate.

Your standard billing rate is what you quote. Your effective billing rate is what you actually collect per hour of work performed on a client’s behalf. The gap between the two reveals how much value you’re giving away.

Effective billing rate = Total revenue collected from client / Total hours worked for client

If you bill a client $200 per hour but your team logs 520 hours and you collect $88,000 over the course of the engagement, your effective rate was $169. That $31 per hour gap might come from scope creep you didn’t bill for, hours you wrote down during invoice review, or work that got done but never made it onto a timesheet.

Tracking effective billing rate by client over time surfaces patterns that aggregate financial reports hide. You might find that your effective rate for retainer clients holds steady at $185, while project-based clients trend toward $145 because fixed-fee scoping is consistently optimistic. That’s a pricing problem you can fix, but only if you can see it.

What to do with the information

Client profitability data only matters if it drives decisions. Here are the practical ones.

Reprice the unprofitable relationships. Not every client operating at a thin margin needs to be fired. Some need to be repriced. If the analysis shows that a long-term client’s effective billing rate has eroded from $175 to $130 over three years of gradual scope expansion, that’s a conversation worth having. You can show the client exactly what happened: scope grew, rates didn’t keep pace, and the engagement needs to be restructured. Most clients respond reasonably to that conversation when it’s grounded in data rather than delivered as an ultimatum.

Staff intentionally, not reactively. When you know the margin profile of each client, you can make deliberate decisions about who works on what. High-margin clients can sustain senior involvement. Lower-margin clients should be staffed with junior people wherever possible, not as a quality concession, but as an economic necessity. If a $10,000 monthly engagement requires senior-level expertise throughout, it may simply not be viable at that price point. That’s important to know before renewing the contract, not after.

Protect the high-margin work. Firms instinctively devote the most attention to their largest revenue clients. But the largest clients aren’t always the most profitable ones. If your profitability analysis reveals that three mid-size clients at 55% margins collectively generate more profit than your single largest client at 22%, that changes how you prioritize account management, staffing, and business development.

Set minimum engagement thresholds. Over time, client profitability data gives you the pattern recognition to say no to work that doesn’t meet a margin floor. If your analysis shows that engagements below $4,000 per month consistently produce margins under 15% because the administrative overhead is proportionally too high, you now have a data-backed reason to set a minimum engagement size.

Why this is an accounting problem, not a consulting problem

The reason most small services firms don’t perform client profitability analysis isn’t lack of interest. It’s infrastructure. The data required, time by client, loaded labor cost, and overhead allocation, spans multiple systems that don’t talk to each other. Time tracking lives in one place. Payroll lives in another. Accounting lives in a third. The overhead calculation requires manual assembly from the general ledger.

When your accounting software was designed for project-based professional services work, this analysis isn’t an exercise. It’s a report. Time data, labor costs, and project financials live in the same system, which means client profitability is a native output of your books, not a quarterly spreadsheet project that takes a weekend to assemble and is outdated by the time you finish it.

The firms that grow most sustainably aren’t necessarily the ones with the most clients or the highest revenue. They’re the ones that understand, in real numbers, which relationships create value and which ones consume it. That understanding starts with treating client profitability as a financial metric, not a gut feeling.


CarteFi’s project accounting tracks time, labor costs, and overhead by client and engagement automatically, making client profitability a built-in report rather than a quarterly spreadsheet exercise. Built for professional services firms with 1-25 employees. Learn more about CarteFi.