The Week I Found Out My Busiest Client Paid the Least Per Hour
I thought my highest-volume client was my best client. My time logs said something completely different.
I had a client I talked about like they were the backbone of my business. Big retainer. Steady work. They paid on time and always had more projects lined up.
For two years I prioritized them. Moved other clients around to fit their timelines. Said yes to requests I would have pushed back on with anyone else.
Then I ran an actual profitability review and felt sick.
The Math I Had Been Avoiding
I knew their monthly retainer number. What I had never done was divide it by the hours I actually logged against them.
When I finally did, their effective hourly rate was thirty percent lower than my worst-paying smaller client. The one I sometimes complained about.
The retainer felt big because the number was big. But the work was relentless. Every month they consumed more hours than the contract implied. Not through formal scope creep. Just through availability. They knew I was there, so they used me.
What the Time Logs Showed
I went back through six months of tracked hours. The pattern was obvious once I looked.
Slack messages I responded to counted as work even if I never logged them. Quick questions that turned into fifteen-minute problem-solving sessions. Review rounds that technically weren't in scope but felt too small to make an issue of.
None of that showed up in my invoices. All of it showed up in my week.
I was giving them forty to forty-five hours of real access every month and billing for thirty.
The Part That Hurt Most
Because I prioritized them, I had turned down two smaller clients that quarter. Both had clean scopes. Both paid a better effective rate. I had said no to them to stay available for a client who was quietly costing me money.
I had optimized my business around a feeling, not data.
The feeling was stability. The retainer felt like an anchor. But an anchor that pays you badly is still an anchor.
What I Did With the Information
I didn't fire the client. I liked the work and the relationship was good. But I did three things.
First, I tightened what counted as in-scope. Not aggressively. I just wrote it down clearly and referenced it when requests came in that sat outside it.
Second, I raised the retainer rate at renewal. I brought my actual logged hours to that conversation. Not as an accusation but as data. Here's what the work actually looked like over six months. The new rate reflects that.
Third, I stopped deprioritizing other clients to protect their availability. If they needed something urgently, that was a rush fee conversation, not a reason to shuffle my whole week.
What Tracking Actually Made Possible
I couldn't have had any of those conversations without the data. If I had gone into a rate negotiation on gut feeling, I would have sounded emotional. With six months of logs I sounded prepared.
The client pushed back a little. Then they accepted the new rate. I think part of them respected that I knew my numbers. It changed the dynamic in a way that was good for both of us.
The logs also changed how I evaluated new retainer opportunities. I stopped asking what the monthly number was and started asking what the scope boundaries were and how I would track against them.
The Broader Lesson
Busy does not mean profitable. Volume does not mean value. These are things most freelancers know in theory and ignore in practice because the retainer hits the bank account and it feels fine.
Feel is not a billing strategy. Data is.
Track every hour against every client. Review it monthly. The clients who are actually good for your business will be obvious. So will the ones who just feel that way.
Track your time, bill every minute.
Time-Trak is a native Mac and Windows time tracker with a floating timer, automatic screenshots, and one-click invoicing.
Free during beta.
Download Time-Trak →macOS + Windows · Floating widget · Auto screenshots