The margin engine: six controls that make a services contract pay
In a project business, everyone remembers the big installation: the handover ceremony, the photographs, the go-live. Very few remember the maintenance contract that follows, yet over the years I have learned that this is where much of the real value sits. Service revenue is recurring, it smooths the cash cycle between projects, and it keeps you close to the customer long after the project team has moved on.
It can also lose money quietly, month after month, without anyone noticing until the year-end review.
The difference is rarely the engineers. In my experience it is whether the services business has a margin engine: a small set of controls that decide what a contract costs, what it promises, how it is run and how it is renewed. When those controls are in place, services become one of the most dependable lines in the P&L. In my current role, direct AMC and professional services contracts have generated several million in gross revenue, and the discipline behind that is not complicated. It is consistent.
Here are the six controls I would put in place in any services operation.
Start from the cost to serve, not from the last contract
Most service contracts are set up by copying the last contract, or by assuming what a competitor offers. Both are guesses. Start instead with the cost to serve: engineer hours per visit, number of sites, travel time between them, preventive maintenance frequency, spares exposure, response windows and the cost of out-of-hours cover.
Build that into a simple cost-per-site or cost-per-asset model, so you know what each contract really takes to deliver before you commit to it. If the scope the customer wants cannot be delivered within that cost to serve, you have two honest options: change the scope or walk away. "We will make it up later" is not a third option.
Make the SLA the product
A customer does not buy "maintenance". They buy a promise: how fast you respond, how fast you fix, how often you visit and what is covered. That promise is the product, so define it clearly and resource it properly.
Clear service levels work well here. They let the customer choose the level of cover they need, and let you plan each level against what it actually costs to deliver. A four-hour response in a remote location is a very different cost from a next-business-day response in the city. Write the difference down, and make sure the contract reflects it.
Hand over from sale to delivery on one page
Many service margins are lost in the gap between the person who sold the contract and the team who must deliver it. The fix is a short, mandatory handover before the start date: the signed scope, the asset list, the SLA level, the site contacts, the start and end dates, the billing schedule and one named commercial owner.
No handover, no start. It sounds strict, but it protects the customer as much as it protects you, because nobody has to discover the scope by arguing about it later.
Run a live scorecard, not a year-end surprise
If you only look at service profitability at year-end, you are reading history. Track a short list of commercial measures every month, contract by contract:
- response and resolution times against the SLA
- preventive maintenance visits completed versus planned
- repeat calls on the same asset
- engineer hours and spares consumed versus what was planned
- margin per contract
Five measures are enough. The point is not the dashboard; it is the conversation it forces. When a contract starts drifting, you see it in month three, not month twelve, and you still have time to fix the cause.
Score customer health before the renewal is due
Renewals are won or lost long before the renewal date. A simple customer health score, built from SLA performance, open issues, payment behaviour and the quality of the relationship, tells you which contracts are safe, which need attention and which are at risk.
A sensible rule of thumb is to open the renewal conversation around 90 days before expiry, with the scorecard in hand. It changes the tone completely. Instead of a commercial negotiation, it becomes a review of what was delivered and what the customer needs next. That is also the right moment to propose a higher service level or to bring several sites under one agreement.
Bill on time, every time
A service contract delivered well but invoiced late is still a cash problem. For recurring contracts the fix is simple: fix the billing schedule at handover, raise each invoice on the agreed date, and attach the visit reports and sign-offs the customer needs to approve it.
Billing is part of delivery, not an afterthought. In my current role, disciplined invoicing and forecasting playbooks have helped deliver significantly faster billing during 2026.
Putting it together
None of these controls is new. What makes them work is running them together, as one engine. The cost to serve sets the margin. The SLA defines what you are selling. The handover protects the margin at the start. The scorecard protects it during the contract. The health score protects the renewal. And on-time billing turns all of it into cash.
Over the years, across distribution, IT services and systems integration, I have seen the same pattern. The businesses that treat services as an afterthought to projects tend to find the margin leaking somewhere they cannot see. The ones that run services as a product, with a clear promise, an honest cost to serve and a monthly look at the numbers, build a recurring base that carries them through the lumpier project cycles.
If you lead a project business in the GCC, it is worth asking a simple question this quarter: do you know the margin on each of your service contracts today, or only at year-end?
Question for comments: Which of these six controls is hardest to keep in place in your business, and why?