Drift
Drift is a systematic change in a measurement over time that comes from the measuring system rather than from the person being measured.
Drift is a systematic change in a measured value over time that originates in the measurement system — reagent lots, instrument calibration, assay versions, sample handling, analysis pipelines — rather than in the thing being measured. In a single cross-sectional panel drift is invisible. In a longitudinal profile it is the main competitor to every trend you care about.
How it works
Three categories of biomarkers are useful here because each drifts differently.
Genomic markers are effectively static. Your germline genome does not change between draws, so any difference between two WGS runs at a given site is error: coverage, mapping, caller version. This makes genotype the one place you can measure pipeline drift directly, because the truth is fixed.
Molecular-state markers change on the scale of days to years: transcript abundance, plasma protein concentration, HbA1c, lipids, hsCRP. Here biology and instrument move together, and drift is genuinely confounded with signal.
Physiologic streams — continuous glucose, heart rate, ocular imaging metrics — change minute to minute and drift via sensor-specific mechanisms. A CGM sensor’s error profile is not stationary across its 10 or 14 day wear period, so a “fasting glucose by day” series built from raw CGM will show a sawtooth at sensor-change boundaries.
Calibration drift specifically means the transfer function from physical signal to reported value has moved. A mass spectrometer’s response factor degrades; an immunoassay’s standard curve shifts with a new reagent lot; a CGM’s factory calibration assumes a sensitivity that decays with wear time. The instrument is precise and wrong, which is worse than imprecise, because precision makes the wrongness look like a real trend.
Distinguish drift from two neighbors. Batch effect is a discrete jump at a batch boundary. Within-person biological variation is the noise floor of the analyte itself. Tworoger and Hankinson lay out how within-person variability and laboratory error attenuate observed associations and how design choices (repeat sampling, batching cases with controls, blinded duplicates) limit the damage.1 Those same choices work at n=1.
Whether drift matters depends on the assay. An eight-year study of plasma amyloid beta 1–42 and total tau by immunomagnetic reduction found assay performance stable enough over that span to treat long-interval comparisons as meaningful.2 That is the exception, not the default, and it was established by explicit stability testing rather than assumed.
In your own data
Find the metadata before you plot anything.
Blood panels: the HL7/FHIR or PDF report carries the performing lab, method, and reference interval. Keep lab_id, method, and analyzer as columns next to every value. A change in reference interval is a tell that the method changed. Creatinine moving from Jaffe to enzymatic, or a 25-OH vitamin D switch from immunoassay to LC-MS/MS, produces a step of clinically relevant size with zero biological change.
RNA-seq: the drift lives in library_prep_kit, flowcell ID, and read length, all of which you can pull from FASTQ headers and the pipeline’s multiqc_data.json. Check pct_duplication, median_5prime_to_3prime_bias, and rRNA fraction per run. If you have counts from multiple runs, run PCA on log2(CPM+1) of the top 2,000 variable genes and color by run date. If PC1 or PC2 tracks date, you have drift, not a new expression program. Correct with limma::removeBatchEffect or sva::ComBat_seq on the integer counts, never on TPMs, and never with the biological variable of interest omitted from the model matrix.
Proteomics: on Olink, watch plate ID and the bridging samples; NPX values are log2 and plate-normalized, and cross-plate comparison without bridge normalization is not valid. On mass spec, track retention-time shift and the CV of your heavy-labeled internal standards. A rising standard CV means the column or source is degrading before the analyte values look wrong.
WGS: run the same sample twice if you can, or at least compare against a fixed truth set with hap.py or rtg vcfeval. Freeze your reference build (GRCh38 with ALT contigs, or T2T-CHM13 if you commit to it) and pin the caller version in a container digest. Lifting over from hg19 to GRCh38 changes calls, particularly in segmental duplications.
CGM: export the raw CSV with sensor serial. Add days_since_insertion as a covariate and regress your daily summaries on it. If the coefficient is non-zero, drop the first 12 and last 24 hours of each sensor and recompute.
The single highest-value habit: save one aliquot of plasma or serum from every draw, and when you change labs or methods, run both on the same aliquot. Two numbers on one sample give you a conversion factor. Nothing reconstructs it after the fact.
Limitations
Drift correction removes variance without telling you whose variance it was. If your biology changed slowly and monotonically, ComBat on run date will eat part of the real signal. You cannot fully separate them at n=1 without duplicate or reference material.
Algorithmic approaches that detect “physiological drift” across multimodal streams do exist, and they report reasonable discrimination on retrospective cohorts.3 They also share the same failure mode: the model has no way to know whether the anomaly was in you or in the sensor. Frameworks for per-person trend monitoring, such as those proposed for ocular imaging, are explicit that the personal baseline itself must be re-established when instruments change.4
Finally, a corrected number is not an interpretation. If a trend persists after you have accounted for method changes, lot changes, and sensor age, that is the point to take the data to a clinician who can order confirmatory testing on a single platform.
Woolf Software builds longitudinal molecular profiles of individuals: whole-genome sequencing, RNA sequencing, proteomics, blood biomarkers, and continuous glucose data, integrated into one model of you. Build your profile.
When you own a multi-year time series of your own labs, transcriptomes, and proteomics, every slope you compute is the sum of biological change and instrument change, and separating the two is a data engineering problem you have to solve before you interpret anything.
Related Terms
References
- Shelley S. Tworoger, Susan E. Hankinson. Use of biomarkers in epidemiologic studies: minimizing the influence of measurement error in the study design and analysis . Cancer Causes & Control, 2006. DOI
- Mengyao Ji, Mujun Jiang, Qun Yu, et al.. Eight-Year Longitudinal Study on the Assay Stability of Plasma Amyloid Beta 1–42 Peptide and Total Tau Protein Using Immunomagnetic Reduction . Molecular Neurobiology, 2025. DOI
- Siddharth Karnati, Srijib Mukherjee, Sankar Dasiga. Bio360: A Multimodal Framework for Health Digital Twin Modeling and Early Physiological Drift Detection . 2026 IEEE 14th International Conference on Healthcare Informatics (ICHI), 2026. DOI
- Alessandro Avitabile, Mario D. Toro, Roberta Amato, et al.. Dynamic Oculomics for Diagnostic Monitoring: Personal Ocular Trends, Risk Stratification and Treatment Response . Diagnostics, 2026. DOI