Margin7 min read

The Real Cost of Scope Creep — and Why Your Invoice Never Shows It

Scope creep runs at 5–12% of contract value on friendly projects — which sounds survivable until you notice it comes straight out of margin, not revenue. On a 25%-margin project, a 10% creep takes nearly half the profit. Where it hides, a worked example, and how to count it.

In short

On projects where the client relationship is warm and the delivery lead is generous with their time — that is, on your best-run projects — scope creep typically consumes somewhere between 5% and 12% of the original contract value. We have measured it as high as 12% on builds where nobody would have said anything was wrong.

The number sounds survivable because it is quoted against revenue. It should be quoted against margin. Delivered-but-unbilled work is pure cost with zero revenue attached, so every pound of it comes straight off the bottom line. On a project priced to land at 25% real margin, creep worth 10% of the contract takes 40% of the profit. The project didn't slip, the client is delighted, and nearly half the margin is gone.

The deeper problem is that no standard report can see it. Margin reports are built from invoices and timesheets; scope creep, by definition, appears in only one of the two. This piece puts pounds on the three shapes it takes, works an example end to end, and describes the only fix that works — counting it as a category, not forgiving it as a series of favours.

"Scope creep" is one of the few finance problems every agency person already has a word for. Ask a delivery lead where margin goes to die and they will say it without hesitation. And yet almost no agency can tell you what scope creep cost them last quarter — as a number, in pounds, by project.

That gap between naming a thing and measuring it is worth pausing on. We track estimate accuracy obsessively. We track utilisation to the percentage point. But the work we deliver without ever invoicing it — the purest form of margin loss there is — appears in no report, because the reports are built from invoices and timesheets, and this work only ever touches one of the two.

Inside Saldo we call the category unbilled scope, and it is one of the three components of true project cost, alongside labour at real cost and allocated overhead. But "scope creep" is the phrase the industry searches for, so let us use it — and put pounds on it.

Scope creep is a margin event, not a revenue event

The instinct is to size scope creep against the contract: "we gave away maybe five, ten percent". Framed that way it sounds like a rounding concern. The framing is wrong, and the arithmetic shows why.

Unbilled work is cost with no revenue attached. It does not dilute your revenue; it subtracts, pound for pound, from your profit. So the honest comparison is not creep against contract value — it is creep against the margin the contract was priced to produce.

Take a £120,000 project priced to land at 25% real margin: £30,000 of planned profit on £90,000 of true cost. Now let scope creep run at a mild-sounding 10% of contract value — £12,000 of delivered, uninvoiced work. That £12,000 lands entirely on the cost line. Planned profit: £30,000. Actual profit: £18,000. A 10% creep took 40% of the margin.

This leverage is why agencies with excellent delivery discipline still land thin years. Nothing dramatic happened on any project. Ten percent quietly happened on most of them.

The three shapes it takes

Measured across our own portfolio and the agencies we have run the numbers for since, scope creep arrives in three recurring shapes — in ascending order of invisibility.

Change requests that never got papered. A client asks for a small extra. Someone says "of course" — shipping matters, the relationship matters, and the commercial conversation gets postponed to the next call, then the next. Each decision is individually defensible. By project's end they compound into fifteen or twenty days of unbilled engineering. This is the largest shape by volume and the easiest to measure after the fact: it is sitting in your Jira worklogs right now, attached to tickets no invoice mentions.

Support that outlived its warranty. The scope said "two weeks of post-launch support included". The actual support ran six. Weeks three through six were logged to the same project, worked by the same (usually senior) people, and billed to nobody. Because the project was already "done", nobody was watching its numbers when this cost arrived.

Management time at zero cost. Founders and account directors who join client calls, review deliverables, and smooth escalations — with their hours captured nowhere. For a hands-on owner this runs 20–40 hours per project; at an honest internal rate that is £3,000–10,000 per project of senior cost carried by no budget. This is the most invisible shape, because the hours were never logged anywhere at all.

Worth separating from all three: estimate error. Underestimating work you did invoice is a different failure with a different fix. Scope creep is work you never invoiced at all. Mixing the two in one conversation guarantees neither gets solved.

A worked example

The £120,000 build from above, anonymised and rounded, as it actually unfolded:

  • Unpapered change requests: 20 engineering days at a £320/day blended real cost — £6,400
  • Warranty overrun: three extra weeks of part-time senior support — £3,600
  • Unlogged management time: ~30 hours of account direction and founder calls at £180/hour — £5,400

Total scope creep: £15,400, or 12.8% of contract value — against a planned profit of £30,000.

saldo.team / projects / four-month-build / unbilled-scope
Worked example · anonymised
£120k build · where the margin went
Priced at 25% real margin · delivered warm, on time, half as profitable
Scope creep · by shape
Unpapered change requests
£6,400
Warranty overrun
£3,600
Unlogged management time
£5,400
Total unbilled scope
£15,400
Planned profit
£30,000
25% of £120k
Creep vs contract
12.8%
sounds survivable
Creep vs profit
51%
the honest frame

Half the profit, on a project everyone was proud of. Multiply by a portfolio of forty projects in flight and the annual figure is comfortably six digits — which is roughly what we found when we first ran the real numbers on our own book.

Why your reports can't see it

Every standard agency report is assembled from two sources: what was invoiced, and what was logged. Scope creep is engineered — accidentally, but perfectly — to slip between them. The unpapered CR is logged but never invoiced, so revenue reports miss it. The founder's calls are neither logged nor invoiced, so everything misses them. At best, the creep surfaces as a vague "overrun" that delivery attributes to optimistic estimating — which files a pricing problem under a forecasting problem and solves neither.

The tell that you have it is simple to check and one of the seven signs worth screening for: take your last five finished projects and compare total hours logged against hours accounted for on invoices. The gap is your creep, at minimum — the unlogged management time still hides below it.

The fix: count it as a category

You will not fix scope creep with firmer contracts alone, because most of it is created by good instincts — ship it, keep the relationship warm — that no contract clause switches off. What works is making the category visible, so the generosity becomes a decision rather than a leak.

  • Keep a scope register per project. Every "of course we'll do it" gets a line: what, roughly how many days, decided by whom. Not to bill it retroactively — to know it.
  • Cost the warranty period explicitly. Support after launch is scope. Price it, cap it, or consciously gift it — but put a number on the gift.
  • Log leadership time, even at a flat internal rate. Imprecise is fine. Invisible is not.
  • Review creep quarterly as its own line, next to margin — not as anecdotes, as pounds by project and by client. Clients who reliably generate creep are mispriced clients; that is a renewal conversation, not a delivery complaint.

The measurement half of this is what Saldo automates: it reads your Jira worklogs read-only, costs every hour at the named person's real cost, and shows you delivered work with no invoice line against it — continuously, while the project is still alive, not in a post-mortem. The 15-minute demo runs on your own Jira data; if there is creep in your book, you will see it before the call ends.

The shorter version: scope creep is not a delivery anecdote, it is a margin line — routinely 5–12% of contract value, which is routinely a third to a half of profit. The agencies that keep it are not the ones with tougher contracts. They are the ones that count it.

Going deeper: How Saldo calculates margin — estimate by role rate, actual by employee cost

Continue inside Saldo

More on this topic

Margin8 min read

How Agency Overhead Actually Lands on a Project

Overhead is the cost line most agencies never allocate to projects at all — which is how a book of 50% projects produces an 8% year. The pro-rata method, the minimum-revenue floor that stops slow months distorting it, and a worked example of one project in a strong month and a weak one.

Margin7 min read

What a Good Project Margin Looks Like for a Digital Agency

On a real-margin basis — labour at true cost, overhead allocated, unbilled scope counted — a healthy agency project lands around 20–30%. Most agencies quoting 50–60% are quoting labour margin, a different number. The honest benchmark ranges, and why the popular ones mislead.

Popular reads