Supervised quality AI assumes you already know what “bad” looks like. Many plants do not. Grades change, suppliers change, and scrap codes arrive three days late wearing a wrong reason code. Unsupervised drift detection promises early warning without labels. It also promises false prophets—models that cry wolf until operations mutes them forever.
This brief is a method essay: what unsupervised drift can claim, what it must never claim, and how to govern it so it does not become another ignored dashboard.
Thesis
Unsupervised drift is a hypothesis generator, not a disposition authority.
If your workflow skips human adjudication, you have built an alarm flood with better math.
What “drift” is allowed to mean here
Allowed:
- The joint distribution of selected process tags has moved relative to a frozen reference window.
- A residual of a stable soft relationship (e.g., expected vs measured energy per unit) has thickened.
- A multi-variate envelope around a golden-grade campaign no longer contains live points.
Not allowed:
- “This lot is scrap.”
- “This root cause is X” (that is causal work with evidence).
- “Retrain the agent to act” without catalog and MoC (different briefs).
Architecture A — Reference window discipline
Pick reference windows like you pick golden batches: dated, grade-bound, and frozen under change control. A sliding “last 30 days” reference quietly absorbs slow poisoning—sensor bias, catalyst age, supplier creep—until the model has normalized the disease.
| Reference style | Use when | Failure if misused | | --- | --- | --- | | Frozen campaign | Grade-stable campaigns | Misses intentional grade change | | Seasonal dual refs | Climate-sensitive utilities | False drift every weather shift | | Post-turnaround ref | After major outage | Compares to sick pre-outage plant |
Architecture B — Feature honesty
Unsupervised methods amplify tag sins. Include a tag with intermittent stuck values and you will detect “drift” every time the stuck pattern changes. Feature entry requires the same gate as a soft sensor: units, quality flags, and a reason the tag should move with the process.
Anti-patterns:
- Dumping the entire historian into an autoencoder
- Mixing setpoints and measured values without labels
- Ignoring stale flags because “the model will cope”

An envelope without a frozen reference is a mood ring.
Architecture C — Residual monitors beat mystery embeddings (often)
Before deep unsupervised stacks, try residuals of relationships operations already trusts: specific energy, yield ratio, temperature–pressure envelopes on a known unit. When the residual thickens, the story is discussable on a shift. When a latent dimension moves, the story needs a priest.
Use embeddings when residuals cannot capture interaction—not as the default flex.
Architecture D — Alert → adjudicate → act (or archive)
Every drift alert needs a ticket type that is not “scrap.” Suggested states:
- Observe — elevated watch, no process change
- Investigate — named owner, time box
- Explain — documented cause (sensor, grade, true process)
- Archive false — feeds the mute-prevention review
- Escalate to supervised / SPC — only when labels or specs exist
No state machine → mute button → project death.

Adjudication is the product; the model is a sensor.
What good looks like (acceptance tests)
- Precision of “investigate” tickets reviewed monthly (not ROC theater alone)
- Fraction of alerts explained within the time box
- Zero unsupervised outputs writing setpoints
- Reference freezes listed in MoC alongside recipe changes
Anonymized miss
A polymers line deployed latent drift on 200 tags. Alerts tracked ambient humidity and a sticky analyzer more than extruder health. Operations muted the channel in nine days. A residual on specific energy per ton, frozen to grade campaigns, resurfaced months later and caught a screen pack issue early—with tickets humans could argue about.
Adjacent fences
OT semantic catalogs own meaning and action policy for agents. Causal AI quality owns labeled/structured root-cause claims. Vision QC owns defect images with labels. Soft sensors own closed-loop predicted CVs with change control. None of them own unlabeled drift hypothesis governance. Do not buy an agent platform and expect unsupervised honesty.
Closing questions
Is your reference frozen or quietly sliding? Who adjudicates an alert before anyone touches a setpoint? What fraction of last month’s drift tickets earned an explanation vs a mute? If labels arrived tomorrow, which unsupervised channels would graduate—and which would be deleted without grief?
Unsupervised drift detection does not replace quality engineering. It buys time to ask better questions—if you refuse to let it pretend it already knows the answers.
