Skip to main content
Back to module
Lab Data & Quality · Quality Control

Calibration curves

Reading35mLesson 2 of 3 in this module

Fit a calibration curve, check its residuals, and compute the limit of detection and limit of quantitation.

Why it matters

Most quantitative lab methods do not measure concentration directly. An HPLC measures peak area, a spectrophotometer measures absorbance, an ICP measures emission intensity. A calibration curve turns that signal into a concentration. How well you build it decides how accurate your results are, and its statistics tell you the smallest amounts you can reliably detect and report. Method validation guidelines (such as ICH Q2 for pharmaceuticals) require labs to show both.

Building a calibration curve

  1. Prepare a blank and at least five standards that span the expected range of samples.
  2. Measure each standard (often in replicate).
  3. Fit a straight line by least-squares linear regression: signal = slope x concentration + intercept.
  4. Check the fit: look at the residuals (measured signal minus the line's predicted signal). They should scatter randomly around zero. A curved pattern means the response is not linear over that range.
  5. Use the line to calculate sample concentrations: c = (signal - intercept) / slope.

Correlation coefficient r (or r squared) is often reported, and many methods require, for example, r squared of at least 0.99. But a high r squared does not prove linearity: a slightly curved response can still give r squared of 0.995. Always look at the residuals.

Limit of detection and limit of quantitation

  • Limit of detection (LOD): the lowest concentration that can be reliably distinguished from zero. Below it, you report "not detected".
  • Limit of quantitation (LOQ): the lowest concentration that can be measured with acceptable precision and accuracy. Between LOD and LOQ, you can say the analyte is present but cannot give a reliable number.

One approach in ICH Q2 uses the standard deviation of the response (sigma) and the slope (S) of the calibration curve:

LOD = 3.3 x sigma / S
LOQ = 10 x sigma / S

Sigma can be the residual standard deviation of the regression line, the standard deviation of the y-intercept, or the standard deviation of blank measurements. The residual standard deviation for n points is:

s_res = sqrt( sum of squared residuals / (n - 2) )

The n - 2 is because the line used up two parameters (slope and intercept).

Worked example

Lead standards (µg/L) and instrument signals:

Concentration012468
Signal0.0100.1220.2280.4520.6680.889

A least-squares fit gives a slope of about 0.1098 per µg/L and an intercept of about 0.0106. The residuals are small, and the residual standard deviation is about 0.0019. So:

LOD = 3.3 x 0.0019 / 0.1098 = about 0.057 µg/L
LOQ = 10  x 0.0019 / 0.1098 = about 0.17 µg/L

A sample with a calculated concentration of 0.12 µg/L would be reported as detected but below the LOQ; one at 3.2 µg/L is reported as a number. (Your activity will compute these values exactly.)

Calculated LOD and LOQ are estimates. Validation guidelines expect them to be confirmed by analysing samples near those levels.

Good practice

  • Bracket your samples. Do not report results above the highest standard; dilute and rerun.
  • Do not force the line through zero unless the method was validated that way.
  • Run check standards during the run (for example every 10 samples) to show the calibration still holds.
  • Use independent standards for QC: prepared from a different stock or lot than the calibration standards, so a stock error does not hide itself.
  • Record everything: standard preparation, lot numbers, the fitted equation, r squared and residuals.

Common mistakes

  • Trusting r squared without looking at residuals.
  • Extrapolating below the lowest or above the highest standard.
  • Using the same stock solution for calibration standards and QC.
  • Reporting numeric results below the LOQ as if they were reliable.
  • Dropping an inconvenient standard from the curve without a documented reason.

Quick recap

  • Fit signal against concentration with least squares; check residuals, not just r squared.
  • c = (signal - intercept) / slope, within the calibrated range only.
  • LOD = 3.3 x sigma / S and LOQ = 10 x sigma / S (ICH Q2 approach), with sigma often the residual SD.
  • Confirm LOD and LOQ experimentally, and use independent QC standards.

ICH quality guidelines (Q2 covers analytical validation): https://www.ich.org/page/quality-guidelines (Checked on 2026-10-23.)

Try it

Open the Do tab. The Python code fits the curve with statistics.linear_regression and computes the residual SD; you add the LOD and LOQ formulas.

Also in this lesson: