How We Built a Forecasting System That Made Agency Profitability Visible Before It Was Too Late
The Problem: Project Forecasts That Constantly Changed
Agencies sell billable hours, but creative work is inherently variable. We schedule designers for 8-hour days of client work, and are surprised when timesheets show overruns, margins shrink, and PMs spend Friday afternoons explaining budget variances nobody saw coming.
Creative work is unpredictable. Scope creeps as clients see drafts. Disciplines move at different speeds. Parkinson's Law ensures work expands to fill available time. Forecasting can become wishful thinking if it assumes perfect days and uninterrupted focus.
The Shift: Planning for 6-Hour Days
We rebuilt forecasting around a simple premise: schedule 6–6.5 billable hours per day instead of 8.
Context-switching, internal meetings, administrative overhead, and professional development consume 1.5–2 hours daily for most creative staff. If you schedule 8 hours but reality delivers 6, your forecasts will always be wrong. Wrong forecasts lead to either margin erosion (you eat the hours) or relationship damage (surprise overages).
We measured team utilization as: Utilization = billable hours / total hours
We targeted roughly 70% average utilization to protect time for internal development, training, admin, and the inevitable context switching that agencies live on.
Over ~85% consistently is a burn out risk (overwork hides until it becomes attrition).
Below ~50% suggests a sales or uneven load distribution
The result: forecasts that matched actuals. Variances became visible within the first week of a project phase.
Profitability & Predictable Margins: How the Math Works
We used margin math to keep forecasting anchored in financial reality.
A designer billed at $150/hour with a fully loaded cost of $75/hour (salary plus benefits plus overhead) generates predictable margin at 6 billable hours daily:
Revenue: $150 × 6 = $900/day
Cost: $75 × 8 = $600/day (they're still paid for 8 hours)
Gross margin: ~33%
At 75% utilization across the month, that margin holds.
Forecasting starts at the sales stage. For a $60K project requiring 40–50% gross margin to cover non-billable overhead, you reverse-engineer: $36K available for labor at $75/hour fully loaded = 480 hours to deliver. Then you distribute hours across roles and phases.
Phase-Based Resource Curves
Creative projects don't consume resources evenly. Discovery might need a senior strategist for 40 hours over two weeks. Design concepting might spike to 120 hours across three designers in weeks 3–4. Development might hold steady at 30 hours/week for six weeks.
We mapped these curves against calendar time and against all other live projects before kickoff. This exposed conflicts early — before a designer was double-booked on three projects with competing deadlines.
Variance Tracking That Works
Each week, we compared Forecast (planned hours) against Harvest (actual hours).
Example: A designer scheduled for 6 hours daily (30 hours/week) logging 8 hours daily (40 hours/week) creates a 33% variance. Catching this after week 1 of a 6-week phase gives you options:
Renegotiate scope with the client
Reduce fidelity (carefully, with client alignment)
Absorb the cost knowingly rather than as a surprise
The 6-hour baseline made variances visible faster because we weren't hiding overwork inside inflated expectations.
Change Control Became Measurable
When a client requested additions mid-project, we translated requests into hours and calendar impact:
"Adding a third homepage concept means 18 additional designer hours. At 6 hours/day, that's three working days — pushing delivery from May 15 to May 20."
This precision — enabled by consistent scheduling units — helped justify change orders and protected margin without damaging client relationships.
The Outcome
More accurate staffing projections because capacity was modeled realistically
Utilization targets calibrated to sustainable work
Variance tracking with weekly checkpoints
Earlier detection of budget variance through Harvest vs Forecast comparisons.
Stronger change-order conversations because scope changes were translated into hours and calendar shifts.
Best practices your team can adopt
Use stage-gate approvals as forecast checkpoints (forecast discovery in detail; re-forecast design after strategy approval).
Use historical velocity data by deliverable type (average time for similar outputs + 10–20% buffer).
Track non-billable time separately so utilization reflects reality
Calibrate estimates to the doer, not the senior estimator to help avoid over-optimistic forecasts
Account for concurrent project load: if someone is on 3 projects, consider a 1.1–1.2x overhead factor.
