← The archive

The $100k a month agency formula

Stephan Ochse ·

An agency owner messaged me last Tuesday at 11:40pm. $88k a month in revenue, nine people on payroll, and he takes home less than the developer he hired back in March.

He wanted to know how to push past $100k. Wrong question. He was already big enough to clear six figures twice over. The margin was leaking out through the org chart before it ever reached him.

Every agency owner I meet runs the same math and hits the same wall. More clients means more hires. More hires means more chaos. And the margin you started this whole thing for never shows up. You just built yourself a bigger job with your name on the door and a payroll that eats first.

So here's the formula that broke that loop for us. No gatekeeping, the whole thing. Three moving parts, and not one of them is "work harder."

One offer. AI delivery. Two people who decide.

That's it. That's the model that runs $100k a month at margins a nine-person shop never sees. Let me take it apart piece by piece, with the real numbers, so you can rebuild it on whatever you sell.

**It starts with one offer**

We sell one thing done well. Not twelve things done okay.

One offer means your delivery standardizes, so client two runs on the exact rails you built for client one. It means referrals compound, because people can describe what you do in a single sentence and pass it on when you're not even in the room. And it means every new client makes the system a little sharper instead of a little wider.

For us the front door is the audit. Read-only access to the Google Ads account, Merchant Center, GA4, and 20 minutes later there's a case file that names the waste in dollars. Not "opportunities for optimization." Actual money. "You're burning $6.1k a month, and here's the exact campaign it's leaking through."

No pitch deck ever closed better than that one line. Because the client isn't buying a promise anymore. They're staring at their own money on fire, and you're the person holding the extinguisher.

[IMAGE-1: hyper-real Google Ads dashboard screenshot, client name blurred, a Search campaign row highlighted in red showing $6,140 spend against 2 conversions, a hand-drawn circle around the wasted spend with a scribbled "here". Looks like a real audit screen grab, no footer.]

Pick the offer you can deliver the same way every single time and measure with a clean before and after. That's the one. If it needs a custom scope every time you sell it, it isn't an offer, it's a job you keep re-interviewing for.

**Now the part that changes the economics**

Take the recurring work of an agency and price each piece as a salary.

Reporting runs about $4,500 a month for someone half-decent pulling numbers and building the decks. Audits, about $3,800 for a person combing through accounts. Outreach, around $3,200 for an SDR sending the emails. Creative production, about $2,900 for a designer churning ad variants.

That's $14,400 a month. Every month. Before anyone senior has touched strategy, before a single call gets made. And it's fixed, whether you serve five clients or twenty-five.

The same work, running on agents, costs us about $1,650 a month.

It runs seven days a week. It doesn't resign in Q4. It doesn't have a bad morning.

Here's what that $1,650 is, under the hood, because "AI delivery" means nothing until you see the plumbing:

→ The nightly audit. Claude Code pulls every Google Ads account through the API, runs 223 checks on each, writes down what it finds, prices it in dollars, and drops the findings in Slack before 7am. Three hours of manual work per account, done while I sleep.

→ The reports. Every client report drafts itself over the weekend, pulling from Google Ads, GA4 and Shopify, cross-checked so the numbers already agree before a human reads them. They send Monday morning. Zero questions come back, because there's nothing left to question.

→ The feed watch. A 5am scan of the Merchant Center diagnostics tab. A single dropped GTIN can pull a batch of products dark and starve a Shopping campaign for a week with no email, no banner, no warning. Now it gets caught before breakfast.

→ The outreach. Verified addresses, a real first line written per person, calls landing on the calendar. Booked meetings while nobody's awake.

→ The creative desk. One product photo goes in, twelve ad variants come out in a batch, sized for every placement.

None of it waits on me. All of it reports to me.

[IMAGE-2: hyper-real Slack screenshot of an "agency-ops" channel at 07:04, a bot post reading "Nightly audit complete: 25 accounts, 2 flags. Spend spike (account blurred), disapproved feed items (account blurred). Fixes drafted, awaiting approval." with green check reactions. Looks like a genuine workspace.]

That gap between $14,400 and $1,650 is the thing everyone screenshots. But screenshot the wrong lesson and you'll rebuild the same trap with cheaper parts. The gap isn't the point. What the gap unlocks is the point.

**Why two people can hold twenty-five clients**

Here's the number that runs the model.

A media buyer, doing it the old way, carries six or seven clients. That's the ceiling. And it was never the thinking that capped them there. It was the grinding. Pulling the data, rebuilding the report, checking the feed, formatting the deck, catching the thing that broke. The judgment took an hour a week per account. The grunt work took the other fifteen.

Strip the grunt work out and hand it to the agents, and that same media buyer holds twelve, thirteen clients without breaking a sweat. Because now the only thing left on their plate is the part that needed a human all along: the call.

So two operators cover twenty-five clients. Two.

That's the leverage, and it's the whole company. Your delivery cost stops scaling with your client count. Client twenty-five costs almost what client five cost to serve, because adding a client adds about $66 of agent time, not a $4,500 analyst. The work gets better as you grow, not worse, because a checklist only sharpens while a tired human on their fourth report of the day skips a row.

[IMAGE-3: clean hyper-real diagram, two operator headshots on the left joined by thin emerald lines to a grid of 25 small account cards on the right, a Claude Code terminal panel in the middle showing a live audit job with green pass lines scrolling, the middle layer labelled small "agents: pull, check, draft, catch".]

Read that slow, because it inverts the thing you were taught. Growth is supposed to mean headcount. Here, growth means the same two people and a machine that never asks for a raise.

**The team is two seats, and here's how you draw the line**

We hire for judgment. That's the only filter.

Before any role gets posted, we write it out as a checklist. Every step, every trigger, written down top to bottom. Then we look at it straight and cold. If following the steps finishes the job, an agent runs it and no one gets hired. If it needs taste, or a call made under pressure with real money on the line, that's a human seat.

[IMAGE-4: hyper-real Google Sheets screenshot titled "Reporting role", rows listing each task with a status column, most rows tagged green "AGENT", two rows tagged emerald "HUMAN" next to "budget call" and "client strategy". Looks like a real ops sheet, client names blurred, no footer.]

Most agencies have five people doing checklist work and call it a team. We have checklists doing the checklist work, and two people doing the deciding.

Those two seats aren't cheap, and they shouldn't be. Pay them what they're worth. Even paying two senior operators well, the math holds, because there's only two of them standing between you and twenty-five paying clients.

**So how does the $100k land**

Twenty-five clients at about $4k a month. That's $100k. That's the whole revenue line.

No enterprise whale you chase for a year and pray closes. No forty-person org chart you have to feed on the first of every month. Twenty-five clients, one repeatable offer.

Now the cost side. About $1,650 on the agents and tools. Two operators who decide. That's the payroll. Not nine people, not four, two. Everything left over after those two salaries and the machine clears 80% and up.

[IMAGE-5: hyper-real clean P&L card, "Monthly" header, rows reading "Revenue: 25 clients x $4,000 = $100,000", "Agents + tools: $1,650", "Two operators: (figure)", "Margin: 80%+" with the 80% figure in bold emerald. Styled like a spreadsheet cell block or a Notion table.]

That's why the nine-person shop at $88k takes home less than his own developer, and a leaner shop at $100k takes home most of it. Same industry. Same clients, more or less. The difference is all in who does the checklist work: people, or the machine. He's paying salaries to do what a schedule does for $1,650. The margin doesn't leak because there's no org chart for it to leak through.

**Two things kill it, and I've watched both up close**

The first is custom work creep. Every "small exception" you say yes to for one client is a future salary you just signed off on. That one custom report nobody else gets? It breaks the standardized rails, so now a person has to babysit that one account by hand, and you've re-added the exact labor you spent two years removing. Say no early, while no is still cheap and nobody's attached to the exception.

The second is hiring for tasks. The moment you put a person in a seat to do what a checklist could hold, you bought chaos at $65k a year and called it growth. Tasks automate. Judgment doesn't. Get that backwards and every hire makes the company heavier and the margin thinner.

**None of this is a paid media formula**

Sit with this part, because it's the part worth the most.

One offer. Delivery that runs on systems. Humans kept only for the parts where a real judgment call lives. Nothing in that sentence says Google Ads.

Swap the offer for design, for bookkeeping, for SEO, for dev work, and the math survives contact with every one of them. The audit becomes a teardown. The reports become whatever your client waits for on Monday. The two seats stay two seats, because the grunt work in every service business is the same shape: pull, check, format, catch, repeat. All of it automates. What's left in every one of them is the call, and the call is what you're paid for.

So start with the offer. Before the tools, before the first hire, before you touch a single agent. The offer comes first.

If you can't describe what you sell in one clean sentence, that's your work this week. Not the automation. The sentence. The automation is easy once the offer is sharp enough to build a checklist against.

So what's the sentence?