Margin11 min read

Project Margin, Gross Margin, EBITDA: Which Number Your Board Actually Wants

Project margin, gross margin and EBITDA answer three different questions for three different audiences. This is how the three agency profitability metrics connect, where the common confusions lose money, and a worked bridge from one engagement up to agency EBITDA.

In short

An agency carries three profit numbers that get used interchangeably and shouldn't be. Project margin is the operational lever: what one engagement earns after the people, overhead and unbilled scope it consumed. Gross margin is the delivery view: project margin rolled up across the whole book. EBITDA is the ownership view: what's left after the cost of running the agency, and the number a board or a buyer actually values.

They are not three opinions about the same figure. They are three layers of the same figure, and they bridge in one direction — project margin rolls up into gross margin, which becomes EBITDA once overhead and admin are taken out. When an agency reports the wrong one to the wrong audience, it isn't lying. It's answering a question nobody asked.

Most of the confusion, and most of the lost money, sits in three places: calling labour margin "project margin", leaving overhead out of the gross-margin line, and mixing billable and non-billable cost so neither number can be trusted.

This piece defines all three, shows how they connect, gives the benchmark ranges I'd treat as typical rather than gospel, and walks a single engagement all the way up to agency EBITDA.

A board member asked me once what our margin was. I gave him the project-margin number, because that's the number I lived inside as a CTO. He'd meant EBITDA. We talked past each other for ten minutes before either of us realised we were discussing different things, and I came away with a useful lesson: project margin, gross margin and EBITDA are not the same metric at different resolutions. They are three different questions, asked by three different people, and an agency that can't tell them apart will eventually answer the wrong one in a room where it matters.

This is for the CFO, CEO or owner who sits in those rooms. You already know what project margin actually is — the share of one engagement's revenue left after labour at real cost, allocated overhead, and unbilled scope. This piece is the layer above it: how that per-project number rolls up into the two figures your board and any future buyer care about, and where the bridge between them quietly leaks.

I'll define each number against the audience that wants it, show the bridge that connects them, name the confusions that cost money, and then run a worked example from one project up to EBITDA.

Three numbers, three audiences

The cleanest way to keep these straight is to attach each number to the person who needs it.

Project margin is the delivery lead's and the PM's number, and yours when you price. It answers: did this engagement earn what it should have? It's per-project, it's operational, and it's the only one of the three you can actually steer in real time. You can't move EBITDA on a Tuesday. You can re-staff a project on a Tuesday.

Gross margin is the delivery director's number. It answers: is our delivery engine efficient across the whole book? It's project margin rolled up — total revenue minus total cost of delivery across every engagement in the period. It tells you whether the agency, as a machine for converting hours into billable output, is running well.

EBITDA is the board's and the buyer's number — earnings before interest, tax, depreciation and amortisation. It answers: what does this business actually throw off, before the financing and accounting choices? It's gross profit minus the overhead of running the agency: leadership, finance, marketing, rent, the non-billable everyone. It's the number a valuation is built on, the number a lender underwrites against, and the number a board uses to decide whether you can hire.

MetricAudienceQuestion it answersGranularity
Project marginPM, delivery lead, you (pricing)Did this engagement earn what it should?Per project
Gross marginDelivery directorIs the delivery engine efficient?Whole book
EBITDABoard, owner, buyerWhat does the business throw off?Whole company

The trap is using one as a proxy for another. A healthy gross margin does not guarantee healthy EBITDA — an agency can deliver efficiently and still bleed it all on a bloated overhead. A strong project does not guarantee a strong book — one excellent build can sit next to three loss-making retainers. Each number is real only at its own level.

The bridge: how project margin becomes EBITDA

The three connect in one direction, and seeing the bridge is what stops the confusion.

Start at the bottom. Each project has a real margin: revenue minus the true cost of delivering it. Sum the revenue and the delivery cost across every project in the period, and the result is the agency's gross margin — same arithmetic, wider lens. Gross margin is just project margin with the brackets opened up.

Then take gross profit (the pounds, not the percentage) and subtract everything that keeps the agency running but doesn't deliver client work: the leadership salaries, finance and operations, sales and marketing, rent, the software that isn't chargeable to a project, the long tail of admin. What's left is EBITDA.

Project margin → (roll up the book) → Gross margin → (subtract running-the-agency overhead) → EBITDA

There's one subtlety that causes more arguments than anything else: where does overhead live? Overhead can't be counted twice. If you've already allocated a share of agency overhead into each project's true cost — which is how I'd compute real project margin — then your project-level cost lines already carry overhead, and your gross margin is closer to a contribution figure than a textbook "cost of sales" gross margin. The step from gross to EBITDA is then smaller, because most of the overhead was pushed down into the projects.

The alternative convention keeps gross margin "pure" — only direct delivery labour in cost of sales — and holds all overhead back to take out in one move on the way to EBITDA. Both are defensible. What isn't defensible is doing one in the project view and the other in the board pack, so the overhead either vanishes or gets deducted twice. Pick a convention, write it down, and make sure project margin and EBITDA are computed off the same one.

Where the confusion loses money

Three confusions account for almost every "our margin looks fine but the bank balance doesn't" conversation I've had.

Calling labour margin "project margin"

This is the most common and the most expensive. Labour margin is invoice minus costed hours — usually costed at role rate, the rate you sold the role at, not what the named person cost you. It ignores overhead entirely and ignores unbilled scope. It is one input to project margin, not project margin itself.

The gap is large. In our experience the difference between a labour-margin number and a real project-margin number runs 25 to 40 percentage points: a project reading "55%" on labour terms typically lands at 15–25% on real terms. If you roll a book of labour margins up and present it to the board as gross margin, you've overstated the agency's delivery efficiency by roughly a third — and every downstream decision built on it (can we hire, can we discount, can we afford this office) inherits the error.

Leaving overhead out of the gross-margin line

The second confusion is structural: reporting a gross margin that contains only direct labour, then forgetting that overhead still has to come out somewhere, and never quite taking it out. Overhead doesn't allocate itself. If it isn't pushed into project cost and isn't cleanly subtracted on the way to EBITDA, it falls into the gap between two reports and the agency runs on a gross-margin figure that feels like profit but isn't. The tell is a healthy gross margin sitting above a thin or negative EBITDA, with no one able to explain the drop.

Mixing billable and non-billable cost

The third is subtler. If non-billable time — internal projects, sales support, the founder's client calls, the bench between engagements — is logged against billable projects, it inflates project cost and makes delivery look worse than it is. If billable time leaks into "internal" buckets, it flatters delivery and hides the real cost of the work. Either way the boundary between cost of delivery and cost of running the agency blurs, and once it blurs you can't trust gross margin or EBITDA, because you no longer know which costs belong above the line and which below it. Utilisation reporting collapses at the same time, for the same reason.

Benchmark ranges (typical, not gospel)

Owners always want numbers to check themselves against, so here are ranges I'd treat as broadly typical for a services agency on a project model. They are starting points for a conversation, not targets, and they move with discipline, location, mix and how honestly cost is loaded. Read them as "if you're well outside this, ask why", not "hit this".

MetricTypical rangeNotes
Project margin (real, per engagement)~25–45%Wide spread by project type; builds higher, support often lower
Gross margin (book)~45–55%Higher if overhead is held back rather than pushed into projects
EBITDA margin~10–20%Below ~10% leaves little room to invest or absorb a bad quarter

Two cautions. First, the gross-margin range assumes a "pure" cost-of-sales convention; if you allocate overhead into projects, your gross margin will read lower and your EBITDA step will be smaller — the business is identical, the convention differs. Second, a strong EBITDA margin on a small revenue base is fragile: lose one large client and it can invert. The number that matters for resilience is EBITDA alongside client concentration, not EBITDA alone.

A worked example: one project, up to EBITDA

Anonymised and scaled to round numbers, as always.

Take one engagement: a £150k six-month build. Costed properly — named people at real hourly cost, the project's pro-rata share of overhead, and the unbilled scope it absorbed — its true cost comes to £112k. Real project margin: (150 − 112) / 150 = 25.3%.

Now widen the lens to the whole period. Say the agency turned over £3.0m in the half-year, of which this project was £150k. Across the full book, total delivery cost (labour at real cost plus the unbilled scope, but holding agency overhead back for the EBITDA step) came to £1.5m.

  • Gross profit: £3.0m − £1.5m = £1.5m → gross margin 50%

Then take out the cost of running the agency for the half-year — leadership, finance, sales and marketing, rent, non-chargeable software, admin — at £1.2m.

  • EBITDA: £1.5m − £1.2m = £300k → EBITDA margin 10%

So one 25% project sits inside a 50% gross-margin book that converts to a 10% EBITDA business. None of those three numbers contradicts the others. They're the same money, viewed from three heights. The board cares about the £300k and the 10%. You, pricing the next build, care about the 25.3% — because if the next ten builds come in at 18% instead, the £300k at the top erodes long before anyone in a board meeting notices.

saldo.team / company / margin-bridge
Worked example · anonymised
From one £150k build up to agency EBITDA
Same money, three heights · half-year on £3.0m turnover
The bridge · project → gross → EBITDA
Book revenue
£3.0m
Delivery cost (real)
£1.5m
Gross profit
£1.5m
Running-the-agency overhead
£1.2m
EBITDA
£300k
One project (real)
25.3%
the operational lever
Gross margin (book)
50%
delivery efficiency
EBITDA margin
10%
what the board values

Which number to put in which room

The practical rule I've settled on:

  • In a pricing or staffing conversation, use project margin — it's the only one you can act on before the engagement closes.
  • In a delivery review, use gross margin trended across periods — it tells you whether the engine is getting more or less efficient.
  • In a board meeting or a sale process, lead with EBITDA, and be ready to show the bridge down to project margin, because a sharp board member will ask which engagements are carrying the number and which are dragging it.

The agencies that get into trouble aren't the ones with a weak number. They're the ones who can only produce one of the three, present it everywhere, and discover in a fundraise or a sale that the buyer wanted a different layer and didn't trust the one on offer. If you can produce all three from the same underlying cost data, and explain the bridge between them in a sentence, you've answered every version of the margin question before it's asked.

If you want the three computed off one honest set of numbers — every worklog at real cost, overhead allocated once, the bridge from project to EBITDA visible rather than reconstructed each quarter — that's the layer Saldo sits on. The reference customer page shows what it looks like across a full book, and the 15-minute demo runs on your real Jira data, not a sample set.

The short version: project margin is the lever, gross margin is the engine, EBITDA is the prize. They're the same money seen from three heights — and the only mistake that costs you is showing the wrong height to the wrong room.

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

Continue inside Saldo

More on this topic

Margin10 min read

Are Your Support Retainers Actually Profitable?

Support retainers are priced once at sale and almost never re-costed, so they drift into loss through SLA creep, senior time at junior rates, and unlogged comms. How to measure real support retainer profitability and what to do about it.

Margin12 min read

The Cost of Senior Developers Doing Junior Work, in Pounds

How role-rate variance silently erodes agency margin when senior staff absorb work below their cost line. Worked tables of role rate × employee cost across four common scenarios, with the conditional logic that should drive who works on what.

Margin11 min read

What Project Margin Actually Is, for a Digital Agency

A definitional piece for finance directors and agency owners. Project margin is not invoice value minus labour cost. It is the share of project revenue left after labour at real cost, allocated overhead, and any unbilled scope. Worked example, common mistakes, and the formula that survives audit.

Popular reads