Understanding Bland–Altman Plots: Agreement, Bias, and When to Use Percent vs Absolute
- Mayta
- 6 hours ago
- 5 min read
1) What problem does Bland–Altman solve?
Agreement question: “Do my index method (varindex) and reference method (varref) give close enough values to be used interchangeably?”
BA focuses on bias (systematic error) and random error (spread), not just association. A high correlation can still have poor agreement.
2) Per‑subject calculations (one dot per paired measurement)
For each subject i:
Mean (x‑axis): mean_i = (varindex_i + varref_i) / 2
Absolute difference (y‑axis for the classic BA): diff_i = varindex_i − varref_i
Percent difference (y‑axis for the percent BA): pct_i = 100 × (varindex_i − varref_i) / varref_i(Percent is handy when values span a wide range or when error scales with size.)
Then summarise:
Bias (mean error): average of diff_i (or of pct_i)
SD of differences: sd(diff_i) (or sd(pct_i))
Limits of agreement (LOA): bias ± 1.96 × SD
Interpret LOA against clinical acceptability (e.g., ±5 mmHg for BP) rather than p‑values.
3) Absolute vs Percent Bland–Altman: when and why
Plot | Y‑axis | Use when | What it shows best |
Absolute BA | varindex − varref (original units) | Range of true values is narrow, or error is additive | Fixed offsets, mmHg/mg/dL differences |
Percent BA | 100 × (varindex − varref) / varref | Range is wide, or error is multiplicative (constant % error) | Proportional error; compares across magnitudes fairly |
Tip: If the percent still looks messy and values are never near zero, try a log transform and plot the ratio (multiplicative agreement).
4) What the main patterns look like (and what to do)

A) Random difference
Absolute BA: Cloud of points symmetric around 0; no slope or shape. LOA may be wide/narrow.
Percent BA: Similar cloud; % error often shrinks as means get larger (because the same absolute noise is divided by larger values).
Meaning: Mainly random measurement noise.
What to do: Improve precision (calibration, rater training), average replicates to reduce noise.
B) Constant difference (fixed offset)
Absolute BA: Horizontal band offset from 0 by a constant bias; spread roughly constant across the range.
Percent BA: % error decreases as mean increases (same offset divided by larger values).
Meaning: One method is consistently higher/lower by a fixed amount.
What to do: Apply an offset correction (subtract/add the bias) or recalibrate.
C) Proportional difference (scale error)
Absolute BA: Spread (and often the mean difference) increases with the mean—a “fanning out” look.
Percent BA: Points line up roughly around a constant % (near‑flat band around some %).
Meaning: Error grows in proportion to magnitude (constant coefficient of variation).
What to do: Apply a scaling correction (slope). Fit difference vs mean (or Passing–Bablok/Deming vs reference) and correct:index_adj = (index − a) / b (or index_adj = a + b × index, depending on the fitted form). Re‑check BA afterward.
D) Proportional constant difference (offset + scale)
Absolute BA: Clear slope (difference changes with mean) plus a non‑zero intercept; variability roughly constant.
Percent BA: Band sits above/below 0% and may tilt slightly as the offset effect fades at high values.
Meaning: Both a fixed offset and a proportional component.
What to do: Correct both intercept and slope (calibration line), then reassess BA.
E) Mixed
Absolute BA: A Combination of slope, offset, and maybe changing variability across ranges.
Percent BA: Proportional part becomes clearer; fixed offset looks bigger at low means, smaller at high means.
Meaning: Multiple error sources.
What to do: Diagnose in parts—fit a line for bias (intercept/slope), consider piecewise regions, check heteroscedasticity; correct stepwise and re‑plot. If replicating pairs per subject, consider repeatability/within‑subject components.

1️⃣ Random difference
Absolute plot: Points scatter randomly around the zero line, with LOA constant across all mean values.
Percent plot: The scatter pattern doesn’t change much, but the % error becomes smaller as the mean increases (because the same error is divided by a larger true value).📌 Interpretation: If relative acceptability is the concern, check whether the % error is within an acceptable range.
2️⃣ Constant difference
Absolute plot: Points form a horizontal band parallel to the zero line with a fixed offset (bias is the same for all values).
Percent plot: The % error decreases as the mean increases (same offset divided by larger values).📌 Interpretation: Constant bias may appear less important in the % plot if the true values are large.
3️⃣ Proportional difference
Absolute plot: The difference increases with the mean (fanning out), LOA is wider at higher values.
Percent plot: Points form a horizontal band parallel to the 0% line (because the error is proportional to the true value).📌 Interpretation: Clearly shows that the error is a constant percentage → can apply a correction factor.
4️⃣ Proportional constant difference
Absolute plot: Bias shows a slope with constant variability (difference increases with mean).
Percent plot: The bias line tilts slightly downward (because the fixed offset has more impact at low values but less at high values).📌 Interpretation: In the % plot, both the proportional bias (constant) and the offset (shrinking with higher values) are visible.
5️⃣ Mixed
Absolute plot: May show a combination of slope, offset, and non-constant variability.
Percent plot: Some elements—such as proportional error—become more obvious, while the offset appears smaller at higher values.📌 Interpretation: Both absolute and percent plots should be reviewed together to identify the sources of error.
💡 Key takeaway
Absolute plot → Highlights differences in absolute measurement units.
Percent plot → Highlights differences in relative terms, making proportional errors easier to spot and offsets less prominent at higher values.
Use both plots together to clearly distinguish types of systematic error.
5) Agreement vs Reliability (don’t mix them up)
Agreement: Are the two methods close? (Use BA, bias, LOA.)
Reliability: Can repeated measures separate patients consistently? (Use ICC or repeatability). High ICC can coexist with poor agreement; BA answers the interchangeability question.
6) Quick “read the plot” checklist
Bias near zero? (line close to 0 or 0%)
LOA clinically acceptable? (compare to your threshold/MCID)
Pattern present?
No pattern → mostly random noise
Horizontal offset → constant bias
Fanning or slope → proportional or mixed bias
Scale appropriate? If absolute looks heteroscedastic, check the percent (or log‑ratio).
7) Minimal reporting template (what to write)
“We compared varindex with varref in N paired measurements.
Mean difference (bias) was X (units) with SD Y, giving LOA X ± 1.96×Y (lower, upper).
The BA plot showed [no trend / constant offset / proportional bias].
LOA were [acceptable/not acceptable] relative to the clinically acceptable limit of Z.
The percent BA showed [consistent % error of ~k% / declining % error with magnitude], supporting [additive/multiplicative] error.
After applying [offset/scaling] correction, bias reduced to … and LOA to … .”
8) Tiny worked example (one subject)
varindex = 120 mmHg, varref = 118 mmHg
Mean = (120 + 118) / 2 = 119
Absolute difference = 120 − 118 = 2 mmHg
Percent difference = 100 × (2 / 118) ≈ 1.7%
9) Common pitfalls
Using correlation to claim agreement (don’t) [3].
Declaring success without checking LOA against a clinical limit [2].
Using percent when values near zero (% can explode); consider log‑ratio BA instead.
Ignoring repeated measures structure (need within‑subject methods if multiple pairs per person).
Key takeaways
Absolute BA shows additive errors in original units; Percent BA shows relative (multiplicative) errors.
Recognize patterns: random, constant, proportional, proportional+constant, mixed—each has a different fix (precision, offset, scaling, or combined).
Judge LOA vs clinical acceptability, not p‑values.
Use BA for agreement, ICC for reliability.