Every proposal we write has a phase called Assess. Every client reads it as a formality. It is not; it is where most of the engineering effort of the whole project goes, and we would rather say so up front.
Where the time goes
Linking keys. Your maintenance register uses machine names; your PLC uses IP addresses; your ERP uses asset codes. Nobody has a table mapping them. We build one, and it takes longer than anything else.
Timestamps. Shift logs are in local time, the PLC server is in UTC, and the Excel file was last saved on a laptop set to the wrong year. Each of these has caused a wrong first model.
Missing negatives. Registers record failures. They rarely record the days a machine ran fine, which is the half of the data a model needs most. We reconstruct it from production records.
Why we do not skip it
A model trained on badly linked data is confidently wrong, and a confidently wrong alert is worse than no alert: the maintenance team stops reading them. Six weeks of cleaning is the price of alerts that get acted on.
What you can do before we arrive
Pick one machine identifier and start using it everywhere. Export, do not screenshot. And keep the register's free-text notes; they turn out to matter more than most sensors.