Drift Detection
Drift detection tells you when the data a model sees in production no longer looks like the data it was trained on, and, once you record the true outcomes of its predictions, whether it is still as accurate. It covers traditional ML models in the Model Registry.
Each analysis compares the production predictions of a model's active version with that version's baseline: a summary of the rows it was trained or validated on.
Why Drift Detection Matters
A model learns from historical data, but the world keeps changing. Customer behaviour shifts, a data source changes its format, a season turns. When production inputs drift away from the training data, predictions degrade, often silently.
| Type | What changes | How it is detected |
|---|---|---|
| Data drift | The distribution of an input feature | Per-feature tests such as PSI, Kolmogorov-Smirnov and Chi-Square |
| Multivariate drift | How features move together, even when each one alone looks stable | Domain classifier, PCA reconstruction error |
| Prediction drift | The model's performance against the true outcomes, by its task | Accuracy (classifiers), mean absolute error (regressors) or the reviewers' mean verdict (multilabel, time series and other models) on predictions that have actuals, against the baseline's |
| Estimated performance | Likely accuracy before the true outcomes arrive | CBPE, from the model's confidence |
Where to Find It
- The model's Monitoring tab. Open a model from MLOps > Model Registry and select Monitoring. It holds the model's monitoring settings, its latest drift status, its predictions, actuals imports, performance and baselines, with Build Baseline, Import Actuals, Run Analysis and Full Dashboard.
- The Drift Detection page. Select Drift Detection in the Model Registry header. It lists every model you can see with its drift status, drift score, sample size and when it was last analyzed. Filter by status (Healthy, Warning, Alert, Could not analyze, No data) or search by name. A model without a drift result says what it still needs: No task (set its task in Monitoring settings), Record inputs is off, No baseline for its active version, or Not analyzed yet (or why its latest analysis could not run). View Drift Details opens a model's drift dashboard.
- A model's drift dashboard has these tabs: Overview, Feature Drift, Predictions, History, Baselines and Algorithms.
Before a model can be analyzed
Drift is measured for a model that has:
- A task (classification, regression, multiclass, multilabel, time series or other), so its predictions can be scored. See The model's task.
- Record inputs and outputs on, so input drift has inputs to compare.
- A baseline for its active version. See Baselines.
- Production predictions in the analysis window: at least its minimum predictions per analysis (30 by default). Predictions are recorded automatically from every caller (see Predictions are recorded automatically).
The Drift Detection page names what each model still needs.
In this section
- Baselines: build, manage and activate the reference data drift compares with.
- Actuals: record the true outcomes of predictions to measure real performance.
- Running an analysis: on demand, on a schedule, and the notifications it sends.
- Reading results: drift status and score, the dashboard's tabs, performance and prediction drift.
- Algorithms: the built-in algorithms and their thresholds, and custom algorithms in Python.
Interpreting Common Scenarios
Seasonal drift. Drift appears at regular intervals. This may be expected rather than a problem; consider season-aware models.
Sudden spike. Drift jumps in a short time. Look for recent changes: a new data source, a pipeline bug, an upstream system change.
Gradual increase. Drift slowly rises over weeks. Plan regular retraining, and build a new baseline for the retrained version.
Single feature. One feature drifts while others are stable. Check that feature's source and processing.
High drift, stable accuracy. Inputs shifted but the model still performs. Keep watching; if this is the new normal, retrain and build a new baseline.
Best Practices
- Build baselines when you train. The reference rows are easiest to capture then. Include
actual,predictionandconfidence(or, for a reviewed model,actualverdicts andconfidence) so performance and estimated accuracy are available. - Schedule analysis. Daily or weekly analysis catches gradual drift a one-off check misses.
- Record actuals. Data drift says inputs changed; actuals say whether it matters.
- Keep test traffic on the Test tab. It never skews production results.
- Retrain and compare safely. When drift is confirmed, retrain, register the new version with its baseline, and compare it with the current version in an A/B test before switching.