Service Contract vs In-House Maintenance: Finding the Break-Even for Each Asset

A renewal notice is a price you can test
The renewal letter for the packaging line's compressor arrived in late September, three weeks before the budget meeting. The OEM wanted a higher annual fee for the same four visits and a response-time promise. The maintenance manager had a spreadsheet with last year's invoices and a vague sense that her two technicians could do most of this work themselves. What she did not have was a number she could defend to the plant manager, who wanted to know one thing: is the contract cheaper than doing it ourselves, or are we paying for peace of mind?
That is a fair question, and it has an answer for each asset. A contract is a fixed price for a bundle of work. Your in-house cost is a sum of labor, parts, tooling, training and the cost of the failures you handle yourself. Both sides can be written down, and the point where they cross is the break-even for service contract vs in-house maintenance on that asset. Most renewals get decided by habit instead, and the in-house maintenance cost comparison never gets made.
This article walks through how to build both sides for one asset, how to find the break-even, and which costs people most often leave out. You will finish with a method you can run on every contracted asset before you renew or sign.
Why service contract vs in-house maintenance is an asset-level decision
Assets differ in ways that change the answer. A rooftop air handler with simple filter and belt tasks is mostly labor you already employ. A packaging machine with proprietary diagnostics may need a certified technician and a software license you cannot justify for one unit. Ten identical pumps spread training and tooling across ten assets; a one-off oven spreads it across one.
So the unit of analysis is the asset, or a group of identical assets, never the whole plant. Run the service contract vs in-house maintenance comparison separately for each, then roll up the results. You will often find a mixed answer: contract the assets where specialist skills drive the cost, self-maintain the rest.
One boundary worth stating plainly. The comparison below is a planning calculation. It tells you which option is likely to cost less and where the uncertainty sits. It does not dispatch technicians, track work orders or manage vendors, and MaintenanceCalculator is a planning tool, not a CMMS. You still need a way to execute whichever option wins.
Build the in-house cost from the ground up
Start with the structure from the per-asset maintenance cost formula. For preventive work, annual cost is labor hours × labor rate × PM events per year, plus parts cost × PM events per year. PM events per year is 365 ÷ the interval in days, so a 90-day interval gives roughly four events a year.
That covers planned work only. A fair comparison against a contract needs four layers.
1. Planned PM labor and parts. Hours per visit, the burdened labor rate, and consumables per visit, multiplied by visits per year.
2. Corrective work you expect. Contracts usually include some repair coverage, so your side must include the repairs you expect to handle. Use your own failure history for this asset: how many repairs per year, how many hours each, what parts. If you have no history, say so and test a range rather than a single guess.
3. Fixed costs of being able to do the work. Specialty tools, diagnostic software, calibration, certifications and training. These do not scale with the number of visits. They are the main reason in-house loses on low-volume, high-complexity assets.
4. Overhead and opportunity cost. Supervision time and the hours your technicians spend on this asset instead of something else. If your crew is at capacity, a new task displaces another or triggers overtime.
Use a burdened labor rate, not the wage
The most common error is entering a base wage. A burdened rate adds payroll taxes, benefits, paid time off, and a share of overhead, then divides by productive hours rather than paid hours. If you want a published wage anchor, the Bureau of Labor Statistics publishes occupational wage data for general maintenance and repair workers (SOC 49-9071). Check the current release before you use a figure, and remember it is a wage, not a burdened cost. For regional differences, see the guide to maintenance labor rates by region. To build your own fully burdened number from payroll data, the Maintenance Labour Rate Build-Up Calculator takes your payroll and overhead figures in and returns a burdened labour rate.
Read the contract the way you read your own cost
A contract price is only comparable once you know exactly what it buys. Before any arithmetic, list the scope line by line.
- Visits and tasks. How many scheduled visits, and do they match your PM intervals?
- Repair coverage. Is labor for breakdowns included, or billed at a call-out rate? Are parts included, discounted or excluded?
- Response time. Is there a stated response commitment, and what remedy exists if it is missed?
- Exclusions. Wear items, consumables, software updates, damage from operator error, and anything the contract calls "misuse."
- Escalation and term. Annual price increases, minimum terms, auto-renewal clauses, and any warranty effect of self-maintaining.
Then restate the contract in the same four layers as your in-house cost. If parts are excluded, add your expected parts spend to the contract side. If repair labor is billed separately, add expected call-outs. Comparing a contract that excludes parts with an in-house figure that includes them tilts the result toward the contract.
We do not publish contract price benchmarks here, because service pricing varies too much by asset type, region and scope to quote responsibly. Use your own quotes, ideally two or three for the same scope. Quote the same scope to each vendor so the bundles are comparable.
Worked example: finding the break-even for one asset
This is an illustration with round numbers, not a benchmark. Take one air compressor.
Contract side. The OEM offers a fully inclusive agreement at $6,000 per year: four visits, repair labor and parts all covered.
In-house side, inputs:
- PM interval of 90 days, so about 4 events per year
- 6 labor hours per PM visit
- Burdened labor rate of $45 per hour (illustrative)
- $150 in consumables per PM visit
- 2 expected repairs per year, each 8 hours of labor and $700 of parts
- $800 per year in fixed costs (tool amortization, training, software)
Calculation:
- PM labor: 4 × 6 × $45 = $1,080
- PM parts: 4 × $150 = $600
- Repair labor: 2 × 8 × $45 = $720
- Repair parts: 2 × $700 = $1,400
- Fixed costs: $800
- In-house total: $4,600
On these inputs, in-house is $1,400 a year cheaper than the contract. But a single comparison is not the break-even. The break-even asks how far each input can move before the answer flips.
Break-even: set contract price = fixed costs + PM cost + (expected repairs × cost per repair), then solve for the input you are least sure of.
Break-even on labor rate. Collect the terms that scale with the rate: PM hours (4 × 6 = 24) plus repair hours (2 × 8 = 16) gives 40 hours. Everything else is $2,800 ($600 + $1,400 + $800). Setting $2,800 + 40 × rate = $6,000 gives a break-even rate of $80 per hour. Your burdened rate would have to rise well above $45 before the contract wins.
Break-even on repair frequency. Planned work and fixed costs total $2,480 ($1,080 + $600 + $800). Each repair costs $1,060 ($360 labor + $700 parts). Solving $2,480 + $1,060 × repairs = $6,000 gives about 3.3 repairs per year. If this compressor is likely to need more than three repairs a year, the contract looks better on cost alone.
The second result is the more useful one. Labor rate is something you can measure. Repair frequency is where the uncertainty lives, and a contract is partly insurance against it. Reading the break-even as "how many failures can I absorb" gives the plant manager a number to weigh.
Put a price on the risk the arithmetic leaves out
The example above compared direct costs. Two items sit outside it, and both can change the decision.
Downtime exposure. If a contract promises a faster response than your team can deliver, the difference matters in proportion to what an hour of downtime costs on that asset. We do not offer a figure for that cost here, because it depends on your line. Calculate your own: hours of lost production multiplied by the fully loaded cost of the lost output or capacity. The downtime cost calculation guide shows the method. An asset on a bottleneck line can justify a contract that loses the pure cost comparison, while a standby unit rarely does.
Capacity and skills risk. An in-house plan assumes a technician is available and competent on this equipment. If one person holds the knowledge, a resignation changes your cost overnight. A contract moves that risk to the vendor, at a price.
Neither item has to be exact. Write down a defensible range, run the break-even at both ends, and see whether the verdict survives.
Turn the decision into a repeatable annual check
Repeat the comparison each year ahead of renewal. Contract inputs change with each renewal letter, and in-house inputs change with wages, failure history and crew workload.
- List every contracted asset with its renewal date and annual price.
- Restate each contract in the four layers, and build the in-house cost for the same scope.
- Calculate break-even on the two inputs you trust least, then add the downtime and skills-risk judgment.
- Record the decision with its assumptions, and feed it into your annual plan; the annual maintenance budget guide shows how per-asset costs roll up to a fleet budget.
Across a dozen assets, each needs its own scope, break-even and record of last year's assumptions. The Service Contract vs Self-Maintain Calculator takes a contract price and your own in-house cost in and returns a break-even and a verdict. It is an Excel template you download and fill with your own figures; it plans the comparison and does not run the work.
Each option is a price for a bundle of work. Price both with the same rigor, and the renewal letter becomes one more input to your plan. For a mixed fleet, the service contract vs in-house maintenance answer will differ asset by asset, and that is the expected result.
Get maintenance guides in your inbox
Related guides
Maintenance Cost & BudgetingOvertime vs Contractor: The Cheapest Way to Cover a Maintenance Workload Peak
A backlog spike forces a quick call: pay overtime or bring in a contractor? The cheaper answer depends on a few numbers you already have.
Maintenance Cost & BudgetingHow Many Maintenance Technicians Do You Need? A Staffing-Level Calculation
Headcount decisions shouldn't be a guess. Here's how to turn your PM and reactive hours into an actual FTE requirement.
Maintenance Cost & BudgetingSpare Parts Reorder Point: A Simple Formula for Maintenance Teams
Stock out and a machine waits on a part; overstock and cash sits on a shelf. The reorder point formula finds the middle.