Predictive Maintenance — Data Collection & Labeling Plan (Template & Checklist)
A practical, ready-to-use template and checklist (with example spreadsheet column schema and evaluation metrics) to collect the sensor, operational, and labeled failure data needed to pilot predictive maintenance models. Includes asset criticality scoring, sensor selection and sampling guidance, event-labeling rules, data quality checks, storage and retention recommendations, and pilot evaluation criteria.
Purpose
This template helps pilot teams collect the right combination of sensor, operational, and labeled event data to develop, validate, and evaluate practical predictive maintenance models. It focuses on producing reliable, testable datasets that support meaningful metrics (precision, recall, time-to-detection, lead time) and avoid common data mistakes that produce unusable or misleading models.
How to use this template
Copy the checklist and the example spreadsheet schema into your pilot workspace. Use the asset list and criticality scoring to prioritize where to collect data first. Define concrete labeling rules before collecting manual or historical labels. Run the quality checks on a sample dataset before committing to a full pilot. Tie the pilot evaluation metric targets to observable operational actions (who will respond to alerts, what actions are expected, how outcomes are measured).
1. Asset list & criticality
Create a canonical asset inventory for the pilot scope and assign a simple criticality score so you focus data collection where it delivers the most value.
| Column | Example / Guidance |
|---|---|
| AssetID | Unique identifier (Plant-Unit-AssetCode) |
| AssetName | Descriptive name (e.g., Compressor A1) |
| Location | Plant / Line / Cell |
| Function | What the asset does |
| ConsequenceScore (1–5) | 1 = minor, 5 = critical (safety/production impact) |
| DowntimeCostEstimate | $/hour or qualitative band |
| MaintenanceHistoryAvailable | Yes / No |
Sort candidate assets by ConsequenceScore × likelihood (if available) to prioritize pilot data collection.
2. Candidate sensors & suggested sampling rates
List existing and required sensors, their sampling frequency, and why each signal matters.
| Sensor | Signal | Suggested Sampling | Rationale / Notes |
|---|---|---|---|
| Vibration (accelerometer) | Accel RMS, FFT bands | 2–10 kHz for FFT; 1–10 Hz for RMS envelope | Detect bearing faults, imbalance, resonance. |
| Temperature (thermocouple/IR) | °C | 1 sample/min to 1 sample/hr | Slow-changing but important for trend and overheating detection. |
| Pressure | kPa / bar | 1 sample/sec to 1 sample/min | Useful for pumps, compressors, flow anomalies. |
| Current / Power | A / kW | 1–10 Hz | Motor load changes often precede failures. |
| RPM / Speed | RPM | 1 Hz or event-driven | Context for other signals; capture operating state. |
| Operational Tags | Mode, Setpoint, BatchID | Event-driven / state changes | Essential for normalization and segmentation. |
When uncertain, over-sample short durations initially (higher frequency) to validate signal usefulness, then down-sample or extract features for long-term storage.
3. Event labeling rules (clear, testable, repeatable)
Define label types before labeling data. Use specific rules that anyone on the team can apply to historical records or flag in real time.
Common label types
- Binary failure label: 0 = normal, 1 = failure event. Define the exact start and end criteria (e.g., 'failure start = first recorded pressure drop >20% sustained for 5 min; failure end = repaired and back to within 5% of nominal for 30 min').
- Degradation stage labels: normal / warning / critical with precise thresholds.
- Remaining Useful Life (RUL): time until next corrective action or component replacement. Use only where reliable maintenance records exist.
Labeling rules — examples
- Define failure root cause categories (bearing, lubrication, electrical). Each event must be assigned one or more root causes based on maintenance records and technician notes.
- Time anchoring: All labels must include LabelTimestamp and LabelAuthor. If derived from a work order, include WorkOrderID and actual start/end timestamps.
- Minimum evidence: Require at least two corroborating sources (sensor excursion + maintenance record OR technician inspection + alarm log) to confirm a label.
- Label scope: Assign whether label applies to an entire asset, a component, or a sub-system. Be explicit about AssetID and ComponentID.
- Negative/near-miss labels: Consider labeling near-failures (interventions before failure) for supervised learning of early-warning states.
Document edge-cases (e.g., intermittent signals, transient trips) and how labels are resolved. Keep a short 'label decisions' log for auditability.
4. Spreadsheet / dataset column schema (example)
Use a consistent timestamp, canonical asset IDs, and clear types. Below is a suggested CSV column set for model-ready datasets.
| Column | Type | Example / Notes |
|---|---|---|
| AssetID | string | PLT1-CMP-A1 |
| ComponentID | string | bearing-1 |
| Timestamp_UTC | ISO8601 | 2024-01-10T14:32:00Z (always store in UTC) |
| SampleRateHz | number | 1, 10, 1000 (optional, when sensors vary) |
| Vib_RMS_X | number | g |
| Temp_Sensor1 | number | °C |
| OperatingMode | string | idle / run / start-up |
| BatchID | string | if applicable |
| MaintenanceAction | string | preventive / corrective / replacement or blank |
| FailureLabel | integer / enum | 0 = normal, 1 = failure, 2 = warning |
| LabelTimestamp | ISO8601 | when the label event started or was recorded |
| RUL_days | number | optional; days until next failure |
| Source | string | sensor / workorder / tech-report |
Keep raw high-frequency data separate (raw waveforms or ringbuffers) and store derived features (RMS, kurtosis, spectra bands) in the main modeling table to reduce size and complexity.
5. Storage, timestamping, and retention guidance
- Store all timestamps in UTC and include timezone metadata for systems that report local time.
- Preserve raw sensor data for at least the pilot period (recommended: 6–12 months) so you can reprocess features. Store derived features for longer if useful.
- Keep a mapping table that links SensorID > AssetID > ComponentID with calibration metadata and units.
- Version data extracts and label sets. When labels or mappings change, retain older versions for reproducibility.
- Check regulatory, privacy, or IP requirements before exporting or sharing datasets externally.
6. Data quality checks (minimum set)
Implement automated checks that run at ingest and periodically on stored data:
- Missing data rate: percent of timestamps without at least one required sensor value (e.g., flag >5% per day).
- Stale sensor detection: no new samples for a sensor for > expected interval.
- Out-of-range values: values beyond physical or expected limits.
- Sensor drift / calibration changes: moving mean shifts over a baseline period.
- Label consistency: check that each labeled failure has matching maintenance or workorder evidence.
- Class imbalance report: percent of failure vs normal samples (helpful to plan sampling or augmentation).
Capture Q/C failures as metadata fields (QC_Flag, QC_FailReason) for downstream filtering and model training decisions.
7. Basic pilot evaluation metric table & definitions
Pick metrics that reflect operational usefulness, not just classic model scores.
| Metric | Definition | Why it matters | Example target (pilot) |
|---|---|---|---|
| Precision (positive predictive value) | TP / (TP + FP) | How many alerts are real — reduces wasted responses | > 0.6 |
| Recall (sensitivity) | TP / (TP + FN) | How many true failures are detected | > 0.7 |
| F1 Score | 2*(Precision*Recall)/(Precision+Recall) | Balanced score for imbalanced sets | > 0.65 |
| Time-to-detection (lead time) | Average time between alert and failure / intervention | Practical window to act before failure | > 24 hours where useful |
| False Alarm Rate | FP / total predictions or per asset/day | Operational burden metric | < 0.1 alerts/asset/day |
| Actionability | % alerts that lead to a documented maintenance action | Shows whether alerts are useful operationally | > 40% |
Define the acceptance criteria and the minimum dataset size (number of failures, hours of normal operation) needed for statistically meaningful evaluation.
8. Implementation checklist (step-by-step)
- Assemble cross-functional pilot team: maintenance, operations, data, and IT; assign owners for labeling and data governance.
- Complete asset inventory and criticality scoring for pilot scope.
- Inventory existing sensors and plan any temporary instrumentation for the pilot.
- Agree and document precise labeling rules and evidence requirements; run a small labeling pilot on historical incidents to calibrate rules.
- Define data storage, access, and retention policy; set up ingest pipelines and timestamp normalization.
- Collect an initial dataset (recommended minimum: X failures or Y months — define per pilot) and run the data quality checks.
- Create derived features and a baseline model (simple thresholds or logistic model) to set a performance baseline rather than starting with a complex black box.
- Evaluate model against the pilot metric table. Include human review of false positives/negatives to refine labels and features.
- Confirm governance and alerting actions: who gets notified, what steps follow an alert, and how to log actions.
- Document results, lessons learned, and next steps (scale, integrate alerts into CMMS, or iterate on instrumentation and labeling).
9. Governance, ethics & anti-overhype guidance
- Start small: pilot on a few prioritized assets before attempting plant-wide rollout.
- Measure operational actionability, not just model metrics. A precise model that produces un-actionable alerts will erode trust.
- Capture human-in-the-loop feedback: allow technicians to mark alerts as useful/useless and feed that back into labeling or thresholds.
- Avoid post-hoc label leakage: ensure labels are derived only from signals available at prediction time, not from repair reports that include post-failure tests.
- Keep a clear record of model versions, data versions, and label decisions for audits and continuous improvement.
10. Example CSV snippet (first 3 rows)
AssetID,ComponentID,Timestamp_UTC,Vib_RMS_X,Temp_Sensor1,OperatingMode,FailureLabel,LabelTimestamp,Source PLT1-CMP-A1,bearing-1,2024-02-01T00:00:00Z,0.012,45.3,run,0,,sensor PLT1-CMP-A1,bearing-1,2024-03-12T03:41:00Z,0.178,62.1,run,1,2024-03-12T03:30:00Z,workorder#3456 PLT1-CMP-A1,bearing-1,2024-03-12T03:50:00Z,0.201,64.4,run,1,2024-03-12T03:30:00Z,tech-inspect
Use
Attach this template to predictive maintenance pilots to reduce common data mistakes, standardize labeling, and set clear success criteria. Adapt sampling, label rules, and retention based on asset type and organizational constraints.
Notes & adaptation tips
- If failure rates are extremely low, consider targeted stress testing or seeded fault experiments to produce labeled examples safely.
- When high-frequency waveform data is large, store waveforms in a raw archive and keep pre-computed features for model training.
- Run a small 'labeling calibration' exercise where multiple technicians label the same events to measure inter-rater agreement and refine labeling rules.
- Keep this template under version control within your domain so future pilots benefit from earlier labeling decisions and schema improvements.
Discussion
Comments and conversation will live here.