In Process Analytical Technology, a chemometric model turns a raw spectroscopic signal into a real-time estimate of a quality attribute — here, a reactant concentration read from the peak absorbance at one analytical wavelength. A simple univariate calibration is:
A(t) = s·C_true(t) + b(t) + ε(t)
Ĉ(t) = (A(t) − b₀) / s
s = calibration slope (assumed known, fixed at 1)
b₀ = calibration intercept, fixed at the last recalibration
b(t)= true instrument/baseline offset, which drifts over time
ε(t)= sensor noise
As long as the real baseline b(t) matches the calibrated intercept b₀, the prediction Ĉ is unbiased. But raw-material variability, fouling, and optical drift move b(t) away from b₀ over time, so the model develops a systematic bias = (b(t) − b₀)/s, even though the sensor itself is working fine — this is exactly the "Models must be maintained and updated" problem regulators flag under ICH Q8–Q10.
Two numbers track model health:
Bias(t) = Ĉ(t) − C_true(t)
RMSEP = sqrt( mean[ (Ĉ(t) − C_true(t))² ] ) over the visible window
- Baseline drift rate — how fast b(t) wanders away from the last calibration point (raw-material aging, sensor fouling).
- Sensor noise — random measurement noise ε(t) added to every scan.
- Line speed — how many simulated batches run per second.
- Pull Reference Sample & Recalibrate — takes one noisy lab reference measurement of C_true and re-solves b₀ so the bias collapses back toward zero, exactly like a periodic wet-chemistry check keeping an in-line NIR/Raman model honest.
The waterfall grid is the simulated spectrum scrolling through time (wavelength channel on one axis, absorbance as bar height); the two glowing traces above it are the true concentration (green) and the model's live prediction (amber), with small markers where a recalibration was performed.