Key takeaways
The contractor-vs-in-house question usually surfaces during budget season as a binary: should we cut a maintenance headcount and use contractors, or bring contracted work in-house to save the markup? Framed that way, the answer is always wrong, because the question is plant-wide and the right answer is per asset class.
A plant has dozens of distinct maintenance capabilities, electrical, mechanical, controls, hydraulics, specialised OEM equipment, calibration, and so on. Some of these are needed daily and time-critically; some are needed twice a year. Treating "maintenance" as one make-or-buy decision averages across capabilities that have opposite right answers, and produces a mix that is wrong in both directions.
The fix is a structured per-asset-class sort. It takes about a day to run for a mid-market plant and usually surprises everyone with how much of the current mix is misallocated. The article on manufacturing KPIs covers the cost data the sort depends on.
How often is this capability needed? A skill needed every shift is a different decision from a skill needed quarterly. High frequency favours in-house, because the per-use cost of a salaried capability falls as usage rises. Low frequency favours contracting, because the salaried cost is mostly idle.
How specialised is the skill, and how hard is it to maintain proficiency? A generalist mechanical skill is easy to keep in-house at proficiency. A highly specialised skill, a specific OEM's proprietary controls, a rare welding certification, is hard to keep sharp in-house if it is used infrequently, and the contractor who does it for twenty plants will be better at it than the in-house technician who does it twice a year. High specialisation plus low frequency strongly favours contracting.
How fast must the response be? A failure that stops a critical line and needs a fix within the hour cannot wait for a contractor with a four-hour callout window. A failure that can wait until next week's scheduled window can comfortably be contracted. High time-criticality favours in-house, because the response delay of contracting is itself a cost. The piece on work order management systems covers how response-time requirements get encoded per asset class.
Cross the three factors and the answer falls out per asset class:
Most plants find that running this sort moves several asset classes in each direction, some currently-in-house capabilities should be contracted (rarely-used specialists), and some currently-contracted capabilities should come in-house (frequent time-critical work where the contractor delay is costing more than the markup saves).
The contractor rate looks cheaper than the loaded salary until you add the cost of the response delay. A four-hour contractor callout on a critical line is four hours of production loss the in-house option would have avoided. For time-critical asset classes, this cost often dwarfs the salary differential.
An in-house specialist who uses a skill twice a year is not as good at it as the contractor who uses it weekly. The in-house repair takes longer, has a higher rework rate, and carries more risk. This is a real cost that the simple "salary vs contractor rate" comparison ignores. The article on root cause analysis covers how proficiency gaps surface as repeat failures.
An in-house technician accumulates plant-specific knowledge, the quirks of this asset, the history of this failure mode. A rotating cast of contractors does not. For asset classes where plant-specific knowledge matters, in-house carries a value beyond the raw labour.
Contracted capacity scales up and down with need; in-house capacity is fixed. For capabilities with variable demand, the flexibility of contracting has real value even when the per-use cost is higher.
The output of the sort is rarely "all in-house" or "all contracted." It is a hybrid:
This hybrid is what most well-run plants converge on. The mistake is not having a hybrid; it is having the wrong asset classes in each bucket because the sort was never done explicitly. The piece on the preventive maintenance schedule covers how the in-house/contractor split interacts with PM planning.
The sort depends on per-asset-class data: how frequently each capability is used, how time-critical the failures are, what the response times have been. This data lives in the work-order history. Where a unified OEE + CMMS platform helps is that the frequency and response-time data per asset class is a query rather than a manual reconstruction, so the make-or-buy sort runs on real numbers rather than impressions. Fabrico is built for that workflow. To see what your in-house/contractor sort would look like against your work-order history, book a demo.
Annually, or whenever a major asset change shifts the frequency or criticality picture. The mix that was right two years ago drifts as the plant evolves; the annual review catches the drift.
Full managed-service contracts make sense for some plants, usually those without the scale to maintain an in-house team efficiently. The same sort applies inside the contract: even a managed-service provider allocates frequent time-critical work to on-site staff and rare specialised work to a shared pool.
Estimate it as the difference in repair time and rework rate between an in-house technician using a skill rarely and a contractor using it often. For specialised skills used less than monthly, this gap is usually significant and tips the decision toward contracting.
That is a people decision, not just a math one. The sort tells you the economically efficient answer; whether to retrain the specialist into a higher-frequency capability or manage the transition differently is a separate judgement. The sort informs the decision rather than dictating it.
Making the decision plant-wide instead of per asset class. "Should we use more contractors?" has no good answer; "should this specific rarely-used specialised capability be contracted?" usually has a clear one. The per-asset-class granularity is what makes the framework work.