How to Build a Maintenance Schedule That Doesn't Lie to You

๐Ÿ“… Maintenance ICP๐Ÿ’ฐ CPC: $7-12โฑ๏ธ 8 min read

Every maintenance service has two clocks: one counting usage (run-hours, miles) and one counting time (days, months). Schedules go wrong when they track only one. A 250-hour forklift service at 6 hr/day comes due in 41.7 days โ€” hours win. A backup generator at 1.5 hr/day takes 133 days to reach 200 hours, but its oil still ages out at a year โ€” calendar wins. Build the schedule around whichever comes due first, and the surprises stop. Below: the interval math, the overdue flags that matter, and the 12-month plan that turns a parts list into a staffing plan.

Advertisement

Start with the interval data, not the calendar

For each asset, pull the OEM service table: the service, its usage limit, its time limit. Typical planning ranges (your manual governs):

Asset / serviceUsage intervalCalendar intervalUsually binds
Forklift โ€” oil & filter250 run-hr~6 monthsUsage
Compressor โ€” oil change2,000-4,000 run-hr12 monthsEither (8 hr/day โ‰ˆ both)
Generator โ€” oil & filter200-250 run-hr12 monthsCalendar
Fleet vehicle โ€” synthetic oil5,000-7,500 mi12 monthsMiles
Rooftop HVAC โ€” filtersโ€”30-90 daysCalendar
Fire extinguishers (NFPA 10)โ€”Monthly visual ยท annual service ยท 6-yr ยท 12-yrCalendar, mandated
Overhead crane (OSHA 1910.179)โ€”Annual periodic + frequent inspectionsCalendar, mandated

Note the two mandated rows โ€” fire protection and crane inspections run on required cycles that don't care about your workload. They anchor the calendar; everything else schedules around them.

The interval math, once per asset

Three lines of arithmetic:

  1. Usage clock: interval รท average usage per day. 250 hr รท 6 hr/day = 41.7 days. Use a rolling average โ€” log actual run-hours for a month rather than guessing; a forklift "we think runs 4 hours" that actually runs 7 blows every date on the sheet.
  2. Calendar clock: the OEM time cap in days (months ร— 30.44 if it's quoted in months).
  3. Binding: next due = last completed + the smaller of the two. Services per year = 365 รท binding days.

Worked example, forklift FL-3: 250-hour service, 6 hr/day, 180-day cap, last done August 1, 2026. Usage says 41.7 days โ†’ September 12. Calendar says 180 days โ†’ January 28, 2027. Usage wins: September 12, and at 365 รท 41.7 this asset generates 8.8 services a year by itself.

The same math catches the classic miss: generator GEN-2, 200-hour oil service, 1.5 hr/day average, last serviced March 10. Usage says 133 days โ†’ July 21. Calendar says March 2027. Usage wins again โ€” and if today is late August, that row reads 40 days overdue. A calendar-only spreadsheet showed a generator that "barely runs" as fine for another six months. The two-clock sheet flags it red.

Run both clocks automatically

Enter interval, usage per day, and last completed โ€” the template computes which clock binds, flags overdue and due-soon work, and prints the 12-month plan.

Open the Maintenance Schedule Template →

From dates to a real plan: level the year

List every asset's next-due date and you'll find the failure of naive scheduling instantly: stacking. Preventive services seeded from the same project date pile into the same month โ€” five services in March, none in April โ€” and the crew either skips March or breaks April. Two fixes: stagger the seed dates (a quarterly task started in January runs Jan/Apr/Jul/Oct; started in February it runs Feb/May/Aug/Nov โ€” both are compliant, one fits your labor), and re-check the 30-day window weekly, where the due-soon flags live.

The 30-day window is the operative unit of a schedule. It's long enough to receive parts and book a tech, short enough that nothing hides. Sum services-per-year across the fleet and you get the annual load โ€” the five-asset example above totals 19.9 services a year, which converts directly to staffing: at 45 minutes average per PM visit that's about 15 hours a month of scheduled wrench time before a single repair.

Close the loop: completion re-flows everything

A schedule is a living document with exactly one update event: a completed service. Tech finishes, last-done date changes, every downstream date recomputes. This is where paper calendars rot โ€” the sheet on the wall shows the date the plan was made, not the date the work happened. Keep the source of truth digital (the QR on the printed schedule links straight back to the live calculator), update at completion, re-print monthly.

Each completed service should generate its record โ€” that's the work order generator's job โ€” and each PM visit runs off a checklist specific to the asset. Schedule, work order, checklist: plan the job, authorize it, execute it. For the consumer version of the same discipline, our car maintenance schedule guide applies the identical two-clock logic to a single vehicle.

Frequently Asked Questions

What is a maintenance schedule?

A calendar of every recurring service for every asset, with the interval, the last-completed date, and the computed next-due date per line. The schedule is working when anyone can answer two questions in a glance: what's due this month, and what was last done to this machine.

How do you calculate next maintenance due?

Days until the usage limit = interval divided by average usage per day (250 hours at 6 hr/day = 41.7 days). Days until the calendar limit = the OEM time cap. Service at whichever date comes first: last completed + the smaller of the two. For calendar-only intervals, months x 30.44 days.

Which comes first, hours or calendar?

Whichever due date is earlier. Hard-running assets (multi-shift forklifts, delivery vans) almost always bind on hours or miles; low-duty assets (backup generators, fire equipment, standby pumps) bind on the calendar because fluids, seals, and batteries age with time even at zero use.

How far ahead should a maintenance schedule go?

Twelve months, recomputed at every completion. A year is far enough to see stacking (the month where five services land together) and short enough that the far months stay honest, since each completed service re-flows everything after it.

Related Tools