

A deployed model can keep returning valid responses while its predictions become less useful. The data may change, a feature may arrive late, or the service may slow down. Monitoring helps you notice those changes early enough to investigate them.
There is no single dashboard metric that proves a model is healthy. Build a small set of checks around the data, the model’s outcomes, and the service that delivers predictions.
Start with a schema for every feature: expected type, allowed range, missing-value behavior, and known categories. For a course-completion model, days_since_enrollment should not be negative, and weekly_sessions should not unexpectedly arrive as a text label.
Track basic data-quality signals such as:
A distribution change is a signal to investigate, not an instruction to retrain automatically. The change might reflect a real shift in users, a broken upstream data feed, or a harmless seasonal pattern. First confirm what changed and whether the feature is still available at prediction time.
Track whether predictions are being served successfully and quickly. Useful operational measurements include request volume, error rate, latency percentiles, memory use, and model version. If the service returns errors or takes too long, users may be affected even if the model’s offline score is unchanged.
Set thresholds based on the service’s needs. A 500 ms response time may be fine for a nightly batch job and poor for an interactive feature. Record the reasoning behind thresholds so an alert points to an action rather than adding noise.
Many real-world tasks do not reveal the correct answer immediately. A completion model may need weeks before you know whether a learner finished. Preserve enough information to join predictions with later outcomes, while following the product’s privacy and retention rules.
When labels become available, compare predictions with outcomes using the same definitions used during evaluation. Check aggregate results and meaningful slices. A strong overall score can hide a weak result for a course type or user segment that matters to the product.
If true labels are unavailable, you may use proxy signals—such as a user correction, a support action, or a downstream event—but label them as proxies. A proxy can move for reasons unrelated to model quality. Compare changes over time and investigate before making a model decision.
The input during training and the input received in production should follow the same schema and transformation logic. A feature may be calculated differently in the service, or a field used during training may not exist at the moment the prediction is requested. These training-serving differences can invalidate an otherwise careful offline evaluation.
Log the model version and feature-pipeline version with each prediction. That gives you a path from an unexpected outcome back to the code and data assumptions that produced it. Avoid storing sensitive raw inputs when a minimized, redacted diagnostic record will answer the operational question.
Before replacing a model, compare it with the current version on a fixed evaluation set and check that it meets the minimum quality bar. If the product supports it, expose the candidate to a small portion of traffic and compare relevant outcomes before expanding the rollout. Keep a clear rollback path if service health or user outcomes worsen.
Do not retrain just because one input statistic moved. Retraining on a broken feed or shifted labels can make performance worse. Confirm the data, inspect errors, and validate the candidate before serving it.
For each alert, document what it means, who should investigate, which dashboards or logs to inspect, and what action is safe. A “missing feature rate exceeded threshold” alert might first trigger a data-pipeline check, not an immediate model rollback. A latency alert might point to infrastructure capacity, while a delayed quality alert may require a model review.
A useful monitoring plan is small enough to maintain and specific enough to guide action. Start with input validity, service availability, latency, model version, and delayed outcome quality. Add checks when you find concrete failure modes, and revisit them as the product changes.
You might also be interested in reading these related topics