Fleet Maintenance Analytics Data Model: Vehicle, Component and Work Order

By Corin Hale on October 9, 2026

fleet-maintenance-analytics-data-model-vehicle-component-and-work-order

Fleet maintenance reports are only as dependable as the data model underneath them. When vehicles, components, and work orders are stored in different shapes, simple questions such as cost per unit or repeat repair rate take days to answer. A defined analytics data model fixes that by agreeing on what a record is, how it connects, and how each metric is calculated. This guide covers the core entities, relationships, and measures, with notes on how a fleet maintenance CMMS supplies the underlying records.

Work Orders and Shop Operations / Analytics

Fleet Maintenance Analytics Data Model: Vehicle, Component and Work Order

Design a clean structure that connects vehicle, component, and work order data, so every cost, downtime, and reliability metric can be trusted and repeated.

Vehicle Component Date Work order line
(fact)
Failure code Technician Vendor and part
Starting Point

Why fleet reports disagree with each other

Unstructured data
  • Repair descriptions are free text, so similar failures cannot be grouped
  • Labor and parts are posted at different levels of detail
  • Vehicle attributes are stored on each work order, so they drift
  • Downtime is estimated from memory rather than timestamps
  • Each report defines MTBF or PM compliance differently
Modeled data
  • Failure, system, and action codes come from controlled lists
  • Labor and parts post at the work order line level
  • Vehicle and component attributes live in master records
  • Status changes are timestamped to compute downtime
  • Metric definitions are written once and reused
Core Entities

The three anchors: vehicle, component, work order

Most maintenance questions can be answered when these three are linked correctly and identified consistently.

Anchor 1

Vehicle

One record per VIN, with class, make, model, year, in-service date, status, and current assignment.

Anchor 2

Component

Engines, transmissions, axles, tires, batteries, and body equipment, each with install and removal history.

Anchor 3

Work order

A header for the event and lines for each task, part, and labor entry, linked to a vehicle and often a component.

Relationships

How the entities connect

FromToCardinalityRule
VehicleComponentOne to many over timeA component is on one vehicle at a time, with dated moves
VehicleWork orderOne to manyEvery work order references exactly one VIN
Work orderWork order lineOne to manyLines hold task, labor, and part details
Work order lineComponentMany to one, optionalRequired where the repair targets a specific component
Work order lineFailure codeMany to oneRequired on corrective work
Work orderMeter readingOne to one at open and closeNeeded for distance-based metrics

Build reports on records you can defend

Keep vehicles, components, and work orders connected from the first inspection, and make your numbers repeatable.

Grain

Decide the grain before you build anything

The grain is what one row represents. Most fleet analytics work well with one row per work order line, rolled up when needed.

Work order header

Good for counts, open and close dates, and total downtime

Work order line

Best for cost by task, system, component, and failure

Labor and part entries

Needed for technician productivity and parts usage analysis

  • Mixing grains in one table creates double counting, especially when header totals are repeated on every line.
  • Store costs at the lowest grain and compute header totals in reports.
Dimension Tables

Dimensions that give every metric context

DimensionKey attributesUsed to answer
VehicleVIN, unit number, class, make, model, model year, depot, statusCost by class, age, or location
ComponentType, serial, manufacturer, install date, install meterLife of a component and failure by brand
DateDay, week, month, quarter, shiftTrends and seasonality
Failure codeSystem, assembly, component, failure mode, causeTop failure drivers
TechnicianName, skill level, crew, certificationProductivity and training needs
Vendor and partVendor, part number, category, unit costSpend and quality by supplier
Work typePM, corrective, inspection, recall, accident, upfitPlanned versus reactive mix
Fact Table

The work order line fact table

This table holds the numbers. Each row connects to the dimensions above by key.

FieldTypeNotes
Work order and line IDKeyUnique per line
Vehicle key and component keyForeign keysComponent may be empty for general work
Open, start, finish, close timestampsDate and timeUsed to separate wait time from wrench time
Meter at openNumberOdometer or hours, with source
Labor hours and labor costNumberBy technician and task
Part quantity and part costNumberFrom inventory issue or PO receipt
Outside costNumberSublet and vendor repair
Work type and priorityCodeControlled lists only
Failure and cause codesCodeRequired on corrective work
Downtime flag and hoursBoolean and numberCalculated from status events
Failure Coding

Use a standard code structure for failures

The TMC and ATA Vehicle Maintenance Reporting Standards, known as VMRS, give a widely used code structure for systems, assemblies, components, and failure reasons.

SystemBrakes, engine, electrical, suspension, cab and body
AssemblyAir brake system, charging system, front axle
ComponentBrake chamber, alternator, kingpin
Failure and reason for repairLeak, worn, broken, out of adjustment, driver-caused
  • Limit technicians to a short pick list instead of the full code book.
  • Review rarely used codes and merge near-duplicates each quarter.
  • Keep free-text notes for detail, but never as the only failure record.
Metric Definitions

Write each metric down once

MetricFormula ideaRequired data
MTBFOperating distance or hours divided by failure countMeter readings, corrective work orders with failure code
MTTRTotal repair time divided by repairsStart and finish timestamps
PM compliancePMs completed in window divided by PMs dueSchedule and completion dates
Planned work sharePlanned hours divided by total maintenance hoursWork type and labor hours
Cost per distanceMaintenance cost divided by distance in the periodCosts and meter readings
Repeat repair rateSame vehicle and system repaired again within a set windowFailure codes and dates
First-time fix rateJobs with no return for same issue within a windowLinked work orders
AvailabilityAvailable time divided by scheduled timeDowntime events
BacklogOpen work hours divided by weekly shop capacityOpen work orders, planned hours

Choose the windows, such as the repeat repair period, from your own operation and document them with each metric.

Status Model

Timestamp the work order lifecycle to measure downtime

Downtime is the hardest number to get right. It becomes reliable when each status change is recorded with a date and time.

1

Reported

Defect found or request raised. The vehicle may be flagged as out of service here.

2

Waiting for assignment or bay

Time lost to scheduling, not to repair. Track it separately.

3

Waiting for parts or approval

Reason codes here show whether procurement or authorization is the bottleneck.

4

In repair

Technician labor time, which feeds MTTR and productivity analysis.

5

Inspection and return to service

Quality check passed and vehicle released, which closes the downtime clock.

Components

Component history turns failure counts into life data

A failure count alone does not tell you how long the part lasted. Install and removal records make life analysis possible.

Component eventFields to storeAnalysis enabled
InstallComponent, vehicle, date, meter, work orderStart of life
Inspection findingCondition, measurement, dateWear rate and trend
Repair or rebuildType, cost, date, meterRepair versus replace decisions
RemovalReason code, date, meter, dispositionLife to failure and early removals
Warranty claimClaim reference, result, creditVendor and brand comparison
  • Compare life across makes, models, and duty cycles only after normalizing by distance or hours.
  • Do not assume that a removal means a failure. Record the reason.
  • Keep censored records, meaning parts still in service, so averages are not biased.
Data Quality

Quality rules that protect your analytics

CompletenessRequired fields such as VIN, work type, and failure code cannot be blank on closed work orders
ValidityMeters cannot decrease, dates must follow lifecycle order, costs cannot be negative
ConsistencyOne code list and one unit of measure across all depots
TimelinessWork orders closed within a defined time of repair completion
UniquenessNo duplicate vehicles, components, or work orders
TraceabilityEach cost line links back to a vendor document or inventory issue
History Handling

Handle changes without rewriting history

Overwrite approach
  • Changing a vehicle's depot rewrites old reports
  • A swapped engine erases the old engine record
  • Reclassified vehicles distort past cost per class
Dated history approach
  • Assignments store start and end dates
  • Component moves create new install and removal rows
  • Reports pick the attribute value that was true at the event date
Dashboards

Match each view to the person using it

AudienceQuestionsCore measures
TechnicianWhat is assigned to me, and what is next?Open tasks, due PMs, parts ready
Shop supervisorIs the shop on track today?Backlog, waiting time, bay use, first-time fix
Fleet managerWhich vehicles or classes cost the most, and why?Cost per distance, planned share, availability
Reliability engineerWhat fails, and how often?MTBF, repeat repairs, top failure codes
Finance and leadershipAre we within budget, and when should assets be replaced?Cost trend, lifecycle cost, spend by category
Worked Calculation

Seeing the definitions applied to simple numbers

The figures below are fictional and show only how the formulas use the model fields.

MetricInputsResult
MTTR4 repairs on one class totaling 18 hours of wrench time4.5 hours per repair
PM compliance40 PMs due in the month, 34 completed inside the allowed window85 percent
Planned work share300 planned hours out of 500 total maintenance hours60 percent
Cost per distance12,000 total cost over 60,000 distance units0.20 per unit
Repeat repair rate3 of 25 brake repairs repeated inside the chosen window12 percent
  • Always show the numerator, denominator, and period next to the percentage.
  • Exclude work types that do not belong in the metric, such as accident repair in a reliability measure.
Data Sources

Joining outside data to the maintenance record

SourceJoin keyAdds
TelematicsVIN or device ID mapped to VINMeter readings, fault codes, utilization
Fuel cards and fuel systemsVehicle and dateFuel use, efficiency trends
Inspection reportsVIN and dateDefects found before they become repairs
Parts and purchasingPart number and work orderMaterial cost and vendor performance
Vendor invoicesPO and work orderOutside repair cost
Dispatch or utilization dataVehicle and shiftAvailability against demand
Governance

Keep the model stable as the fleet changes

  • Name an owner for each master list: vehicles, components, work types, and failure codes.
  • Change code lists through a simple request process, and record the effective date of each change.
  • Publish a glossary so every depot uses the same meaning for terms such as downtime and repeat repair.
  • Limit who can edit closed work orders, and log every correction.
  • Audit a small sample of work orders each month for coding accuracy and give feedback to technicians.
Question Library

Questions the model should answer without extra work

QuestionEntities used
Which vehicles cost the most per distance, and which systems drive that cost?Vehicle, work order line, failure code
Which component brand lasts longest in our duty cycle?Component, vehicle, meter
Where do vehicles wait the longest, and for what?Work order status events, reason codes
Are PMs catching problems or just consuming hours?Work type, inspection findings, corrective follow-up
Which vehicles should be replaced first?Age, lifecycle cost, repeat repairs, availability
Pitfalls

Modeling mistakes that cause bad decisions

  • Counting work orders instead of failures, which inflates reliability problems on complex jobs.
  • Including accident, upfit, and recall work in reliability metrics without a work type filter.
  • Averaging cost per distance across vehicles with very different utilization.
  • Calculating downtime from open to close dates when work orders stay open for paperwork.
  • Ignoring vehicles with no work orders, which can make a class look better than it is.
  • Using free-text descriptions to infer failure causes after the fact.
Oxmaint Workflow

Feeding the model from daily maintenance work

Oxmaint maintenance management software captures the records the model depends on, as technicians do their jobs.

Model elementOxmaint capability
Vehicle and component recordsAsset management with hierarchies and history
Work order headers and linesWork orders with tasks, labor, parts, and status
Planned work and compliancePreventive maintenance scheduling and completion records
Defect data from the fieldMobile inspections linked to corrective work
Parts and cost linesInventory and parts issue on work orders
Reporting layerDashboards and reports across vehicles, classes, and sites
Rollout

Build the model in five practical steps

Step 1

List the ten questions leaders ask most and the data each needs.

Step 2

Standardize vehicle IDs, component types, work types, and failure codes.

Step 3

Make key fields required in the work order workflow.

Step 4

Document metric definitions and check them against a sample of manual calculations.

Step 5

Review data quality monthly and retire reports nobody uses.

FAQ

Fleet maintenance analytics questions

What is the minimum data needed for useful fleet analytics?

A VIN, dated work orders, a meter reading, labor and parts cost, and a failure code.

Should failure codes follow VMRS?

VMRS is a common choice. A smaller pick list based on it works well for technicians.

Why track components separately from vehicles?

Components move and are replaced, so their life cannot be read from vehicle history alone.

How do we start without rebuilding everything?

Start with one class of vehicles. You can sign up and pilot required fields.

Can we see this on a live example?

Yes. You can book a demo to walk through work order data and reports.

Turn work order history into decisions

Give your fleet one connected record of vehicles, components, and repairs, and report on it with confidence.


Share This Story, Choose Your Platform!