Skip to content

Explainer: What Is Model Drift?#75

Merged
yakew7 merged 2 commits into
yakew7:mainfrom
AnayDhawan:explainer/model-drift
Jul 14, 2026
Merged

Explainer: What Is Model Drift?#75
yakew7 merged 2 commits into
yakew7:mainfrom
AnayDhawan:explainer/model-drift

Conversation

@AnayDhawan

Copy link
Copy Markdown
Contributor

Closes #36.

Concept: Model drift is the ongoing process by which a deployed model's accuracy and fairness gap change over calendar time as the population or the feature-outcome relationship it was trained on keeps moving.

Scoping against distribution-shift.md: This repo already has a distribution-shift explainer covering covariate/label/concept shift with one-shot reference-vs-current statistical tests (KS test, chi-squared). This explainer is deliberately scoped as the operational counterpart: rolling-window monitoring of a model already in production, using PSI and a Page-Hinkley change-point test, neither of which distribution-shift.md covers. The explainer states this boundary explicitly in its "Why It Matters" and "Related Concepts" sections so it doesn't read as a duplicate.

What's included:

  • The German Credit Lending audit's age-based fairness gap, re-measured across 5 sequential windows of the same dataset instead of one random split. The gap ranges from 4.3% to 15.1% depending on which 200-row slice is measured, versus the audit's own single-snapshot 6.39% figure (not statistically significant at n=1,000, p=0.348).
  • PSI computed between the first and last window on 3 features: credit_amount (0.119, moderate shift) actually moved more than age itself (0.096, borderline).
  • Honest limitation Audit: German Credit Lending Bias #1: the dataset has no timestamp, so row order is used as a proxy for arrival order, and the explainer says so directly rather than implying this static academic file shows real calendar drift.
  • Runnable detection code: population_stability_index, page_hinkley_test, rolling_fairness_gap.
  • External case: Roberts et al. 2021 (Nature Machine Intelligence), a systematic review of ML COVID-19 diagnostic models (2,212 screened down to 61 meeting quality criteria, none found clinically usable), verified via search before citing rather than from memory.

All numbers were generated by actually running the code in the explainer against the repo's own German Credit Lending/credit_customers.csv, not invented.

Closes yakew7#36. Anchors on the German Credit Lending audit: re-measures
its age-based fairness gap across five sequential windows instead of
one snapshot (gap ranges 4.3%-15.1% depending on which slice is
measured, versus the audit's single 6.39% figure), and adds PSI plus
a Page-Hinkley change-point test as detection code. Explicitly scoped
against the existing distribution-shift.md explainer: that one covers
the one-shot reference-vs-current taxonomy, this one covers ongoing
rolling-window monitoring of an already-deployed model.
@vercel

vercel Bot commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

@AnayDhawan is attempting to deploy a commit to the yashkewlani2020-gmailcom's projects Team on Vercel.

A member of the Team first needs to authorize it.

@github-actions

Copy link
Copy Markdown

Hey @AnayDhawan, your first PR on Fair Code, that's awesome, thank you.

This project is about making AI more accountable, and contributions like yours are what keep that work going. We'll review your changes shortly.

If you haven't already, give the contributing guide a quick read: it covers how audits are structured and what we look for in a review.

@yakew7
yakew7 marked this pull request as ready for review July 14, 2026 08:18
@yakew7
yakew7 merged commit 09b6c26 into yakew7:main Jul 14, 2026
8 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

What Is Model Drift?

2 participants