I’m maintaining a machine learning model that’s deployed in production, and over the past few months I’ve noticed a gradual decline in performance. The data distribution has shifted, but not enough to justify retraining the model every few days.
Right now, I’m monitoring prediction confidence and basic evaluation metrics, but I’m unsure when retraining should actually be triggered.
Here’s a simplified version of the monitoring logic:
from evidently.report import Report
report = Report(metrics=[
DataDriftPreset(),
ClassificationPreset()
])
report.run(
reference_data=train_df,
current_data=production_df
)
if drift_score > threshold:
retrain_model()
I’m curious how teams handle this in production.
- Do you rely on statistical drift detection alone, or do you also monitor business KPIs?
- How do you distinguish between temporary distribution shifts and genuine concept drift?
- Have you had success with online learning, rolling retraining windows, or champion/challenger models?
I’d love to hear how experienced ML engineers balance model stability with keeping predictions accurate over time, especially in high-volume production environments.
