How to Calculate CMMS ROI: A Worked Example That Holds Up
Every vendor has an ROI calculator. Type in your headcount, pick an industry, and it tells you the software pays for itself nine times over. Your finance director has seen that page before. The number they want is the one that survives the second question: "where does that saving actually show up in the accounts?"
This guide is about building that number. The formula takes thirty seconds. The work is in the inputs, and most CMMS ROI cases fall apart because the inputs were borrowed from a brochure instead of measured on your own site.
How to calculate CMMS ROI: the formula
Two lines cover it.
- ROI (%) = (annual benefit − annual cost) ÷ annual cost × 100
- Payback (months) = total first-year cost ÷ average monthly benefit
That is the easy part. Everything below is about what you are allowed to put in "benefit" and what you have to put in "cost".
Step 1: Measure the baseline before you sign anything
You cannot show an improvement against a number you never recorded. If the business case says "we'll cut emergency call-outs by 40%", the first question back is "from what?", and "roughly a dozen a year, I think" does not survive a budget meeting.
Spend four to eight weeks capturing a handful of figures before you buy. A spreadsheet is fine for this; the point is that the numbers exist and you can show where they came from.
- Planned versus reactive split. Count jobs for the period and tag each one. Most teams moving off paper are 60–80% reactive and have never measured it.
- Admin hours per technician per week. Time spent finding the last job sheet, chasing the parts order, filling in the compliance log, asking who did what. Ask each technician to track it for a fortnight; it is usually 4–8 hours.
- Overtime and contractor call-outs. Pull twelve months from payroll and purchase ledger. These are the cleanest numbers you will have because finance already trusts them.
- Emergency parts purchases. Next-day courier, non-contract suppliers, the premium paid for the pump that failed on a Friday.
- Downtime on your critical assets. Hours lost, and what an hour costs on that line. Your maintenance KPIs post has the definitions; if you want to pin down repair time specifically, the MTTR calculator gives you a consistent method.
- Missed or late statutory inspections. Count them. Each one is a risk you will be able to price later.
Skip this and you will be measuring the CMMS against a guess.
Step 2: Count the full cost, not the licence
The licence is usually the smallest line. The cost that gets left out is your own team's time, and leaving it out is the quickest way to lose credibility with whoever signs off.
| Cost line | What it includes | Typical mistake |
|---|---|---|
| Software licence | Paid seats × 12 months | Quoting the headline seat price and forgetting the tier you actually need |
| Implementation time | Asset register clean-up, importing history, building PM schedules | Treating it as free because "we're doing it in-house" |
| Training | Technician hours in sessions plus the first slow fortnight | Counting the session, not the ramp |
| Hardware | Tablets, label printer, QR tags | Assuming everyone will use their own phone |
| Integration | Finance or ERP connection if you need one | Discovering it is a paid add-on in month four |
| Ongoing admin | Someone owning the system: new assets, schedule tweaks, reports | Assuming it runs itself after go-live |
Price internal hours at loaded cost, not base salary. A technician on £30,000 costs the business closer to £38,000 once you add employer contributions, holidays and the van, which works out around £22 an hour. The CMMS implementation checklist gives you a realistic task list to estimate those hours against.
One more thing on cost: "free" tiers are not free once you hit the caps and have to migrate or upgrade mid-project. The hidden cost of free CMMS software covers how that plays out. Put the real tier in the model from the start.
Step 3: Separate hard savings from soft savings
This is where most CMMS ROI calculations inflate.
Hard savings reduce cash leaving the business. They show up in a ledger line that goes down.
- Overtime hours reduced
- Contractor emergency call-outs avoided
- Premium paid on emergency parts
- Lost production, but only where the line was genuinely capacity-constrained and the output would have been sold
- Compliance penalties or failed audits avoided
- Capital spend deferred because an asset's life was extended
Soft savings are capacity. The hours exist, but no cheque gets smaller unless you do something with them.
- Technician time freed from paperwork and searching
- Faster reporting for management
- Fewer arguments about who did what
The rule: build the ROI on hard savings only. Show soft savings on a separate line, in hours, and say what you intend to do with those hours. If the freed time lets you bring a contracted job back in-house, that part becomes a hard saving and you can move it across. If it does not, it stays as capacity.
Vendor calculators collapse these together and multiply freed hours by an hourly rate. That is how a five-person team "saves" £90,000 a year without a payroll line changing. Finance knows this trick.
A worked example
The following is a hypothetical single-site operation, built to show the method. The figures are plausible for a small UK manufacturing or food-processing site, but they are not a customer result. Plug in your own baseline.
The site: five technicians, around 220 maintained assets, one production line that matters and a lot of supporting plant. Mostly paper job sheets and a shared spreadsheet. Baseline measured over eight weeks and annualised.
Baseline (per year):
| Measure | Baseline |
|---|---|
| Reactive share of jobs | 72% |
| Admin hours per technician per week | 6 |
| Overtime spend | £18,000 |
| Emergency contractor call-outs | 14 at roughly £450 each |
| Emergency parts premium | £2,400 |
| Unplanned downtime on the main line | 36 hours at £600 per hour |
First-year cost:
| Cost line | Assumption | Amount |
|---|---|---|
| Licence | 5 paid seats at £35 per seat per month | £2,100 |
| Implementation | 120 hours of internal time at £28 (supervisor rate) | £3,360 |
| Training | 5 technicians × 8 hours at £22, plus 10 supervisor hours | £1,160 |
| Hardware | 3 rugged tablets, printer, tags | £1,500 |
| Ongoing admin | 2 hours a week at £28, from month three | £2,300 |
| Total year one | £10,420 |
Ongoing cost from year two is the licence plus admin: roughly £5,000.
Hard savings, conservative, after a three-month ramp:
| Saving | Assumption | Amount |
|---|---|---|
| Overtime | 20% reduction as planned work displaces Friday-afternoon failures | £3,600 |
| Contractor call-outs | 14 down to 8 | £2,700 |
| Emergency parts premium | Halved, because the PM schedule now tells you what you need next month | £1,200 |
| Downtime on the main line | 36 hours down to 18 | £10,800 |
| Total hard savings | £18,300 |
Soft savings, shown separately: admin time drops from 6 hours to 2 hours per technician per week. That is around 1,000 hours a year, or roughly half a technician. It is real, but it is capacity, not cash. The site's plan is to use it to clear the PM backlog that is currently being deferred, which is what drives the downtime figure above. It does not get added to the ROI.
The numbers:
- Savings only start in month four, so the first-year benefit is nine months' worth: about £13,700.
- First-year ROI = (13,700 − 10,420) ÷ 10,420 × 100 = 32%
- Payback: at £1,525 a month from month four, the £10,420 is recovered in month eleven.
- Year two onward: (18,300 − 5,000) ÷ 5,000 × 100 = 266%
A 32% first-year return is nowhere near the 400% figures in vendor material. It is also a number you can defend line by line, and that is worth far more in the meeting.
The sensitivity test
Before you present it, halve the benefits and see what happens. In the example above, hard savings drop to £9,150 a year, or about £6,850 in the nine months of year one, against a first-year cost of £10,420. Year one is negative. Year two is still 83% positive and payback moves to around month seventeen.
That is the honest shape of a CMMS business case for a small site: a modest first year while the data builds and the team adjusts, then a clear return once the planned-maintenance share climbs. If the case only works at full benefits, it is not a case.
Where CMMS ROI calculations fall apart
A short list of the things that get a business case sent back.
- Freed hours counted as cash. Covered above. It is the most common one.
- Benchmark percentages instead of your baseline. "Industry data shows 25% lower maintenance cost" is not evidence. Your eight weeks of counted call-outs is.
- Downtime priced at full line rate when the line was not sold out. If there is slack capacity, the real cost is labour standing idle plus any overtime to catch up, not revenue per hour.
- Double counting. Overtime reduction and downtime reduction often come from the same avoided failure. Pick one place to book each pound.
- No adoption risk. A CMMS that technicians do not use returns nothing. Assume a ramp, and build in that the first three months produce data, not savings. The manufacturing downtime post is worth a read on what unplanned stoppages really cost once you look past the headline rate.
- A baseline taken in a good month. Use at least two months, including a known bad period.
Presenting it
One page. Baseline figures with the dates they were measured. Full first-year cost with internal hours priced. Hard savings with the assumption next to each line. Soft savings in hours, separate. ROI, payback, and the halved-benefit case. Then a review date at six months where you bring back the same baseline measures and show what moved.
Where AssetOS fits
If adoption risk is the thing most likely to sink your ROI, pricing that charges for every operator who logs a defect makes it worse, because people stop reporting. AssetOS only charges for the people who get work orders assigned; requesters, operators and drivers running daily checks are free on every plan. That keeps the licence line small and the reporting coverage wide, which is where the downtime savings in the example come from.
If you want a second pair of eyes on your own baseline and cost model before you present it, book a call and bring the spreadsheet.

Shane Price
Writing about maintenance management, CMMS implementation, and the real challenges operations teams face.