Interactive selector
Drift Test Selector
Answer five questions about your feature, your data volume, your label latency, and your tolerance for false alarms. We rank the drift detectors that actually fit — each with the conditions under which it breaks, threshold guidance, and a copy-paste Python snippet.
Each recommendation shows when the test fails, concrete threshold guidance, and a runnable snippet. Logic follows our drift detection methods guide (reviewed 2026-05-12).
All 9 tests we score
| Test | Family | Detects | Needs ref | Online | Library |
|---|---|---|---|---|---|
| Kolmogorov–Smirnov (two-sample) | Statistical hypothesis test | Covariate drift in a single continuous feature | ✓ | — | scipy / Evidently |
| Population Stability Index (PSI) | Binned distribution divergence | Distribution shift in one feature or a score, summarized as a single number | ✓ | — | scipy/numpy or Evidently |
| Chi-square test of homogeneity | Statistical hypothesis test | Drift in a low-cardinality categorical feature | ✓ | — | scipy / Evidently |
| Wasserstein distance (Earth Mover's) | Optimal-transport distance | Magnitude and direction of shift in a continuous distribution | ✓ | — | scipy / Evidently |
| Maximum Mean Discrepancy (MMD) | Kernel two-sample test | Multivariate / joint drift, including embeddings | ✓ | — | torchdrift / Alibi Detect |
| ADWIN (Adaptive Windowing) | Online change detector | Concept/performance change in a 1D stream, no reference needed | — | ✓ | river |
| DDM (Drift Detection Method) | Online error-rate monitor | Concept drift via the model's online error rate | — | ✓ | river |
| KL divergence (relative entropy) | Information-theoretic divergence | Asymmetric distribution shift for categorical / discretized features | ✓ | — | scipy |
| Embedding drift (centroid / domain-classifier) | Representation-space monitor | Semantic drift in text or images via their embeddings | ✓ | — | Evidently / scikit-learn |