Delivery & operations
Agency capacity planning: can you actually take the next project?
A team with 35 free hours a week can still be unable to start a project that needs 30. Here's the role-level capacity calculation that tells you yes or no before you sign.
·5 min read
The question every agency owner answers badly is "can we take this on?" The usual method is to picture the team, feel a vague sense of whether everyone looks busy, and say yes. Then the work lands, and it turns out one person was already the bottleneck on three other things.
Capacity planning is not complicated. It's two numbers — what you can sell, and what you've already promised — kept honest at the level of individual roles rather than the team as a whole. That last part is where most of it falls down.
Start with sellable hours, not working hours
Nobody on your team delivers 40 client-facing hours a week. Once you take out leave, holidays, internal meetings, admin, pitching and the general friction of being a person, a full-time delivery person is realistically good for around 28 billable hours in a working week. Senior people who also sell, hire and review are lower.
Set a sellable figure per role and write it down. It will feel pessimistic. It isn't — it's the number your last twelve months actually produced, and pretending otherwise is how you end up quoting six weeks of work into four.
A hypothetical six-person delivery team:
| Role | People | Sellable hrs/week each | Team hrs/week |
|---|---|---|---|
| Creative lead | 1 | 20 | 20 |
| Designers | 2 | 28 | 56 |
| Specialists | 2 | 28 | 56 |
| Producer / account | 1 | 24 | 24 |
| Total | 6 | 156 |
156 hours a week. Not 240.
Now subtract what you've already sold
The mistake here is subtracting in aggregate. You need it by role, because "design hours" and "specialist hours" are not interchangeable no matter how much you'd like them to be at 6pm on a Thursday.
| Project | Creative | Design | Specialist | Producer | Total |
|---|---|---|---|---|---|
| Retainer A | 4 | 12 | 8 | 6 | 30 |
| Brand build B | 6 | 20 | 4 | 6 | 36 |
| Campaign C | 2 | 10 | 22 | 5 | 39 |
| Small job D | 1 | 6 | 6 | 3 | 16 |
| Committed | 13 | 48 | 40 | 20 | 121 |
Free capacity, by role:
| Role | Sellable | Committed | Free |
|---|---|---|---|
| Creative lead | 20 | 13 | 7 |
| Design | 56 | 48 | 8 |
| Specialist | 56 | 40 | 16 |
| Producer | 24 | 20 | 4 |
| Total | 156 | 121 | 35 |
The trap in that table
A new project comes in: 120 hours over four weeks, so 30 hours a week. You have 35 free. The aggregate says yes with room to spare.
Break the 30 hours down by role — say 6 creative, 16 design, 4 specialist, 4 producer — and it's a no. Design has 8 hours free and the project needs 16. You are 8 design hours a week short, which over four weeks is 32 hours of work with nowhere to go.
The 16 free specialist hours don't help. They never do. Aggregate capacity is almost always a lie; role capacity is the real constraint.
Pricing the gap instead of absorbing it
Once you can see the shortfall as a number, it becomes a commercial decision rather than a scramble. Three options, on a project billed at $150/hour with a loaded internal cost of $95/hour:
Do it all internally. Impossible here, but as a baseline: 120 hours × $95 = $11,400 against $18,000 of revenue. Margin $6,600, or 36.7%.
Cover the 32-hour design gap with a freelancer at $110/hour. 88 internal hours × $95 = $8,360, plus 32 × $110 = $3,520, for $11,880. Margin $6,120, or 34%. You give up 2.7 points of margin and the project actually happens.
Push the start date by two weeks so it lands after Brand build B finishes. Full margin, and the only cost is a conversation with the client — usually a much easier conversation than the one where you explain a missed deadline.
The third option is chosen far too rarely. Clients accept a later start much more readily than they accept a late finish, and they only get the choice if you know your constraint before you sign.
Look eight weeks out, not at today
Today's capacity tells you almost nothing. Projects taper, retainers renew, someone's on leave in three weeks. What you need is a rolling view — eight to twelve weeks, by role — that shows where the cliffs are.
Two shapes are worth watching for:
- The trough. Week 7 has 90 free hours because three projects end together. That's a sales problem you have six weeks to fix, and it's cheap to fix now.
- The pile-up. Weeks 3 and 4 are 130% committed because two projects both slipped. That's a scheduling problem, and it's also cheap to fix now — but only if you can see it.
Both are invisible if your plan is a mental image of who looks busy.
Handle the maybes explicitly
Half your future capacity is consumed by work that hasn't been confirmed. If you plan only around signed work you'll be over-committed the moment two proposals land; if you plan around everything in the pipeline you'll turn away work you could have done.
The workable middle is to weight it. Tag pipeline work as likely or possible, and only reserve capacity for the likely column — the proposals where you've had a real conversation about start dates. Everything else is visible in the plan but doesn't reduce free hours. When a possible becomes likely, it moves, and you can see immediately what it displaces.
Build in slack on purpose
A plan that runs at 100% committed is a plan that breaks on the first sick day. Every overrun, every "quick" client request, every reshoot has to come out of somewhere, and if there's no slack it comes out of evenings.
Plan to somewhere around 85% of sellable hours. The remaining 15% isn't waste — it's the buffer that absorbs the variance that always shows up. Agencies that book to 100% don't get more done; they get the same amount done later, angrier, and with more rework.
Do this week
Build the two tables above for your own team. Sellable hours by role, committed hours by role, for the next four weeks. A spreadsheet is fine.
Then take whatever project you're currently deciding about and break its hours down by role instead of as a lump. Most people find one role is 20-30% over and everything else is fine — which is a much more solvable problem than "we're slammed," and a far better thing to know before you send the contract than after.
Keep reading
- What to track on client projects, and what to ignoreFive numbers decide whether a project is healthy. Everything else is decoration — and in a worked example, 25 unlogged hours make a 28.8% margin look like 36.7%.
- The weekly operating rhythm that prevents client surprisesMost client blow-ups were visible two weeks earlier and nobody was looking. A 45-minute weekly agenda, with time boxes, that surfaces problems while they're still cheap.
- Running distributed delivery teams across time zonesThree cities on a standard 9-to-5 give you 3 hours of overlap in one pair and 1 in another. Two small schedule shifts turn that into 4 and 2 — and the rest is written handover.