Machine degradation
100 machines monitored from commissioning to failure, with an exact remaining-useful-life label on every one of 23,118 readings.
A fleet run to failure. Each machine accumulates damage toward a failure time that was declared before any row existed, so remaining useful life is exact rather than annotated afterwards. That is the thing the widely used public predictive-maintenance datasets do not have: in AI4I 2020 tool wear is as likely to fall as to rise between consecutive readings of the same machine, and there is no remaining-life label at all. Four failure modes each drive the measurement they should, sensors go missing in a structured way depending on which control pass was run, and the train and test split is by machine so nothing leaks between them.
- predictive maintenance
- prognostics
- remaining useful life
- condition monitoring
- time series
Four machines run to failure
Real rows from readings.csv, one machine per failure mode.
readings.csv, not an illustration.Explore
Every table, profiled
Each column's type, spread, empties and most common values, measured from the CSVs in the download. Switch to the first rows to see the data exactly as it sits in the file.
3 tables
ground_truth.csv
23,118 rows · 3 columns · 1 foreign keys
Keys
Every join resolves
2 foreign keys, 46,236 references checked against the table each one points at. None points at a row that does not exist.
ground_truth
- unit_idunits.unit_id23,118 rows checked0 orphans
readings
- unit_idunits.unit_id23,118 rows checked0 orphans
Checks
What we checked
- rul_cycles equals life minus cycle on all 23,118 rows
- Exactly one failure row per machine, 100 of 100, each at rul_cycles 0
- tool_wear_min never decreases within a machine, because material does not come back
- Process temperature exceeds air temperature on every observed row
- The latent damage state is absent from the benchmark file
- Split is by machine: 80 train, 20 test, no machine in both
- Sensors go missing by control type, not at random: 9,347 vibration, 7,501 torque, 6,270 air
- heat_dissipation failures run 9K hotter than every other mode at failure
- Baseline: random forest 22.8 cycles MAE on held-out machines, against 58.9 for the mean
The same checks ship in the zip as INTEGRITY.txt, so you can rerun them in any SQL engine. How we verify
Questions
Worth asking it
- 1How many cycles of life does this machine have left?
- 2Which failure mode is this machine heading toward?
- 3How early can a rising vibration signal be trusted?
- 4How well does a health indicator recover the true damage state?
Full version · $15
This sample, or the full Predictive Maintenance Fleet
Two years of sensor readings, failures, repairs and costs for 240 machines. Try its free preview before you decide.
| This sample | Predictive Maintenance Fleet | |
|---|---|---|
| Rows | 46,336 | 179,038 |
| Tables | 3 | 6 |
| Columns | 20 | 91 |
| Formats | CSV | CSV |
| Audit | Keys and the checks listed above | 67 checks, all listed |
| Licence | CC0, free | Commercial use, $15 once |
| Built for | predictive maintenance, prognostics, remaining useful life, condition monitoring | Remaining useful life (RUL) regression, Survival analysis, Anomaly detection and alarm tuning, Failure mode diagnosis, Maintenance strategy and cost, Dashboards and teaching |
Use it
Take it, or make one shaped like yours
Rebuild it byte for byte
The zip includes schema.yaml. Run misata generate --config schema.yaml with seed 2020 and you get the same rows.
Your own tables, your own numbers
Describe the data you need in Studio and get connected tables with the totals you state, profiled like this and checked before you download.
The full version, and what goes with it
All premiumVibration through a life that ends in failure
240 machines at 4 plants, two years
Two years of sensor readings, failures, repairs and costs for 240 machines
Answer key
- failure_mode
- true_life_days
- true_failure_at
- +6 more
- Rows
- 179,038
- Tables
- 6
- Checks
- 67 of 67
Free previewProfile and previewAn X-bar chart with the truth underneath: flatness, characteristic 139
3 plants, 36 CNC machines, six months
Six months of control charts with the ground truth underneath
Answer key
- active_cause_id
- true_cause_shift_sigma
- true_tool_wear_sigma
- +6 more
- Rows
- 515,442
- Tables
- 15
- Checks
- 101 of 101
Free previewProfile and previewQA review of manufacturing batch records, by month
One oral-solids plant, five systems, two years
Two years of a pharmaceutical plant's records, from process order to QP release
Answer key
- root_cause
- batch_disposition_outcome
- conclusion
- +6 more
- Rows
- 661,497
- Tables
- 65
- Checks
- 133 of 133
Free previewProfile and preview
Related free datasets
All 12- Factory sensors with failure labelsA year of hourly sensor readings from six machines, with the degradation stage, remaining useful life, and the failures and work orders they lead to.52,669 rows · 5 tables
- Retail star schemaA dimensional model you can actually practise joins on: one fact table, four dimensions, 63,170 rows, and every join resolving.63,170 rows · 5 tables
- Ecommerce storefrontA year of orders across five joined tables, with a real Q4 peak and totals that reconcile to the cent.49,192 rows · 5 tables
- B2B SaaS subscription analyticsAccounts, seats, MRR, churn and support load, where company size actually drives the plan.44,384 rows · 5 tables
- Credit risk portfolio3,000 borrowers and 4,200 commercial loans, where a credit rating actually predicts whether the loan defaults, at the rate S&P's own data says it should.7,200 rows · 2 tables
- Network intrusion / netflow500 hosts and 20,000 labeled flows, where a port scan, a DDoS flood, and a brute-force attempt each carry the real statistical signature their MITRE ATT&CK technique actually leaves in traffic.20,500 rows · 2 tables
Fully synthetic. No real person, company or transaction is represented, and no production data was read to make it. CC0: use it anywhere, no attribution needed.

