The model didn't change. The world did.

A vision model that worked well on launch day can be noticeably worse three months later without anyone touching it. The sun sets earlier, snow covers the yard, a new product line arrives, a camera gets bumped a few degrees. The model is seeing images that look less and less like the ones it was trained on.

This is drift, and it's the most common reason a working system quietly stops being trusted.

You can't measure accuracy live, but you can measure confidence

In production nobody labels every frame, so you can't compute accuracy as it happens. What you can always see is how confident the model is. At launch, the confidence scores have a typical shape: most detections high, a few lower. When conditions drift, that shape slides down.

The figure tracks it with a population stability index (PSI), a standard way to compare two distributions. At summer noon the PSI is 0. At dusk it's 0.14, at night 0.58, and on a winter night 1.71, far past the 0.25 where the lamp lights. The mean confidence falls from 0.82 to 0.57 in the same steps.

Turn doubt into training data

Low-confidence frames are exactly the ones worth labelling: they're the situations the model is unsure about. Instead of sampling at random, queue the frames below a confidence level, have a person label them, and add them to the training set. In the figure they drop out of the rack as cards into the labelling drawer.

Retraining on those frames brings the histogram back towards its launch shape for those conditions. Then you check it against a held-out test set, including the old conditions, so fixing night doesn't break noon.

What I set up for every production system

  • Log the confidence of every detection with a timestamp and camera, from day one.
  • Store the launch distribution per camera as the baseline.
  • Compute a drift score daily per camera and alert past a set limit.
  • Queue low-confidence frames for labelling, capped so it stays a small daily job.
  • Plan retraining before launch, not after the first complaint, including the seasons you haven't seen yet.