Growth OS for Agencies: Productising Delivery Without Selling Hours
How agencies turn go-to-market delivery into a system, what to productise and what to keep bespoke, multi-tenant architecture, pricing, and where it fails.
in this article
- 01The hours model caps you, and the cap is arithmetic
- 02Productise the plumbing, never the thinking
- 03One repository per client, or a shared core with overlays
- 04Price the system, not the headcount
- 05The client owns the infrastructure, and that changes your retention argument
- 06Where this does not work
- 07Frequently asked questions
An agency owner looks at a forecast that says next year's revenue target requires eleven more people. Not eleven more clients. Eleven more people, because delivery is hours and hours are humans. Margin holds flat at best, quality drifts toward the average of whoever was hired last, and every new logo makes the operation heavier rather than better.
That is the billable-hours business, and its ceiling is made of arithmetic. The way through is not a better project management tool. It is turning delivery into a system that gets cheaper to run with each client, while the part clients actually pay for stays human.
The hours model caps you, and the cap is arithmetic
Revenue equals billable hours times rate. Rate has a market limit, hours have a human limit, so growth means headcount, and the marginal cost of client eleven is roughly the marginal cost of client two. Nothing compounds. The knowledge that made the third engagement good lives in the head of whoever ran it, and when they leave it leaves.
A systematised agency inverts the curve. The first client pays for the infrastructure to exist. The eighth reuses most of it, and what remains is the work that was always worth a senior person's time. The test is simple: if onboarding a new client of the same profile takes materially less time than the last one did, you have a system. If it takes the same time, you have documentation.
Productise the plumbing, never the thinking
The line is sharper than most agencies expect, and getting it wrong in either direction is fatal. Productised: onboarding as a fixed sequence with a fixed duration, including tracking audit, event schema, CRM field map, credential intake and the first reporting view live in week two. The signal layer, meaning server-side capture, account resolution and one event table with the same schema for every client. Reporting views, so every client sees pipeline sourced the same way with definitions written on the page. Sequence and campaign skeletons, structures rather than copy. The QA checks that run before launch. And the structure of the agent context files, so every engagement fills in the same shaped documents rather than inventing a format.
Bespoke, permanently: positioning, the offer, creative, and the strategy of what this client should do next quarter. Productise those and you produce a portfolio of companies that sound identical, a commercial problem for them and a reputational one for you the first time two clients in a category notice.
The system decides how work is done, and the humans decide what work is worth doing. A growth operating system built for one company is the same idea with one tenant.
One repository per client, or a shared core with overlays
Two architectures, and the choice decides whether you can maintain forty clients or nine.
Per-client repositories are the obvious start. Complete isolation, no blast radius, easy to hand over. The failure appears around month nine: an improvement made for client four never reaches clients one through three, and you are maintaining forty divergent forks of an idea.
A shared core with client overlays is the version that scales. The core holds pipeline code, schemas, agent skills and QA checks, versioned properly. Each client repository holds only configuration, context files and deliberate overrides, pinned to a core version and upgraded on a scheduled date rather than silently. The cost is real: a core change can break a client, so you need a test suite that runs every client's configuration against a candidate version before release. Budget for it from the start, because retrofitting it after the first broken reporting view costs far more.
Credentials separate per client, always. One service account per tenant, created in the client's own workspace, the agency holding a user-level grant rather than ownership. A shared agency account touching four ad platforms is one compromised laptop away from a bad week, and offboarding must include a rotation checklist someone signs.
Data never pools. No shared vector store, no combined event warehouse, no "industry benchmarks" quietly assembled from client records. Under GDPR you are a processor acting on documented instructions, and combining tenants is covered by no DPA you have signed. An index built across clients is a leak that is hard to detect and impossible to explain afterwards.
Price the system, not the headcount
Three components work, and the second is where the leverage lives. A build fee for the infrastructure: scoped, fixed, delivered against a specification. This carries real labour and ordinary margin. A monthly platform fee covering hosting, monitoring, agent runs, core upgrades and the reporting surface: this is the line that stops scaling with hours, and it is what makes client eleven profitable. Then a layer tied to outcomes or to the strategic work that stays bespoke.
What disappears is the timesheet conversation and the quarterly argument about whether eighty hours were really spent. What replaces it is an argument about whether the system produced anything, which is harder and much better. The command centre view showing a client their own pipeline against spend makes that conversation possible.
The client owns the infrastructure, and that changes your retention argument
This is the part agencies resist. The repositories live in the client's organisation, the warehouse is their account, the credentials are theirs. If they leave, everything keeps running without you.
Giving that up feels like giving up the business. In practice it does two things. It wins engagements you would otherwise lose, because a serious buyer's IT and procurement functions eventually ask who owns the data and what happens at termination, and "we do" ends the evaluation. And it converts retention from a hostage situation into evidence: a client who could leave next month and does not is telling you something true, while a client who cannot leave is telling you nothing.
The discipline runs both ways. When the client can replace you, you cannot coast on the infrastructure you built in year one. The agency, in-house or a system question resolves differently once ownership is off the table as a defence.
Where this does not work
Four cases, stated plainly, because attempting this in the wrong agency wastes a year.
If your value is genuinely creative, brand and campaign ideas rather than operations, productised delivery adds overhead and returns little. The leverage here comes from repeated plumbing, and a brand studio has none.
If your clients are small, the build fee cannot be justified. The floor sits where a client has a CRM worth connecting, enough traffic for first-party signals to mean something, and a sales motion that follows up. Below it the system amplifies nothing, because nothing is happening.
If nobody at the agency can maintain code, do not start. A system built entirely by one contractor is a liability wearing the costume of an asset.
And if your client base churns inside twelve months, payback on the build exceeds the relationship. The model needs clients who stay long enough for year two to be cheaper than year one.
Frequently asked questions
What does a productised agency actually productise?
The plumbing and the process: onboarding as a fixed sequence with a fixed duration, the signal layer with one event schema across all clients, reporting views with shared metric definitions, campaign and sequence skeletons rather than copy, the quality checks that run before launch, and the structure of the context files agents read. What stays bespoke is positioning, the offer, creative and the strategy for the next quarter. Productising those produces clients who all sound identical.
Should an agency use one repository per client or a shared core?
A shared core with per-client overlays scales; separate repositories per client do not. The core carries pipeline code, schemas, agent skills and quality checks under proper versioning, while each client repository holds only configuration, context files and deliberate overrides, pinned to a core version and upgraded on a scheduled date. The necessary cost is a test suite that runs every client's configuration against a candidate release before it ships.
How should client data be separated in a multi-tenant agency setup?
Credentials are created per client in the client's own workspace, with the agency holding user-level access rather than ownership, and rotation is a mandatory offboarding step. Data is never pooled: no shared vector store, no combined warehouse, no benchmark dataset assembled from client records. Under GDPR the agency acts as a processor on documented instructions, and no standard data processing agreement covers combining one client's data with another's.
Why should an agency give clients ownership of the infrastructure?
Because it wins engagements and produces honest retention. Serious buyers eventually ask who owns the data and what happens at termination, and an answer of "you do" removes the objection. A client who could leave and chooses to stay is evidence the work has value, whereas a client held by lock-in tells you nothing.
where this lives in the system
shorter reads on this, at aiporate.com
see where you stand
Twelve questions. Then your build order.
The diagnostic returns your operating stage, the three widest gaps in your motion and what to build first. Two minutes, no sales sequence, one human reply.