In an LC-MS or GC-MS metabolomics batch, a pooled QC sample — an aliquot mixed from every real sample — is injected at a fixed interval throughout the run. Because its true composition never changes, any drift in its measured signal must come from the instrument, not biology:
measured(i) = true_conc × drift(i) × noise(i)
drift(i) = sensitivity decay + optional batch step at the batch boundary
Fitting a smooth trend only through the QC points (piecewise-linear interpolation between QC anchors here — software pipelines typically use LOESS or splines, same idea) recovers an estimate of drift(i) at every injection index, including the real samples in between. Dividing each measured value by that local trend removes the instrument-driven component:
corrected(i) = measured(i) / drift_hat(i)
The QC %RSD (relative standard deviation, σ/mean × 100) is the standard metric for run quality: below ~15–20% is generally considered acceptable for untargeted metabolomics. A good correction should sharply reduce QC %RSD without touching the genuine biological differences between batch A and batch B.
- Drift severity — how strongly detector sensitivity decays over the run (electrospray source fouling, column aging).
- QC interval — how often the pooled QC is injected; too sparse under-samples fast drift.
- Batch step-shift — simulates a re-tune or column swap between batch A and batch B, a sudden offset on top of the slow drift.
- Apply correction — toggles the view between raw measured intensities and QC-corrected intensities for all four metabolites.