Our "Best Client" Was Actually Losing Us Money
I'm going to tell you something that took me three years and a near-crisis to figure out. Our biggest client, the one we bragged about in pitches, the logo on our website, the account our team leads fought over, was losing us money on almost every project.
Their name was on our largest contract. $220K annually. When people asked how the agency was doing, I'd mention that number with pride. What I didn't mention, because I genuinely didn't know, was that we were spending roughly $245K in labor, tools, and overhead to service that account.
I found out by accident. Our bookkeeper was doing year-end reconciliation and asked why our margins were lower than expected despite revenue being up 30%. I said it was probably the new hires. She said no, she'd already accounted for that. Something else was eating the margins. So we dug in.
It took about two weeks of painful forensic accounting. We pulled timesheets, estimated how many hours each project actually took versus what was scoped, factored in the meetings and revisions and "quick calls" that nobody tracked, and put real numbers against every active project. The result was a spreadsheet that made me physically uncomfortable.
Three of our ten active projects were profitable. Three were roughly break-even. Four were losing money. And the biggest loser was our marquee client.
Why Profitability Is Invisible at Most Agencies
The reason I didn't know this for three years isn't because I'm bad at math. It's because service companies have a structural blind spot when it comes to profitability.
Here's what happens. You win a project for $50K. You feel good. Revenue goes up. You staff it with two developers and a designer. The project takes four months instead of the planned three because the client keeps requesting changes and nobody wants to push back on a big account. Your developers work late a few nights. The designer gets pulled onto revision rounds that weren't in the original scope.
None of this feels like a problem in the moment. Revenue is coming in. People are busy. The client is happy. But when you add up the actual cost of all those hours, the project might be at 5% margin instead of the 30% you planned. Or worse.
The issue is that revenue is easy to see and costs are hard to see. An invoice for $15K is a concrete number that shows up in your bank account. The cost of three people working for six weeks is diffused across payroll, spread out over time, and mixed in with their work on other projects. Unless you're deliberately tracking it, you'll never see it.
The Simple Framework That Actually Works
I've tried sophisticated profitability tracking. Detailed timesheets with five-minute increments, automated tools that track which app you're using, complex project accounting software that costs $300 per month. Most of it created more overhead than insight.
Here's what I landed on. It's not perfect, but it's good enough to make real decisions, and it's simple enough that people actually do it.
Step one: Know your fully loaded hourly cost per person.
This is the number most agencies never calculate. It's not just salary. It's salary, plus benefits, plus their share of rent, plus their share of tools and subscriptions, plus their share of admin overhead. Divide that annual number by their productive hours per year (not 2,080, more like 1,600 to 1,750 after vacation, holidays, sick time, meetings, and admin work).
For us, a senior developer with a $75K salary had a fully loaded cost of about $62 per hour. A junior designer at $45K was about $38 per hour. These numbers shocked me at first. But once you have them, everything else becomes straightforward.
Step two: Track hours at the project level. Weekly, not daily.
I gave up on daily timesheets. Nobody fills them out accurately. People wait until Friday and guess, or they track obsessively for two weeks and then stop. Weekly tracking at the project level is the sweet spot. Every Friday, each person logs how many hours they spent on each active project that week. Not tasks within the project. Just the project.
Is this perfectly accurate? No. Is it accurate enough to tell you which projects are making money and which aren't? Absolutely.
Step three: Calculate project margin monthly.
This is just math. Take the revenue recognized that month (not total contract value, just what's been invoiced or earned that month). Subtract the cost of hours spent (hours times fully loaded rate for each person). That gives you gross margin for that project for that month.
You don't need a fancy tool for this. A simple spreadsheet works. But you do need to actually look at it, and that's where most people fail. Put it on your calendar. First Monday of every month, 30 minutes, review project margins. Non-negotiable.
What the Numbers Will Tell You
When I started doing this, the patterns became obvious fast.
Fixed-price projects with scope creep are margin killers. We had a $30K website redesign that looked great on paper. 40% margin planned. But the client sent 14 rounds of revisions on the homepage alone. By the time we launched, we'd spent nearly double the hours we'd estimated. The margin was negative 8%. We actually paid for the privilege of doing that project.
Time-and-materials projects are almost always more profitable. I know this sounds obvious, but seeing the data made me much more assertive about proposing T&M for complex projects. Our T&M projects averaged 35% margin. Our fixed-price projects averaged 18%. That gap is real.
Small projects have disproportionate overhead. A $3K project and a $30K project both require a kickoff call, a project setup, invoicing, and project management. The admin cost is nearly the same. But on a $3K project, that overhead might eat 20% of the revenue. On a $30K project, it's 2%. After seeing this, we set a minimum project size and started bundling small requests into monthly retainers.
The 80/20 rule applies brutally. When I ranked our projects by margin, the top three projects generated more profit than the other seven combined. Two of those seven were actively losing money and had been for months.
Overhead Allocation: Keep It Stupid Simple
I've seen agencies get paralyzed trying to allocate overhead perfectly. They'll spend weeks building models that distribute rent based on square footage per team, or allocate software costs based on who uses which tool. Don't do this.
Here's what I do. I add up all overhead costs for the month (rent, utilities, insurance, software subscriptions, accounting fees, everything that isn't directly a person's salary or benefits). I divide that number by total billable hours across the company. That gives me an overhead rate per hour. I add that to each person's hourly cost.
It's not perfectly accurate. The CEO's time costs more than an intern's. The design team uses more expensive software. I don't care. The point isn't academic precision. The point is to know roughly which projects are profitable and which aren't. The rough number is 90% as useful as the perfect number, and it takes 5% of the effort.
Red Flags That a Project Is Losing Money
After doing this for two years, I've learned to spot trouble before the monthly review confirms it.
The team is working late regularly on one specific project. This seems obvious, but I used to see overtime as a sign of dedication. Now I see it as a sign that the project was underscoped or the client is demanding more than we sold.
The client calls or emails more than twice a week. High-communication clients aren't bad clients. But the time spent in meetings, on calls, and writing long email responses is time that nobody tracks. A 30-minute "quick catch-up call" twice a week is 50 hours over a year. At $60 per hour loaded cost, that's $3,000 in unbilled time. Per person on the call.
The project has been in "almost done" status for more than two weeks. The last 10% of a project often takes 30% of the time. When a project stalls near completion, the costs keep accumulating while no new revenue comes in.
Nobody can clearly say what's in scope and what isn't. If your team has to debate whether a client request is "in scope" or "extra," your scope definition was too vague. And vague scope always favors the client, because you'll do the work to maintain the relationship and then never bill for it.
What I Did About Our Marquee Client
Going back to the big client, the one losing us $25K a year. I didn't fire them. That would have been dramatic, and honestly, the problem wasn't the client. The problem was how we'd structured the relationship.
We had sold them a fixed-price annual contract. They treated it as unlimited access to our team. "Hey, can you just quickly..." became their favorite phrase. Each "quick" request was 2 to 4 hours. They made about eight of those per month. That's an extra 24 to 32 hours of unbilled work, every single month.
When I showed the numbers to my business partner, we agreed to restructure. We went back to the client with a new proposal. Same annual commitment, but with clear scope definitions and a T&M rate for anything outside scope. We expected pushback. They barely blinked. Turns out, they assumed we were already tracking all that. They thought the random requests were being billed separately. Nobody had ever told them otherwise.
The next year, that account went from a $25K loss to a $40K profit. Same client. Same team. Same work, mostly. The only difference was that we understood the numbers and structured accordingly.
Start Tracking Today, Even If It's Ugly
If you're reading this and you don't know which of your projects are profitable, please start tracking. Today. It doesn't have to be elegant. A spreadsheet with project names, monthly revenue, estimated hours, and calculated cost per person is enough.
You might not like what you find. I certainly didn't. But the alternative is flying blind, and every month you spend not knowing is a month where unprofitable projects silently drain your business while you smile at the revenue number and wonder why the bank account doesn't match.



