Retainers or Projects: Which Work Actually Earns More Per Hour at a Professional Services Firm
July 3, 2026
The problem: Project engagements look far more lucrative than retainers because the invoice is bigger, but nobody counts the scope creep and unbilled follow-up that comes with them.
The solution: Track every hour a piece of work actually consumes, billed or not, and compare realized rate per hour instead of revenue per engagement.
The math
If a $7M firm runs about 52 projects a year and each one quietly absorbs 60 hours of scope creep and unbilled follow-up that nobody logs, that is roughly 3,100 hours, or about $620k of billable capacity, priced at zero.
Ask the owner of a professional services firm which work they would rather have and most will say projects. A project lands at $80,000. A retainer lands at $6,000 a month. One of those numbers feels like a win and the other feels like keeping the lights on. So the firm chases projects, staffs up for projects, and treats the retainer book as the base load underneath the real business.
The problem with that ranking is that it compares revenue per engagement, which is a number the firm knows precisely, against effort, which is a number the firm mostly guesses at. The invoice is exact. The hours behind it are not.
Where project hours go missing
A project has a defined scope, which is exactly why it attracts work outside the scope. The client asks a question three weeks after delivery and someone answers it. A stakeholder joins late and needs a walkthrough. The deliverable comes back with comments that were not in the brief, and rather than open a change conversation over eight hours of work, a senior person just does it.
None of that goes on a timesheet, because the engagement is closed, or because the person doing it does not want to look slow, or because there is no code to put it against. It is real work, done by expensive people, and it never touches the number the firm uses to judge whether project work pays.
Retainers leak too. But a retainer leaks differently: it leaks in small, visible increments inside a month that someone is already watching, and a retainer that goes badly over gets renegotiated at renewal. A project that goes badly over gets closed, invoiced at the agreed number, and remembered as a good one.
Revenue per engagement is the wrong ranking
The comparison that decides how a firm sells is revenue per hour actually consumed, not revenue per engagement. Two engagements can post the same top line and be twenty points apart on margin depending on how many hours went into them and how many of those hours were billed.
Consider what that does to the ranking. A project priced at $200 an hour that runs 15 percent over on unbilled hours is realizing something closer to $174. A retainer priced at the same $200 an hour that runs 5 percent over is realizing about $190. On the invoice the project is thirteen times bigger. On the metric that determines whether the firm makes money, the retainer is ahead.
Most firms cannot run that comparison, because it needs three things sitting together: what the work was priced at, every hour spent on it including the hours after delivery, and which engagement each of those hours belongs to. In a firm this size those live in three separate places. The price is in the proposal. The hours are in a timesheet system that stops recording once the job closes. The follow-up is in somebody's calendar.
What the answer would change
If you could see realized rate by work type, a handful of decisions stop being matters of preference.
- Which engagement types to sell more of, and which to reprice rather than retire.
- Whether the retainer book deserves more of your senior capacity instead of being staffed with whoever is between projects.
- Where to draw the line on scope, with a number behind it instead of a feeling that the client asks for a lot.
- What a project should actually be priced at, given the hours that historically follow delivery.
A look at a professional services firm
Take a firm doing about $7 million a year with roughly 35 people, split about $4.2M in project work and $2.8M in recurring retainers. Time is tracked against open engagements. When an engagement closes, the code closes with it. Everyone knows some follow-up happens after delivery, and nobody has ever tried to size it.
Suppose the firm keeps the time codes open for 90 days after delivery and asks people to log post-delivery work against the original engagement. Within two quarters you would expect the picture to look different from the one in everybody's head.
Put a number on it. If the firm runs about 52 projects a year and each absorbs roughly 60 hours of scope creep and post-delivery follow-up that never got logged, that is about 3,100 hours. At a $200 blended rate, that is around $620,000 of capacity delivered for free. It does not show up as a loss, because it was never revenue. It shows up as the firm feeling permanently short-staffed while the utilization report says otherwise.
Run the same test on the retainer book and you would expect a smaller overage, mostly because a monthly cycle forces a conversation that a closed project never does. The likely finding is not that projects are bad work. It is that project work is priced as if delivery is the end of it, and the firm has been absorbing the difference in senior hours it could have sold.
What an owner would probably do with that is unglamorous. Price projects with a post-delivery allowance in them. Convert the two or three clients who generate the most unbilled follow-up onto a retainer, which is what they are effectively buying anyway. And stop treating the retainer book as filler.
How to start
You can get most of this answer in one quarter without changing how anyone sells.
- Keep the time code open. Leave the engagement open for 90 days past delivery so post-delivery work has somewhere to land.
- Log unbilled hours as unbilled, not as nothing. The point is not to bill them. The point is to count them.
- Rank by realized rate, not by invoice size. Divide what each engagement earned by every hour it consumed, then sort the list.
- Let the flagging run itself. Set automation to surface engagements crossing their budgeted hours while they are still open, so the conversation happens during the work rather than after it.
The takeaway
A firm at this size does not have a pricing problem so much as a measurement problem about which work is worth pricing. Projects win on the invoice and often lose on the hour, because the hours after delivery are real and nobody records them. Keep the clock running past delivery for one quarter, put every hour against the engagement that caused it, and rank the work by what it earned per hour. The honest ranking is likely to be different from the one the firm has been selling against, and it is the only one that tells you what to go win more of.
Every business has a number like that hiding in it.
Text us where your team loses its time, and we’ll put a real number on yours, then show you what’s worth organizing and automating first. No forms, no sales call.