After launch
Ten ways a working model quietly stops working.
From the operations desk they all look the same: the numbers get worse and nobody changed anything. They are not the same. Each of these has a different cause, a different signature and a different fix, and treating one as another is the most expensive routine mistake in this field.
When accuracy drops overnight, the cause is rarely the model: a camera moved, an encoder changed, something upstream shifted. That is fixed with a revert, not a retrain. Drift is the other kind - a slope, not a cliff, slow enough to miss and steady enough that it does not stop on its own. One per-camera watch reads both, and the shape of the curve is the diagnosis.
The conditions
A camera moved
Someone nudged a lens during a wash-down and the model has been looking slightly past the thing ever since.
Covariate shiftThe season turned
Foliage, snow and sun angle rewrite the background the model learned, and accuracy slides over weeks rather than falling over.
Covariate shiftThe spec changed
A tolerance tightened. The pixels are identical and every label you own is now wrong.
Concept driftA new site came online
The model was trained at one site and deployed at another, and the second site does not look like the first.
Covariate shiftThe equipment changed
A new machine generation, a new housing or a new supplier's part, and the model has never seen the thing it is now looking at.
Covariate shiftRain, fog and dust
Conditions the model rarely saw in training arrive for a week and detection falls off a cliff, then recovers.
Covariate shiftA camera was replaced
New hardware, different colour response and sharpness, and the model treats a familiar scene as unfamiliar.
Covariate shiftSomething is now in the way
Vegetation, new plant or stored material sits between the camera and the asset, and part of the view is quietly gone.
Covariate shiftA firmware or encoding change
Someone updated a camera or altered a compression setting, and the input the model receives is no longer the input you tested.
Not drift: a pipeline eventThe defect rate changed
The images and the definitions hold, but how often the thing occurs has moved, and every threshold tuned around the old rate is now wrong.
Prior shift