After launch
The season turned. Here is what it does.
Foliage, snow and sun angle rewrite the background the model learned, and accuracy slides over weeks rather than falling over.
From the floor
The model shipped in August and it is now November. Leaves are down, the sun sits lower and throws long shadows across the same assets, and snow has flattened the contrast the model relied on to find an edge. Nobody changed anything, which is exactly why nobody looks.
Which failure is it
Covariate shift
Same objects, same definition of a defect, different pixels. Seasonal change is the slowest and most predictable version of covariate shift, which also makes it the easiest to plan for.
Four modes, and they need different responses: covariate, concept, prior, and a pipeline event wearing drift’s coat.
What moves first
Accuracy is the last thing to tell you.
Confidence distributions drift down across a whole class over weeks, and the slope tracks the calendar rather than any deployment. Detection counts fall on outdoor cameras while indoor cameras on the same site hold.
Measuring accuracy directly needs fresh labels, so teams lean on proxies between audits. By the time a quarterly audit shows a drop, the system has been wrong for a quarter. The cheap signals are confidence per class, detection rate per camera against its own history, and how often a reviewer overrides the model.
What to do
Retrain on footage that covers the seasons you actually operate in. A model trained on one summer will always be at its weakest in its first winter, so the first year is where the corrections matter most. And teach the baseline the calendar too: compare each camera against the same hour and season of its own history, or the monitoring will alarm every dawn.
What it costs to ignore
A yearly cycle where the model is trusted in the months it was built for and quietly discounted in the others, until people stop acting on it at all.
Where this shows up
What it gets first