Written and maintained by CASRAI Editorial Board
Published
On this page
Propagating errors means working out how the uncertainty in each measured input carries through a calculation into the uncertainty of the result. This guide is for researchers and lab staff who have a formula, a few measured values with uncertainties, and need a defensible uncertainty on the answer. It gives a rules table traced to the international Guide to the Expression of Uncertainty in Measurement (GUM), two worked lab examples, and copy-ready Excel, R and Python.
What is propagation of errors?
Propagation of errors, also called uncertainty propagation, propagation of uncertainty or propagating uncertainty, is the method for combining the standard uncertainties of the inputs of a measurement equation into one combined standard uncertainty for the output. The GUM treats a result y as a function of N input quantities, y = f(x1, x2, …, xN), and combines the inputs’ standard uncertainties with the law of propagation of uncertainty (JCGM 100:2008, 5.1.2). NIST describes the same method as “root-sum-of-squares” (RSS) combination (NIST TN 1297, 5.1).
One wording point: NIST TN 1297 (5.2, Note 1) says the terms “error” and “uncertainty” should not be confused. “Propagation of errors” is the common name, but the quantities being propagated are standard uncertainties, each an estimated standard deviation (JCGM 100:2008, 5.1.2).
What does error propagation tell us?
It tells you how large the uncertainty of a calculated result is and which input is responsible for it. The GUM shows that the combined variance is a sum of terms, each the variance contributed to the result by one input (JCGM 100:2008, 5.1.3), so the input with the largest term is the one worth measuring better. The density example below shows this with numbers.
The formula: law of propagation of uncertainty
For independent inputs, the combined standard uncertainty uc(y) is the positive square root of the combined variance (JCGM 100:2008, Equation 10):
uc²(y) = Σ (∂f/∂xi)² · u²(xi), summed over i = 1 to N
Sensitivity coefficients
The partial derivatives ∂f/∂xi are called sensitivity coefficients. Each one describes how the output changes when that input changes, so multiplying it by u(xi) converts the input’s uncertainty into units of the output (JCGM 100:2008, 5.1.3). Each u(xi) is either a Type A standard uncertainty from repeated observations (for example the standard error of the mean) or a Type B one from other information. The GUM’s list of Type B sources includes manufacturer’s specifications and data in calibration and other certificates (4.3.1); see ISO 17025 calibration certificates for what such a certificate reports.
Propagation of errors formula: rules table
These uncertainty formulas are Equation 10 and its relative form, Equation 12, applied to the common cases, for independent inputs. Inputs x1 and x2 have standard uncertainties u1 and u2; a, b, k, c and p are exact constants.
| Operation | Result y | Combined standard uncertainty uc(y) | Basis |
|---|---|---|---|
| Sum or difference | x1 ± x2 | √(u1² + u2²) | GUM 5.1.5 (coefficients +1 or −1) |
| Weighted sum | a x1 + b x2 | √(a²u1² + b²u2²) | Equation 10 |
| Multiplication by a constant | k x | |k| · u(x); relative uncertainty unchanged | Equations 10 and 12 |
| Product or quotient | x1x2 or x1/x2 | |y| · √((u1/x1)² + (u2/x2)²) | Equation 12, exponents +1 or −1 (GUM 5.1.6, Note 2) |
| Power | c xp | |p| · |y| · u(x)/|x| | Equation 12 |
| Natural logarithm | ln x | u(x)/|x| | Equation 10, ∂f/∂x = 1/x |
| Exponential | ex | |y| · u(x) | Equation 10, ∂f/∂x = ex |
| Any other function | f(x1, …, xN) | √(Σ (∂f/∂xi)² u²(xi)) | Equation 10 |
Table source: JCGM 100:2008, Equations 10 and 12 and subclauses 5.1.2 to 5.1.6, with the logarithm and exponential rows following from Equation 10 by differentiation. Rounding: the GUM says to quote uc(y) to at most two significant digits and to round the result to match, so a result of 10.05762 Ω with uc = 27 mΩ is reported as 10.058 Ω (JCGM 100:2008, 7.2.6).
How do you propagate error in multiplication?
For a product or quotient, add the relative uncertainties in quadrature: the relative uncertainty of the result is the square root of the sum of the squared relative uncertainties of the inputs (JCGM 100:2008, Equation 12 with each exponent +1 or −1). Multiplying by an exact constant leaves the relative uncertainty unchanged and scales the absolute one by the constant.
The same quantity twice
The independent-input rules assume the inputs are unrelated. If one measured value appears twice, treat it as one input. Take x = 5.00 with u(x) = 0.10 and y = x² = 25.0. The power rule gives uc(y) = 2 × 25.0 × 0.10/5.00 = 1.0. Applying the product rule as if the two factors were independent gives 25.0 × √2 × 0.02 ≈ 0.71, which understates the uncertainty.
Worked example 1: mass by difference
The input values below are illustrative numbers chosen for the arithmetic, not data from a real experiment. A dish is weighed with a sample and again empty: gross mass 52.318 g and tare mass 41.206 g, each with a standard uncertainty of 0.003 g.
- Result: m = 52.318 − 41.206 = 11.112 g.
- Difference rule: uc(m) = √(0.003² + 0.003²) = 0.00424 g, reported as 0.0042 g.
- Reported: m = 11.1120 g, uc = 0.0042 g.
Worked example 2: density, and which input matters
The mass from example 1 is dissolved into a volume measured as V = 10.00 mL with a standard uncertainty of 0.03 mL (again an illustrative value). The density is ρ = m/V = 11.112 / 10.00 = 1.1112 g/mL.
- Relative uncertainties: u(m)/m = 0.0042/11.112 = 0.000378 (0.038 %); u(V)/V = 0.03/10.00 = 0.0030 (0.30 %).
- Quotient rule: relative uc(ρ) = √(0.000378² + 0.0030²) = 0.00302, so uc(ρ) = 1.1112 × 0.00302 = 0.00336 g/mL, reported as 0.0034 g/mL.
- Reported: ρ = 1.111 g/mL, uc = 0.0034 g/mL.
| Input | Relative uncertainty | Share of the combined variance |
|---|---|---|
| Mass m | 0.038 % | 1.6 % |
| Volume V | 0.30 % | 98.4 % |
The volume contributes about 98 % of the variance, so a better balance would change almost nothing; a better volume measurement would. This is the answer to “what does error propagation tell us” in practice.
What is error propagation in chemistry?
In chemistry it is the same law applied to quantities computed from readings: a mass by difference, a concentration from a mass and a volume, a titration result. Only the measurement equation changes. Write the equation, give each input a standard uncertainty, then apply the rules table; the output of one step is an input to the next, as example 2 uses the output of example 1. For chemistry-specific error sources, see sources of errors in titration and the serial dilution calculation guide.
When the formulas do not apply
- Correlated inputs. Equations 10, 11a and 12 are valid only for independent inputs (JCGM 100:2008, 5.2.1). For correlated inputs, Equation 13 adds covariance terms, 2 ΣΣ (∂f/∂xi)(∂f/∂xj) u(xi, xj). See the covariance formula guide.
- Strong nonlinearity. Equation 10 rests on a first-order Taylor series. When the nonlinearity of f is significant, higher-order terms must be included (JCGM 100:2008, 5.1.2, Note).
- Numerical alternatives. NIST allows established, documented methods equivalent to RSS, such as the numerically based bootstrap (NIST TN 1297, 5.1, Note). Propagating whole distributions by random sampling is covered in the Monte Carlo simulation guide.
Propagation of errors calculator: Excel, R and Python
These snippets reproduce example 2 and adapt to any measurement equation.
Excel (mass in B1, its uncertainty in B2, volume in B3, its uncertainty in B4): density =B1/B3; uncertainty =ROUND(B1/B3*SQRT((B2/B1)^2+(B4/B3)^2),4). For the mass difference in example 1, =SQRT(B2^2+B3^2) with the two uncertainties in B2 and B3.
R:
m = 11.112; u_m = 0.0042; V = 10.00; u_V = 0.03
rho = m / V
u_rho = rho * sqrt((u_m / m)^2 + (u_V / V)^2)
signif(u_rho, 2) # 0.0034
Python, using the GUM’s numerical method for any function (JCGM 100:2008, 5.1.3, Note 2), which evaluates f at each input ± one standard uncertainty:
import math
def combined_u(f, x, u):
total = 0.0
for i in range(len(x)):
hi, lo = list(x), list(x)
hi[i] += u[i]
lo[i] -= u[i]
total += ((f(*hi) - f(*lo)) / 2) ** 2
return math.sqrt(total)
density = lambda m, V: m / V
print(combined_u(density, [11.112, 10.00], [0.0042, 0.03])) # about 0.0034
Frequently asked questions
What is propagation of errors?
It is the method of combining the standard uncertainties of a calculation’s inputs into one combined standard uncertainty for the result, using the law of propagation of uncertainty (JCGM 100:2008, Equation 10).
What does error propagation tell us?
It gives the uncertainty of the calculated result and shows how much each input contributes, so you know which measurement to improve first.
How do you propagate error in multiplication?
Add the relative uncertainties of the factors in quadrature; a constant multiplier scales the absolute uncertainty and leaves the relative uncertainty unchanged.
What is error propagation in chemistry?
It is the same law applied to chemical measurements such as mass by difference, concentration and titration results: give each input a standard uncertainty, then combine them with the rules table.
Sources
- JCGM 100:2008, Evaluation of measurement data — Guide to the expression of uncertainty in measurement (GUM 1995 with minor corrections), BIPM: bipm.org, JCGM_100_2008_E.pdf, verified 2026-11-07.
- Taylor, B. N. and Kuyatt, C. E., NIST Technical Note 1297, 1994 Edition, Guidelines for Evaluating and Expressing the Uncertainty of NIST Measurement Results: nvlpubs.nist.gov, nbstechnicalnote1297.pdf, verified 2026-11-07.







