Set up data drift monitoring¶
When deploying a model, there is a chance that the dataset used for training and validation differs from the prediction data. You can enable data drift monitoring on the Data Drift > Settings tab. DataRobot monitors both target and feature drift information and displays results on the Data Drift tab.
How does DataRobot track drift?
For data drift, DataRobot tracks:
Target drift: DataRobot stores statistics about predictions to monitor how the distribution and values of the target change over time. As a baseline for comparing target distributions, DataRobot uses the distribution of predictions on the holdout.
Feature drift: DataRobot stores statistics about predictions to monitor how distributions and values of features change over time. As a baseline for comparing distributions of features:
For training datasets larger than 500 MB, DataRobot uses the distribution of a random sample of the training data.
For training datasets smaller than 500 MB, DataRobot uses the distribution of 100% of the training data.
Data drift tracking is only available for deployments using deployment-aware prediction API routes (i.e.,
On a deployment's Data Drift Settings page, you can configure the following settings:
|Enable feature drift tracking
|Configures DataRobot to track feature drift in a deployment. Training data is required for feature drift tracking.
|Enable target monitoring
|Configures DataRobot to track target drift in a deployment. Target monitoring is required for accuracy monitoring.
|Displays the dataset used as a training baseline while building a model.
|DataRobot is storing your predictions
|Confirms DataRobot is recording and storing the results of any predictions made by this deployment. DataRobot stores a deployment's inference data when a deployment is created. It cannot be uploaded separately.
|Inference data (external model)
|DataRobot is recording the results of any predictions made against this deployment
|Confirms DataRobot is recording and storing the results of any predictions made by the external model.
|Drop file(s) here or choose file
|Uploads a file with prediction history data to monitor data drift.
|Configures the drift and importance metric settings and threshold definitions for data drift monitoring.
|Configures the schedule for data drift monitoring notification checks.
DataRobot monitors both target and feature drift information by default and displays results in the Data Drift dashboard. Use the Enable target monitoring and Enable feature drift tracking toggles to turn off tracking if, for example, you have sensitive data that should not be monitored in the deployment. The Enable target monitoring setting is also required to enable accuracy monitoring.
You can customize how data drift is monitored. See the data drift page for more information on customizing data drift status for deployments.
Define data drift monitoring notifications¶
Drift assesses how the distribution of data changes across all features for a specified range. The thresholds you set determine the amount of drift you will allow before a notification is triggered.
Only deployment Owners can modify data drift monitoring settings; however, Users can configure the conditions under which notifications are sent to them. Consumers cannot modify monitoring or notification settings.
Use the Definition section of the Data Drift > Settings tab to set thresholds for drift and importance:
Drift is a measure of how new prediction data differs from the original data used to train the model.
Importance allows you to separate the features you care most about from those that are less important.
For both drift and importance, you can visualize the thresholds and how they separate the features on the Data Drift tab. By default, the data drift status for deployments is marked as "Failing" () when at least one high-importance feature exceeds the set drift metric threshold; it is marked as "At Risk" () when no high-importance features, but at least one low-importance feature exceeds the threshold.
Deployment Owners can customize the rules used to calculate the drift status for each deployment. As a deployment Owner, you can:
Define or override the list of high or low-importance features to monitor features that are important to you or put less emphasis on less important features.
Exclude features expected to drift from drift status calculation and alerting so you do not get false alarms.
Customize what "At Risk" and "Failing" drift statuses mean to personalize and tailor the drift status of each deployment to your needs.
To set up monitoring of drift status for a deployment:
On the Data Drift Settings page, in the Definition section, configure the settings for monitoring data drift:
Element Description 1 Range Adjusts the time range of the Reference period, which compares training data to prediction data. Select a time range from the dropdown menu. 2 Drift metric and threshold Configures the thresholds of the drift metric. DataRobot only supports the Population Stability Index (PSI) metric. When drift thresholds are changed, the Feature Drift vs. Feature Importance chart updates to reflect the changes. For more information, see the note on Drift metric support below. 3 Importance metric and threshold Configures the thresholds of the Importance metric. The Importance metric measures the most impactful features in the training data. DataRobot only supports the Permutation Importance metric. When drift thresholds are changed, the Feature Drift vs. Feature Importance chart updates to reflect the changes. See an example. 4
Excludes features (including the target) from drift status calculations. Click
Xexcluded features to open a dialog box where you can enter the names of features to set as Drift exclusions. Excluded features do not affect drift status for the deployment but still display on the Feature Drift vs. Feature Importance chart. See an example.
Sets features to be treated as high importance even if they were initially assigned low importance. Click
Xstarred features to open a dialog box where you can enter the names of features to set as High-importance stars. Once added, these features are assigned high importance. They ignore the importance thresholds, but still display on the Feature Drift vs. Feature Importance chart. See an example.
6 "At Risk" / "Failing" thresholds Configures the values that trigger drift statuses for "At Risk" () and "Failing" (). See an example.
Changes to thresholds affect the periods of time in which predictions are made across the entire history of a deployment. These updated thresholds are reflected in the performance monitoring visualizations on the Data Drift tab.
After updating the data drift monitoring settings, click Save.
Drift metric support
While the DataRobot UI only supports the Population Stability Index (PSI) metric, the API supports Kullback-Leibler Divergence, Hellinger Distance, Kolmogorov-Smirnov, Histogram Intersection, Wasserstein Distance, and Jensen–Shannon Divergence. In addition, using the Python API client, you can retrieve a list of supported metrics.
Example of an excluded feature¶
In the example below, the excluded feature, which appears as a gray circle, would normally change the drift status to "Failing" (). Because it is excluded, the status remains as Passing.
Example of configuring the importance and drift thresholds¶
In the example below, the chart has adjusted the importance and drift thresholds (indicated by the arrows), resulting in more features "At Risk" and "Failing" than the chart above.
Example of starring a feature to assign high importance¶
In the example below, the starred feature, which appears as a white circle, would normally cause drift status to be "At Risk" due to its initially low importance. However, since it is assigned high importance, the feature will change the drift status to "Failing" ().
Example of setting a drift status rule¶
The following example configures the rule for a deployment to mark its drift status as "At Risk" if one of the following is true:
The number of low-importance features above the drift threshold is greater than 1.
The number of high-importance features above the drift threshold is greater than 3.
Schedule notification checks¶
To schedule recurring checks to determine if data drift monitoring email notifications should be sent:
On the Data Drift Settings page, in the Notifications section, enable Send notifications.
Configure the settings for data drift notifications. The following table lists the scheduling options. All times are displayed in UTC:
Frequency Description Every day Each day at the selected time. Every week Each selected day at the selected time. Every month Each month, on each selected day, at the selected time. The selected days in a month are provided as numbers (
31) in a comma-separated list.
Every quarter Each month of a quarter, on each selected day, at the selected time. The selected days in each month are provided as numbers (
31) in a comma-separated list.
Every year Each selected month, on each selected day, at the selected time. The selected days in each month are provided as numbers (
31) in a comma-separated list.
Use advanced scheduler Minute Each minute defined in a comma-separated list of numbers between
Hour Each hour defined in a comma-separated list of numbers between
Day of month Each day defined in a comma-separated list of numbers between
Month Each month defined in a comma-separated list of numbers between
Day of week Each weekday defined in a comma-separated list of numbers between
After updating the scheduling settings, click Save.
The configured time for the Notifications setting schedules a status check specific to the type of monitoring. DataRobot only sends notifications to subscribers if a monitoring event occurred between checks; for example, if a 4xx or 5xx error is received for service health, or if a data drift status change (from either passing to failing or failing to passing) occurs during the specified window, as shown below: