AgencyFlo

by Jonny Stuart31 Mar 2026Updated 5 Jun 2026

Insights

Why agency profitability is invisible until it's too late

Why agency profitability is invisible until it's too late?

Most agencies don't discover a project lost money until the invoice goes out. This is the Margin Visibility Gap. It's a structural problem, not a discipline problem. Here's why it happens.

Why agency profitability is invisible until it's too late
The Margin Visibility Gap is the period between when a project becomes unprofitable and when the agency owner finds out. It is not caused by careless management. It is caused by three structural conditions that are common to nearly every agency running a fragmented tool stack: siloed data, manual assembly, and lagging reports.

Most agency founders experience it the same way. Not as a trend line. As a number on an invoice.

The project felt fine the whole way through. The team was busy, the client was happy, the work shipped. Then the invoice goes out, the costs get reconciled, and the margin you assumed was there has quietly evaporated. The loss did not happen at the invoice. It happened weeks earlier. The invoice is just the first moment you could see it.

We have written separately about why agencies lose money on projects, and about the loss patterns themselves: scope creep, unbilled time, underestimation. This piece is about something narrower and, in our experience, more important. Not why the money goes. Why you cannot see it going.

The Margin Visibility Gap

10-20%Typical agency net margin band.Promethean Research

A profitable-looking agency can be losing money on half its projects and not know it. Net margins for most agencies are thin - typically the mid-teens to low-twenties (Promethean Research), which means the difference between a good year and a bad one is a few points of margin spread invisibly across the book. When the cushion is that thin, the speed at which you can see a problem matters more than almost anything else.

The Margin Visibility Gap is the lag between a project turning unprofitable and you finding out. In most agencies that gap is measured in weeks, sometimes a full month-end cycle. And here is the part that frustrated us for years: it is not a sign of a badly run agency. The most disciplined teams we know have the same gap as the chaotic ones. It is produced by how the tools are arranged, not by how carefully people work. Three structural conditions create it, and none of them is a discipline failure.

Condition one: the data is siloed

Margin is a single number that depends on data from at least five systems. The rate card and scope live in the proposal tool. The plan lives in the project tool. The hours live in the time tracker. The costs and the invoice live in the accounting system. No one of those tools knows what the others know, and margin is the product of all of them at once.

This is the quiet root of the whole problem. A number that lives in five places effectively lives nowhere. Your time tracker can tell you a designer logged 40 hours. It cannot tell you those 40 hours were quoted at 24, because it has never seen the proposal. Your accounting tool can tell you what you billed. It cannot tell you what the work cost to deliver, because the hours sit in a different login. Each tool is correct about its own slice and blind to the rest.

Condition two: the picture is assembled by hand

Because the data is siloed, the only way to see true margin is for a human to assemble it. Someone exports the timesheets, pulls the rate card, finds the original scope, checks what was invoiced, and reconciles the four in a spreadsheet. That spreadsheet is the only place in the entire business where live margin actually exists, and it exists for as long as the person updating it keeps updating it.

This is why "just track your margin more carefully" is not advice an agency can act on. The work of seeing margin is itself a job, usually a senior person's job, usually done late on a Friday or at month-end because that is when there is time. The assembly is manual, so it is slow, so it is infrequent, so it happens after the decisions it should have informed. The discipline is there. The data architecture defeats it.

Condition three: the report lags reality

Even when the picture does get assembled, it describes the past. A month-end report tells you, in the first week of June, that a project went over budget in the third week of May. By then the work is delivered, the client has moved on, and the only lever left is an awkward retrospective variation conversation that most agencies never have.

This is the third structural condition and the one that closes the trap. Reporting is a rear-view mirror by design. It exists to record what happened, not to flag what is happening. A team that could see, mid-project, that it had burned 70% of the budget for 50% of the deliverable would raise it on a Wednesday. A team that finds out at month-end stays silent, because there is nothing to do about a number that is already final. The lag does not just hide the problem. It removes every cheap option for fixing it.

What it looks like on one project

52%Projects that experience scope creep.PMI, 2024
27%Average cost overrun on affected projects.PMI, 2024

Take a $40,000 fixed-fee build, scoped at 320 hours, quoted to clear a healthy margin. The discovery phase was estimated at 40 hours. It actually ran to 58, because the brief was looser than anyone admitted at kickoff. In the time tracker, that 58 hours is logged correctly and looks completely normal. It is just hours against a live project. Nothing flashes red, because the tracker has never seen the 40-hour estimate.

Design then absorbs an extra revision round the client requested in passing. Another 22 hours, again logged correctly, again invisible as an overrun because no screen is comparing logged hours to quoted hours. Industry estimates put unbilled or unraised work at around 15% of worked hours, and this is exactly how it accrues: not through theft of time, but through hours that were real, logged, and never matched against the budget while it still mattered.

By delivery, the build has consumed 405 hours against 320. At a $110 loaded rate, that is roughly $9,350 of margin gone on a project that, at every weekly check-in, looked fine. PMI's data shows this is the norm, not the exception: 52% of projects experience scope creep, with an average 27% cost overrun (PMI Pulse of the Profession, 2024). The number was knowable in week two. It only became visible at the invoice. The gap between those two moments is the whole problem.

What closing the gap looks like

Closing the Margin Visibility Gap is not a discipline intervention. It is an architecture change. The three conditions only exist because margin is computed across five disconnected tools. Put the rate card, the scope, the hours, the costs and the invoice on one data model, and live margin stops being a spreadsheet someone maintains and becomes a number the system already knows.

That is the whole reason we built AgencyFlo. We needed to open a project and see its real margin at that moment, against the budget, without exporting anything, and we could not buy it. FloAI sits inside that connected model, so it surfaces the overrun in week two instead of waiting to be asked at month-end. The economics matter here too: the visibility does not come at the price of more tools. AgencyFlo is flat at $50/month for teams up to 25 people, $100/month above, which is the point. The fragmentation that causes the gap is the same fragmentation that runs up the bill.

You do not need our product to start. Pick your next project, put live margin on a single screen, and check it at the end of week one. If you cannot see it without opening a spreadsheet, you have just located the gap that explains most of your invisible losses. The work was never the problem. The lag between the work and the visibility is the problem, and it is structural, which means it is fixable.

Key takeaways

  • A project usually loses money weeks before the invoice shows it.
  • The gap comes from three things: data in silos, hand assembly and late reports.
  • Even the most careful teams have the same gap, so it is not a discipline issue.
  • Margin needs five tools at once, so a number in five places lives nowhere.
  • Put it all on one connected model and live margin appears on a single screen.

Frequently asked questions

What is the Margin Visibility Gap?+

The Margin Visibility Gap is the lag between when a project becomes unprofitable and when the agency owner finds out. In most agencies it runs to weeks, often a full month-end cycle. It is caused by three structural conditions, not by careless management: margin data is siloed across separate tools (proposal, project, time, accounting), the true picture has to be assembled by hand, and the resulting report describes the past rather than the present. By the time the loss is visible, the work is delivered and the cheap fixes are gone.

Why does month-end profitability reporting fail agencies?+

Month-end reporting is a rear-view mirror by design. It records what happened rather than flagging what is happening, so it tells you in early June that a project went over budget in May, after the work has shipped and the client has moved on. With agency net margins typically in the 10-20% band, a few weeks of lag is the difference between catching an overrun while it is cheap to fix and discovering it once the only option left is an awkward retrospective variation. The problem is not the accuracy of the report; it is the timing.

What is real-time margin and why does it matter?+

Real-time margin is live project profitability computed continuously from the rate card, scope, logged hours, costs and invoicing, on a single connected data model, rather than reconciled by hand at month-end. It matters because around 15% of worked hours are typically never billed and 52% of projects experience scope creep (PMI, 2024). Real-time margin surfaces an overrun in week one or two, while the team can still raise a variation, rebalance the work, or have the conversation. Lagging reports surface it only after the decision window has closed.

Is the Margin Visibility Gap a discipline problem or a tooling problem?+

It is a tooling problem that masquerades as a discipline problem. The most carefully run agencies have the same gap as the chaotic ones, because the gap is produced by the data architecture, not by how hard people work. Margin depends on data spread across five systems that do not talk to each other, so seeing it requires manual assembly, which is slow and infrequent. Telling a team to "track margin more carefully" cannot fix a problem caused by the tools physically being unable to show the picture until after it matters.

Sources

  1. Pulse of the Profession 2024: Project Success in Disruptive Times - Project Management Institute
  2. Agency profit margins 2026 benchmarks - Promethean Research
  3. Utilisation vs realisation rates: marketing agencies - Bennett Financials
  4. Agency profitability - AgencyFlo

About the Author

Jonny Stuart

Founder & CEO, AgencyFlo

Jonny is the founder of AgencyFlo and previously ran a 15-person product studio. He writes about agency operations, margin, and the closed-loop tooling shift that makes both possible.

Operate and grow your agency, the right way.

The only tool your agency needs to run faster with less and make more money.