Dataset Shift

Dataset shift occurs when the training distribution differs from validation, test, or deployment distributions. It is one of the main reasons a model can look good in a benchmark and fail in real use.

The general problem is:

or more importantly:

Common Types

Covariate shift changes the input distribution:

Label shift changes class or target frequencies:

Concept shift changes the input-output relationship:

Concept shift is often the hardest because the meaning of the target changes.

Sources

  • Different data collection protocol.
  • Different time period, site, instrument, species, target, or user population.
  • Different preprocessing pipeline.
  • Different annotation policy.
  • Benchmark construction artifacts.
  • Deployment inputs outside the training support.

Shift Contract

FieldQuestion
Source distributionWhat data generated training examples?
Target distributionWhat data should the claim generalize to?
Shift axismolecule, target, assay, time, source, structure, modality, or user context?
Split simulationWhich split approximates that shift?
MetricWhich metric is reported under shift?
Slice sizeIs each shifted slice large enough?
Applicability domainWhere should the model not be trusted?

The OOD gap should be tied to a named shift:

for higher-is-better metrics, or the sign should be reversed for loss-like metrics.

Chem-Bio Shift Axes

AxisExampleBetter Evaluation
molecule scaffoldnew chemotypesscaffold split, activity-cliff analysis
target familynew protein familyprotein-family split
target-assay pairnew measurement contexttarget-assay held-out split
assay sourcenew public database/sourcesource-held-out split
structure sourcepredicted vs experimental structuresstructure-source slice
timelater database releasetemporal split
label policythreshold or unit changelabel semantics audit

For structure-based work, shift can also come from receptor preparation, pocket definition, conformer generation, or docking failure policy.

Shift vs Leakage

Shift and leakage are different failure modes:

ProblemSymptom
shifttest distribution is legitimately harder or different
leakagetest examples contain information already available during training
benchmark artifactshortcut correlates with label in both train and test
label mismatchtarget meaning changes across sources

A benchmark can have both shift and leakage. Report both checks separately.

Checks

  • Which distribution does each split represent?
  • Is the shift intentional, such as scaffold split or family split?
  • Is the shift visible in metadata?
  • Are performance drops reported by source, subgroup, time, or entity?
  • Does the metric hide poor behavior on shifted subsets?
  • Is the shifted test set used for model selection?
  • Does preprocessing depend on statistics from the shifted test set?
  • Are shifted-slice confidence intervals or sample counts reported?