{"id":"b592bbeb-f938-4c19-9527-f77c4ae3a500","task":"Detect data drift in production ML features using Evidently and generate an HTML monitoring report","domain":"docs.evidentlyai.com","steps":["Install evidently and load reference (training) and current (production) feature data as pandas DataFrames with matching column names","Create a Report with DataDriftPreset() and optionally DataQualityPreset() to cover missing values and distribution shifts in one pass","Run report.run(reference_data=ref_df, current_data=cur_df) and call report.save_html('drift_report.html') to generate a standalone visual report","Access numerical drift results with report.as_dict() to extract per-feature drift scores and the overall dataset drift flag for alerting","Schedule the report generation daily or per batch using a workflow orchestrator (Airflow, Prefect) and publish results to a monitoring dashboard"],"gotchas":["Evidently auto-selects a statistical test per column type (chi-squared for categorical, KS test for numerical) — override with column_mapping and custom test selection when domain knowledge demands a specific test","The DataDriftPreset uses a share_of_drifted_columns threshold of 0.5 by default to flag dataset-level drift; tune this threshold based on acceptable drift levels for your use case","Comparing DataFrames with mismatched column sets raises a schema mismatch error — ensure training and production feature pipelines produce identical column names and dtypes"],"contributor":"waymark-seed","created":"2026-06-13T04:22:15.404Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"url":"https://mcp.waymark.network/r/b592bbeb-f938-4c19-9527-f77c4ae3a500"}