Published in Articles
Creative agency resource management: a weekly capacity check that catches overbooking

Creative agency resource management is the weekly job of comparing the hours your team has already committed against the hours they can realistically deliver, per person and per role, across every active client project. Done properly it produces one output: who is over, who has room, and which deliverables are at risk this week.
That is a different job from project management, which tracks whether a deliverable is moving, and from time tracking, which records where hours went after the fact. The sequential brief-to-delivery process is covered in creative agency workflow. Allocation is the layer underneath it, where the same editor shows up in the middle of three of those processes at once.
What follows is the arithmetic, a worked week with an overbooked motion designer, and a 30-minute review you can run on Thursday afternoon.
The three numbers to hold per person
Skip the tooling question for a moment. Every method that works reduces to three numbers per person:
- Bookable hours — what this person can deliver on client work in a given week. Not their contracted hours.
- Committed hours — the sum of estimates attached to every card assigned to them with a date in that week.
- Slack — bookable minus committed. Negative means overbooked.
Run this per role, not per team. Pooling a motion designer's hours with a copywriter's produces a total that looks healthy while the motion designer is actually 140% booked. If work is genuinely interchangeable across your pool — say, three editors who all cut the same format — a pooled number is fine. If it isn't, it is worse than no number, because it hides the bottleneck.
Estimates are guesses, so don't dress them up. Reporting slack as "−6.4 hours" implies a precision nobody has. Round to half-days.
Turning headcount into bookable hours
Here is an illustrative example. Take five creatives on 40-hour weeks. Internal meetings, admin, and waiting on client feedback consume roughly 10 hours each. That leaves about 30 hours that could go to client deliverables.
You should not book all 30. A team at 100% has no room for a revision round, a re-record, or a sick day. Booking at 80% gives 24 bookable hours per person and 120 across the team. Adjust the admin deduction to your own agency — the point is that the number is lower than headcount suggests, and you choose it deliberately rather than discovering it in week three.
The revision reserve is the part agencies skip. A first cut is not a deliverable. If an edit takes 16 hours of production, budget roughly 4 more for the first review round, or those hours will simply appear in next week's committed total instead.
Concurrent project capacity estimator
Decide whether the team can absorb one more active client project this week, or whether it needs to wait or be staffed up.
Capacity equals bookable hours divided by the total hours one project consumes per week, including its review round. Round down to whole projects, since a partial project still occupies the whole team.
Assumptions: Illustrative staffing inputs, not benchmarks. Valid only if work is interchangeable across the pool; for specialist roles run the same division per person. Excludes sales time, unplanned leave and client-side approval delays.
Worked example: Bookable creative hours available this week: 120 hours; Production hours per active project: 16 hours; Review-round hours per project: 4 hours. Projects the team can absorb this week: 6 projects.
Adjustable inputs are available when JavaScript is enabled. The worked example above uses the default inputs.
At the defaults — 120 hours available, 16 hours of production per project plus 4 of revisions — the team can absorb six concurrent projects this week. A seventh doesn't fit on hours; it either waits a week or you hire for the window. The same division run per person tells you whether the constraint is the team in general or one specialist.
A worked week: three clients, five creatives
Week of October 12. Client A needs six statics and two social edits for ad variants. Client B needs a launch video with a motion pass. Client C needs a weekly YouTube upload. Four in-house creatives at 24 bookable hours each, plus one freelance editor booked for a 12-hour window.
| Person | Role | Committed | Bookable | Slack |
|---|---|---|---|---|
| Dana | Editor | 34 | 24 | −10 |
| Miguel | Editor | 20 | 24 | +4 |
| Priya | Motion designer | 30 | 24 | −6 |
| Sam | Designer | 22 | 24 | +2 |
| Ari (freelance) | Editor | 12 (agreed window) | 12 | 0 |
Team total committed is 118 against 120 bookable. That looks safe and is not. Two people are over, and the aggregate hides it — which is the whole reason this is a per-person calculation. Read the negative rows instead of the total.
Priya's row: 14 hours on Client B's launch animation, due Thursday, and 16 hours on Client A's two social variants, due Friday. She is 6 hours over on paper, and a motion pass that "needs one more tweak" expands. Three plausible moves:
- Move Client A's variants three days later. Feasible if that date was internal rather than contractual.
- Bring in a freelance motion designer for roughly 10 hours.
- Cut one of the two variants from this week's scope and confirm with the client that the second ships next week.
Which one is right depends on facts you already have: whether Client A's date is written into an agreement or was your own ambition, whether the launch video feeds a paid media flight that starts Monday, and what a freelance motion day costs against the cost of a slipped date. The value of the exercise isn't the answer — it's that you decide on Monday instead of discovering the problem Thursday at 4pm.
Dana's row: 34 committed hours across two Client A edits and Client C's upload. Ari has room in theory, but Ari's window is 12 hours and already fully booked, so shifting an edit means either extending Ari's window or moving something else off Ari. That second check is the one people forget, and it's why freelancer hours belong in the same table.
After the moves, re-total. The verification step is simple and frequently skipped: no one above bookable, no freelancer window above its agreed hours. If you skip it, you've moved the problem rather than solved it.
Structuring the board so the numbers stay readable
The committed-hours figure has to come from somewhere you can actually scan. The structure that holds up: one card per deliverable, the column is the stage, the assignee is the single owner, and the client plus deliverable sits in the card name. A card per client makes three concurrent edits invisible. A card per sub-task — cut, colour, captions — makes every deliverable look like five people's work and inflates committed hours until the number stops meaning anything. See project boards for how cards, columns and assignment work.
Where does the hour estimate live? Some teams put it in the card name (Client B / launch animation / 14h) so the estimate is visible during the weekly sweep. Others keep the hours in a spreadsheet and the board for ownership and stage only. Either is fine; the failure case is having neither, so you're reconstructing commitments from memory once a week.
Be honest about the boundary here: a board shows who owns what and which stage it's in. It does not calculate anyone's remaining capacity. The subtraction is a separate step you do yourself, and pretending otherwise is how agencies end up with an expensive tool and the same blind spot.
One structural option worth knowing: boards can be restricted to a specific member list, configured in the board's own settings. For client-specific boards where only the assigned team should see the work, that keeps the view clean rather than adding rows nobody uses.
Matching freelancer availability to project stages
The booking rule that prevents double-booking: a freelancer is booked for a specific window and a specific stage, not "available in October." Ari is booked Thursday and Friday for assembly and first cut of Client A's second edit. That sentence is a commitment you can defend; "Ari's free this month" is how two clients end up expecting work in the same 48 hours.
Because a guest without the view-all-cards permission sees only the cards assigned to them, a scoped freelancer's card list is effectively their schedule. That makes double-booking easy to spot: if two clients' cards for the same person land in the same window, you've overbooked them, and you'll see it before they do. The permissions setup is covered in giving freelance editors access to only their assigned projects.
The tradeoff of scoped access is that the freelancer can't see wider context — the client's other deliverables, the review round waiting on them, the fact that a brand guideline changed. Brief that outside the tool. Their availability window itself also lives in your booking calendar, not in their card list, so update it the moment you assign the work.
The 30-minute weekly review
Run it Thursday, not Monday. Thursday leaves Friday to have the awkward conversation, so the week starts with the plan already adjusted. A Monday review means the first two days are committed to the wrong priorities before you've looked.
- Pull next week's cards by assignee (10 minutes). Group everything with a date in the coming week by person.
- Total committed hours against bookable hours. Mark anyone over. Ignore the team total.
- For each overbooked person, rank their cards by contractual dates first, then downstream dependencies (10 minutes). A deliverable that unblocks someone else outranks one that only unblocks itself.
- Decide per card: move it to someone with slack, move the date, cut the scope, or hire for the window. Write the decision on the card so the owner isn't guessing.
- Re-total and confirm nobody is over (5 minutes).
- Send the changes: reassignments, revised dates, and a confirmation to any freelancer whose window moved.
Common failure modes worth naming: booking to 100% so the first surprise breaks the week; capacity pooled across roles that aren't interchangeable; review rounds left out of estimates; a freelancer promised to two clients in overlapping windows; and stage transitions that no single person owns, so work sits in "review" for three days while everyone assumes someone else is chasing it.
One small automation is worth considering if cards sit in review unnoticed: kloudie builds automations from a chat description of the form "when X happens, do Y," and you approve them before they run. A notification when a card moves into a review column is a reasonable first one. It doesn't replace the weekly arithmetic.
When a spreadsheet is still the better tool
For fewer than roughly eight people and fewer than four concurrent projects, a single sheet with a row per person and a column per week does this job and costs nothing. The board earns its place when the same card needs to drive what a freelancer sees, where the file lives, and where review comments land — not for the capacity math alone. Buying software to do a subtraction you could do in a sheet is a common and expensive mistake.
What to do today: pick your bookable-hours number per person using your own admin overhead, list every card assigned to your most loaded creative this week, and add the hours. If the total is negative, you have your first reallocation decision — and you can make it today rather than on Thursday.
Related articles
The workspace for creative teams
Manage projects, pay your team, and ship content faster.
Start for free
