The Realised-Rate Problem: How Discounting to Win Work Halves Your Margin
Your rate card is a list price, not a transaction price. The number that decides profit is the realised rate — revenue actually collected divided by hours actually delivered. A small discount and a modest overrun, together, can quietly halve your margin. The maths, a worked example, and what to track instead.
Every agency has a rate card, and almost no agency collects it. The number on the card is a list price. The number that decides whether a project made money is the realised rate: the revenue you actually collected, divided by the hours you actually delivered. The gap between the two is where margin quietly goes.
Two forces bend the realised rate below the card, and they work in opposite directions on the same fraction. A discount given to win the deal shrinks the numerator: less revenue for the same plan. An overrun or a piece of unbilled scope inflates the denominator: more hours delivered for the same revenue. Each one alone is survivable. Together, they compound, and the realised rate routinely falls below the rate you needed to charge to hit your target margin.
This piece works the maths on a single ordinary project: sold at a 10% discount, then delivered about 15% over the planned hours. Neither number is alarming on its own. Together they take the realised rate from £150 an hour down to around £117, and the project's margin from roughly £24,000 to roughly £12,600 — close to half.
The fix is not a bigger rate card. It is to measure the realised rate per project and per client, treat discounts as a budget you are spending rather than a courtesy you are extending, and reprice the relationships that consistently come in below cost-justified.
There is a number every agency owner can recite without looking it up: the rate card. The senior rate, the mid rate, the design rate, the discovery rate. It is on the proposal template, it anchors every negotiation, and it is the figure people have in mind when they say the agency is "a £150-an-hour shop".
It is also, in almost every agency I have looked at, a number the business never actually realises. The realised rate — the revenue genuinely collected on a project divided by the hours genuinely delivered — sits well below the card. Not because anyone did anything wrong, but because two ordinary, defensible things happened: a discount was given to win the work, and the work ran a little over what was planned.
This piece is for the finance director or owner who looks at a healthy rate card, looks at a thin year-end margin, and cannot reconcile the two. The reconciliation is the realised rate. I want to show you how far it diverges from the card, why the divergence compounds rather than adds, and what to track so it stops being a surprise. This is a revenue-side argument; it is the companion to the cost-side argument about why your hourly rate is the wrong number to optimise. That piece says the cost basis under your rate is wrong. This one says the revenue you collect against that rate erodes before it ever reaches the bank.
Your rate card is a list price, not a transaction price
A rate card is a starting position. In any market with negotiation in it — which is every agency market — the list price and the transaction price are different numbers, and the difference is not noise. Retailers have known this for a century: the sticker is the anchor, the till receipt is the truth, and the gap between them is managed deliberately as a line in the accounts.
Agencies, for the most part, do not manage that gap. The rate card is treated as if it were the realised rate. Margin models are built on it, capacity plans assume it, and the sales bonus is often paid against revenue calculated as if every hour went out at card. Then the realised rate comes in materially lower, the year-end margin disappoints, and nobody can point to the project where it went wrong — because it did not go wrong on any one project. It leaked a few points everywhere.
The realised rate is a simple fraction:
Realised rate = revenue actually collected ÷ hours actually delivered
Both halves of that fraction move against you in normal trading. The numerator falls when you discount to win the deal, when you write off disputed time, or when a fixed price gets squeezed. The denominator rises when the work runs over the plan, when scope is added without a corresponding invoice line, or when post-launch support gets folded into the delivery budget. The card never enters into it. The card is what you hoped to realise. The realised rate is what you did.
The two forces that bend the realised rate
The two forces deserve separating, because they feel different in the room and they are managed by different people, but they land on the same fraction and they multiply.
The discount given to win the work
The first force is the discount. It is decided at the front of the engagement, usually by sales or by the owner, under time pressure, as the last move that closes the deal. "We're keen to work with you, let me see what I can do on the rate" is the most expensive sentence in the agency vocabulary, because the person saying it almost never has the project's real cost in front of them when they say it.
A discount shrinks the numerator directly. Sell a £60,000 plan at 10% off and you have agreed to collect £54,000 for the same scope. On the planned hours, your effective rate has already dropped from £150 to £135 before a single ticket is opened. That 10% does not come off the top of a fat margin. It comes off the margin, pound for pound, because the cost of delivery does not move when you discount — the people still cost what they cost.
The overrun and the unbilled scope in delivery
The second force is the overrun, and it is decided at the back of the engagement, by delivery, usually with the best of intentions. The work takes longer than estimated. A change request gets absorbed because shipping matters more than papering it. Two extra weeks of support get folded in because the client is happy and the relationship is good.
An overrun inflates the denominator. Deliver the £54,000 project in 460 hours instead of the planned 400, and you have collected the same £54,000 across 15% more delivered time. The realised rate falls again — this time not because you agreed to less money, but because you spent more of your own capacity earning it. If you want the underlying reason most projects run over, I have written separately about why your estimates are routinely about thirty percent off; the short version is that the overrun is not an accident, it is a structural bias, and it should be priced as one.
The reason the realised-rate problem is worth its own article is that these two forces compound. The discount makes the numerator smaller and the overrun makes the denominator larger, and a fraction with a smaller top and a bigger bottom falls faster than either move suggests alone. A 10% discount and a 15% overrun do not net out to a 25% problem you can shrug off. They combine into a realised rate roughly 22% below the card, and — because cost is fixed underneath — a margin hit far larger than 22%.
A worked example: a small discount, a modest overrun
Take an ordinary project, anonymised and scaled to round numbers. Nothing dramatic happens in it. It is the kind of project an agency would file under "fine".
The setup:
- Rate card: £150 per hour, blended.
- Fully-loaded cost: £90 per hour, blended across the delivery team (named people at real cost — salary, employer's NI, pension, holiday, direct per-head costs).
- Cost-justified rate to hit a 40% target margin: £90 ÷ 0.60 = £150 per hour. The card is set correctly. At card, on plan, this project hits target exactly.
- Plan: 400 hours. At card, that is £60,000 of revenue, £36,000 of cost, and £24,000 of margin (40%).
Now the two ordinary things happen.
The discount. To win the work, the agency agrees a 10% reduction. The contract value becomes £54,000. On the planned 400 hours, the effective rate is now £135.
The overrun. Delivery comes in at 460 hours — 15% over the plan. The revenue does not change, because the price was agreed up front. The cost does: 460 hours at £90 fully-loaded is £41,400.
Now compute the realised rate and the realised margin:
| Measure | At card, on plan | As realised |
|---|---|---|
| Revenue collected | £60,000 | £54,000 |
| Hours delivered | 400 | 460 |
| Realised rate | £150.00 | £117.39 |
| Fully-loaded cost | £36,000 | £41,400 |
| Project margin (£) | £24,000 | £12,600 |
| Project margin (%) | 40.0% | 23.3% |
The realised rate has fallen from £150 to about £117 — below the £150 the agency needed to charge to hit target, and only £27 above the £90 it costs to deliver an hour. The margin in pounds has gone from £24,000 to £12,600. That is a 47.5% fall. The agency discounted by 10% and ran 15% over, and it lost close to half the profit on the job.
No one will see this on a standard report. The labour-margin view, run at role rate, will show revenue of £54,000 against costed-at-rate-card delivery and report something reassuring. The realised rate is the only number that holds the discount and the overrun in the same frame, and most agencies do not compute it at all.
This is what the same project looks like with the realised rate surfaced as its own line, the card and the cost-justified rate held alongside it for reference.
Treat discounts as margin you are spending
The most useful mental shift I made on this — and the one I push at every agency I sit with — is to stop thinking of a discount as a concession and start thinking of it as a spend. When you take 10% off the rate, you are not being generous with the price. You are spending margin to acquire a piece of work. That spend should have a budget, an owner, and a cap, exactly like any other acquisition cost.
In practice that means three changes, none of them dramatic:
-
Put a cap on discretionary discount and attach it to whoever holds margin accountability. A salesperson should be able to give a small discount inside a standing allowance. Anything beyond it needs the number that the discount is being spent against — the project's projected margin at the discounted rate — in front of the person approving it. The cap is not there to stop discounting. It is there to make sure the person discounting can see what they are spending.
-
Quote the realised-rate consequence at the point of discount, not at year-end. The question to answer in the room is not "can we afford 10% off?" It is "at 10% off, and at our normal overrun on this kind of work, what realised rate are we committing to, and is it above cost-justified?" If the honest answer is that the realised rate lands below cost-justified, the discount is not a discount. It is a decision to run the job at a loss, and it should be made as one — sometimes deliberately, for a strategic account, but always knowingly.
-
Stop discounting the rate and start adjusting the scope. A client who needs the number to come down is better served by a smaller scope at the full rate than by the full scope at a discounted rate. The first protects the realised rate and teaches the client what their money buys. The second trains the client to expect the discount next time, and trains your delivery team to absorb the overrun on a job that was thin to begin with.
The discount and the overrun are not independent. A discounted project arrives in delivery already thin, and a thin project is the one where the team is least able to absorb the inevitable overrun. The two forces find each other. They tend to land on the same jobs — the ones won on price, run on goodwill, and reported as fine.
What this looks like once you measure it
The reason the realised rate is invisible at most agencies is that nothing in the standard stack computes it. The CRM holds the contract value, the timesheet holds the hours, the finance system holds the invoices, and the rate card lives in a slide deck. No single surface divides collected revenue by delivered hours, per project and per client, and holds it against the rate you needed to charge. So the divergence accumulates quietly, and the year-end margin is the first place it becomes visible — by which point the projects that caused it have shipped and been forgotten.
Two views are worth building, and both fall out of the same data:
- Realised rate per project, computed continuously as hours land against the agreed revenue, with the cost-justified rate drawn as a line. The moment the realised rate crosses below that line, the project is no longer earning its target margin, and you know it mid-flight rather than at the post-mortem.
- Realised rate per client, rolled up over a rolling twelve months. This is the view that ends arguments. The client who feels like a flagship account because of their invoice volume frequently turns out to be the one whose realised rate sits well under the card — discounted at the front of every engagement, generous with scope at the back of every one. That is the relationship to reprice, not to celebrate.
The repricing conversation is easier than it sounds, because it is quantitative. You are not telling a long-standing client they have become unprofitable. You are showing them, calmly, that the realised rate on their work has drifted below the rate the work needs to sustain, and proposing either a rate that holds or a scope that fits. Some clients adjust; a few do not, and learning which is which is worth the conversation on its own.
The financial layer I built reads worklogs from Jira at each named person's real cost and holds the agreed revenue against the delivered hours, so the realised rate is a live number per project and per client rather than a year-end reconstruction. If you would like to see your own engagements re-projected from rate card to realised rate on your real Jira data, that is what Saldo does, and what it costs other agencies is on the pricing page.
The shorter version: your rate card is a list price. The realised rate is the transaction price, and it is the one that pays the wages. A small discount and a modest overrun are each forgivable; together they routinely halve the margin, and the only way to stop being surprised by that at year-end is to watch the realised rate while the work is still in front of you.
Continue inside Saldo