Resource planning for a retainer agency means deciding, in advance, how many hours each client gets from each person each week — then checking that plan against the hours that actually happened. Because retainers are priced fixed, every hour above plan comes straight out of margin, so the plan is only useful if it is compared to tracked time, not written once in a spreadsheet and forgotten.
Quick Answer
Build a resource plan in four steps: list every retainer's scoped monthly hours, break them into weekly allocations, assign owners until each person's weekly load is set, and compare planned vs tracked hours every week. Anything off by more than ~10% for two weeks gets re-based or re-scoped.
Why Retainer Agencies Need a Resource Plan, Not Just a Capacity Number
A capacity number tells you the team has 400 available hours this month; a resource plan tells you which client gets which of those hours — and that is where margin is decided.
Retainers fail quietly. The fee is fixed, so a client scoped at 60 hours who consumes 75 does not trigger an invoice error — it just turns a $150/hour account into a $120/hour account. Without a per-client, per-person plan, that leak only shows up at the end of the quarter when somebody asks why margins are thin.
The fix is a plan expressed in hours: client, owner, hours per week. When that plan sits next to tracked time, the drift is visible in week two instead of month three.
Step 1: Turn Every Retainer Into Weekly Hours
Start by converting each retainer's scoped monthly hours into a weekly allocation per client.
Pull the scoped hours from the proposal or statement of work. If the retainer was priced as a flat fee, back into hours using the blended rate it was quoted at — a $9,000/month retainer priced at $150/hour is a 60-hour retainer whether the contract says so or not.
| Client | Monthly scope | Weekly allocation | Owner(s) |
|---|---|---|---|
| Acme (retainer) | 60 h | 15 h | Mia (10), Jordan (5) |
| Brightline (retainer) | 40 h | 10 h | Jordan (6), Sam (4) |
| Cobalt (fixed fee) | 80 h over 8 wks | 10 h | Mia (10) |
| Internal / admin | — | 5 h each | Everyone |
Divide by the actual weeks in the billing period — a flat four-week month overstates annual scope by ~8% (52 weeks is 13 four-week months, not 12), so for continuously scheduled monthly retainers use a 12/52 split or the real calendar weeks instead. Keep internal time in the plan too — admin, standups, and business development consume real hours, and a plan that pretends they do not exist oversells the team by that amount.
Step 2: Assign Hours Until Every Person Has a Weekly Load
Allocate each client's weekly hours to named people until every team member has a total weekly load — and nobody is above their working hours minus PTO and fixed internal time.
Two failure modes to catch here:
Over-allocation. If a designer is planned at 38 client hours against a 40-hour week, there is no room for meetings, email, or revisions. Planned client load around 75–85% of working hours is a normal ceiling; the exact number comes from your own tracked data, not a textbook.
Invisible dependencies. If the plan puts one person on six retainers, context-switching eats the plan. Fewer, larger allocations per person produce more accurate weeks than thin slices across everything.
If you already have the plan in a spreadsheet or another tool, you do not need to re-type it — Rize Resourcing imports planned allocations from CSV, with working days, holidays, and PTO taken into account.
Step 3: Compare Planned vs Tracked Hours Weekly
The plan only works if actual hours are compared to it on a weekly cadence — this is the step that turns a plan document into resource planning.
Every week, look at three numbers per client and per person:
Planned vs tracked, this week. A client planned at 15 hours who consumed 22 is over-serviced this week. Once is noise; twice is a trend.
Rolling burn against scope. Cumulative tracked hours vs cumulative scoped hours for the period. A client at 85% of scope mid-cycle is ahead of plan — decide now whether the extra work was requested, and whether it goes in the fee conversation.
Load per person. Anyone consistently above their planned load for two weeks either has the wrong plan or the wrong allocation. Rebalance before they burn out, not after.
In Rize, the Planned tab in Tracked Time puts scheduled hours beside tracked hours for any saved view, so this comparison is a saved dashboard rather than a weekly spreadsheet rebuild — and saved dashboards keep the same view pinned for every week's check.
Step 4: Re-Baseline What the Plan Got Wrong
Treat every persistent gap between plan and actual as a wrong assumption: fix the scope, the allocation, or the estimate — not the people.
Hours run over plan for three reasons:
Scope drift. The client asked for work outside the original scope. The answer is a change order or a re-scoped retainer, and the tracked hours are the evidence — the same math in using time data to raise a retainer.
Bad estimate. The work was scoped too small. If "2 hours of social reporting" reliably takes 5, the next plan says 5.
Process leak. Internal rework, slow approvals, ramping new hires. Those hours should not be billed back into scope — fix the process and re-measure. Read the guide to agency over-servicing to decide which leaks are deliberate investment and which are waste.
Why the Comparison Has to Run on Tracked Hours, Not Timesheets
A resource plan checked against manual timesheets is checked against what people remembered to write down, which understates the small work that causes overruns.
The over-servicing that breaks a retainer plan is mostly small: a 20-minute revision, a client Slack thread, a "quick question" call. Nobody logs those, so a timesheet-based comparison shows the plan on track right up until the week it is not.
Rize tracks time automatically by client and project, and Resourcing puts the plan next to those tracked hours — so the weekly check is complete data, not compliance data. For the broader capacity context, see the capacity planning overview and the utilization rate calculator.

