Maintenance Cost & Budgeting

The Per-Asset Annual Maintenance Cost Formula (Labor + Parts, Worked Examples)

By Rovaryn Digital· May 23, 2026· 10 min read

Why Guessing at Per-Asset Cost Always Gets You to the Same Place

It's mid-October, and the maintenance budget for next year is due in two weeks. You pull up the spreadsheet from last year — the one that was already a rough estimate — and try to remember what the press brake actually cost to maintain. There's a parts invoice somewhere in email. The labor hours were never tracked separately. You make a number up, add 10%, and move on.

Then February arrives. The budget is already over.

The surprise isn't the failure. The surprise is that there was no calculation behind the number in the first place. Per-asset annual maintenance cost is not a judgment call — it is a formula with four inputs. Get the inputs right, and you get a number you can defend to finance, prioritize across a fleet, and compare against a recognized benchmark. Get them wrong — or skip the formula entirely — and you are budgeting by intuition.

By the end of this article you will have the exact formula, understand each input, and be able to work through it for any asset in your facility.


The Per-Asset Annual Maintenance Cost Formula

The core formula has two components: labor and parts. Both scale with how many preventive-maintenance (PM) events you perform per year.

Annual maintenance cost (per asset) = (labor hours per event × labor rate) × PM events per year + (parts cost per event) × PM events per year

Which simplifies to:

Annual cost = [(labor hours × labor rate) + parts cost per event] × PM events per year

When a single asset has multiple PM task types at different intervals — say, a monthly lubrication check and a quarterly filter replacement — you calculate each task type separately and sum them. The formula structure is the same; it just runs once per distinct PM task.

The four inputs

1. Labor hours per event. The time one technician spends performing the PM task, from start to finish — not the time the machine is down. If two technicians are needed, multiply labor hours by two. This input comes from your task list or time studies. If you have neither, OEM service manuals often state estimated service times.

2. Labor rate ($/hr). The all-in hourly cost of the technician: wages plus employer-side burden (payroll taxes, benefits, insurance). Burden typically runs 25%–40% on top of direct wages — check with your HR or finance team for your actual rate. For reference, the U.S. median wage for General Maintenance and Repair Workers (SOC 49-9071) was $23.38/hr in May 2024 (BLS Occupational Employment and Wage Statistics, May 2024); the May 2024 median for Maintenance Workers, Machinery (SOC 49-9043) was $27.57/hr (BLS OEWS, May 2023 — the nearest published vintage for that SOC). These are wage figures only; your fully burdened rate will be higher. The product default is a user-entered rate — enter what your finance team tells you.

3. Parts cost per event. Consumables and replacement components used during the PM task: filters, belts, lubricants, seals, o-rings. Use your actual purchase prices. If you have not tracked this per task, pull the last two or three invoices for that asset and divide by the number of events in the period.

4. PM events per year. How many times per year you perform the task. This derives directly from your PM interval (how often a task is due, expressed in days, operating hours, or cycles). A 90-day interval yields approximately 4 events/year. A 30-day interval yields approximately 12 events/year. A 2,000-hour interval on a machine running 4,000 hours per year yields 2 events/year. Getting the interval right is the prerequisite to getting this input right — see the PM interval and cost planning guide for the interval-setting methodology.


Worked Example 1 — Air Compressor (Monthly PM)

Asset: 50 HP rotary screw air compressor, running two shifts

Input Value
PM task Monthly service (oil check, separator, belt tension, drain trap)
Labor hours per event 1.5 hr
Labor rate (illustrative, fully burdened) $38/hr
Parts cost per event (filters, drain kit, oil top-up) $42
PM interval 30 days
PM events per year 12

Calculation:

Labor cost per event = 1.5 hr × $38/hr = $57.00 Parts cost per event = $42.00 Combined cost per event = $57.00 + $42.00 = $99.00 Annual cost = $99.00 × 12 events = $1,188/year

What the number means: Just under $1,200/year in planned PM cost for a critical compressed-air asset. Compare that against what a single unplanned compressor failure typically costs — emergency service call, lost production time, potential downstream damage — and the case for the planned spend makes itself.


Worked Example 2 — Conveyor Drive Motor (Quarterly PM)

Asset: 15 HP conveyor drive motor, single-shift operation

Input Value
PM task Quarterly inspection (lubrication, alignment check, vibration check, belt tension)
Labor hours per event 2.0 hr
Labor rate (illustrative, fully burdened) $44/hr
Parts cost per event (grease, alignment shims stock) $18
PM interval 90 days
PM events per year 4

Calculation:

Labor cost per event = 2.0 hr × $44/hr = $88.00 Parts cost per event = $18.00 Combined cost per event = $88.00 + $18.00 = $106.00 Annual cost = $106.00 × 4 events = $424/year

What the number means: A low-frequency PM on a relatively simple asset produces a modest annual spend. The value here is less about the dollar amount and more about knowing it — a $424/year planned cost is a defensible line item; an undocumented number that becomes a $4,000 unplanned repair is not.


Worked Example 3 — CNC Press Brake (Mixed-Interval PM)

Many assets have more than one PM task at different frequencies. A CNC press brake might have a monthly lubrication schedule and a semi-annual hydraulic fluid change. Run the formula separately for each task type, then sum.

Asset: CNC hydraulic press brake

Task A — Monthly lubrication and check

Input Value
Labor hours per event 0.75 hr
Labor rate (illustrative, fully burdened) $52/hr
Parts cost per event (lubricant, wiper seals) $28
PM events per year 12

Task A annual cost = [(0.75 × $52) + $28] × 12 = [$39.00 + $28.00] × 12 = $67.00 × 12 = $804/year

Task B — Semi-annual hydraulic fluid change and filter

Input Value
Labor hours per event 2.5 hr
Labor rate (illustrative, fully burdened) $52/hr
Parts cost per event (hydraulic fluid, filter element) $115
PM events per year 2

Task B annual cost = [(2.5 × $52) + $115] × 2 = [$130.00 + $115.00] × 2 = $245.00 × 2 = $490/year

Total per-asset annual cost (press brake) = $804 + $490 = $1,294/year

What the number means: The mixed-interval structure would be invisible in a single-row spreadsheet. By separating task types and summing, you see that the low-labor monthly task actually drives more annual spend than the more intensive semi-annual task — simply because it happens six times as often. This distinction matters when you are evaluating whether to adjust intervals or batch tasks.


From Per-Asset Cost to Fleet-Level Visibility

The per-asset formula becomes genuinely powerful when you run it across every asset in your facility and roll the results up to a fleet total. That total is your projected annual PM labor-and-parts budget — not a guess, not last year plus 10%, but arithmetic on documented inputs.

A four-asset example:

Asset Annual PM Cost
Air compressor $1,188
Conveyor drive motor $424
CNC press brake $1,294
Packaging line filler (illustrative) $2,110
Fleet total $5,016/year

That fleet total is also the starting point for two higher-order calculations. First, maintenance cost as a percentage of asset value (MC/RAV) — the SMRP-endorsed formula: annual maintenance cost ÷ replacement asset value × 100. World-class operations typically land at 2%–3% MC/RAV; a result above 5% is a flag worth investigating (Tractian, 2026). Second, the fleet total feeds your annual maintenance budget, where PM cost sits alongside corrective and capital-replacement line items.

The challenge is doing this at scale. Running four assets through the formula in a spreadsheet is straightforward. Running forty assets — with mixed intervals, multiple task types per asset, and labor rates that vary by technician — is where spreadsheets start breaking. Columns multiply, formulas reference the wrong rows, and the version that went to finance last week is not the version someone updated yesterday. See the full fleet-level cost rollup methodology for how to structure the calculation past ten assets.


Common Mistakes That Corrupt the Output

Using wage rate instead of fully burdened rate. Employer-side burden — payroll taxes, benefits, workers' compensation insurance — typically adds 25%–40% to direct wages. Using the wage alone understates true labor cost by a meaningful margin. Get the burdened rate from finance, or apply a burden multiplier to the BLS wage figure and label it as an estimate.

Forgetting multi-technician tasks. Some PM tasks require two people — a confined-space entry, a heavy component swap, or simply a task that requires one person to operate and one to observe. Multiply labor hours by the number of technicians.

Using list price for parts instead of actual purchase price. List price can be materially higher than your negotiated or contracted price. Use what you actually pay.

Ignoring interval drift. If your real PM interval is longer than the stated interval — because tasks slip — your actual PM events per year is lower than the formula assumes, and your actual risk exposure is higher. The formula is only as good as the interval you enter. Confirm intervals against OEM documentation and adjust for your actual duty cycle.

Omitting corrective maintenance. The per-asset formula above covers planned PM cost only. Corrective and reactive work — the repair after a failure — is separate. A complete annual maintenance cost figure combines both. Reactive maintenance typically costs materially more per event than the same work planned, with all hidden costs counted: emergency labor premiums, expedited parts, lost production, secondary damage.


Putting the Formula to Work

If you have ten or fewer assets and your PM task list is already documented, you can run this formula in a structured spreadsheet today. The Maintenance Cost Budget Workbook is built around exactly this structure — asset registry, per-task inputs, interval-to-events-per-year conversion, and fleet-level rollup — so you are not building the sheet from scratch.

If you have more than ten assets, or if you need the per-asset cost to update automatically as you adjust intervals and labor rates, a persistent calculation engine will serve you better than a static workbook. The Maintenance Cost and Interval Planner keeps your asset registry live, recalculates PM due-dates and annual cost in real time, and rolls everything up to a fleet-level budget view — the kind of visibility that makes the next budget cycle a calculation, not a guess.

The formula is the same either way. The question is how many times you want to rebuild it from scratch.

For context on how labor rate inputs vary by region and role — and how to cross-check your burdened rate against published benchmarks — see the maintenance labor rates by region reference.

Get maintenance guides in your inbox

Related guides