Home / Science / Health and medicine / Biostatistics / Bland-Altman agreement plotTool #471

Bland-Altman plot calculator: bias, limits of agreement with confidence intervals and Lin's CCC

Paste paired results from two methods and get the Bland-Altman plot, the bias and limits of agreement with exact or approximate confidence intervals, a proportional bias test, percentage or ratio scales, and Lin's concordance correlation coefficient.

Keep it one tap away for everyday use.

Bookmark Bland-Altman agreement plot?

Press Ctrl + D now. Your browser opens its own bookmark box, where you choose the name and folder.

  1. Pairs
  2. Bias
  3. Limits
  4. Plot, CSV
Nothing is uploadedWorks offline once open

For study and teaching, not medical advice. Check with a qualified professional.

Paired results

The sample is made-up data (30 pairs, mmol/L) for practice, not real patients.

What it does

When a new meter, a point-of-care device or a cheaper lab method is compared with an established one, a correlation coefficient is the wrong question: two methods can correlate almost perfectly and still disagree by a clinically important amount. The Bland-Altman method asks the right one: how far apart are the two results for the same sample, and how far apart could they be for most samples? This tool works it out from your paired results and draws the plot, all in your browser.

You get the bias (the mean difference, method A minus method B) with its confidence interval, the limits of agreement (bias ± 1.96 standard deviations of the differences, the range that should hold 95 % of differences) with exact or approximate confidence intervals for each limit, a test for proportional bias (do the differences grow with the size of the result?), and Lin’s concordance correlation coefficient (CCC), which measures agreement with the line of equality.

How to use it

  1. Paste two columns: the result by method A and by method B, one subject or sample per line. A header row is used for the method names, and an ID column before them is skipped. Or open a CSV or Excel file.
  2. Type the unit, then pick the options below. Everything updates as you type.
  3. Read the plain summary, the key numbers and the plot. Download the plot as PNG, the pairs and statistics as CSV, or a report as an image, PDF or Word file.

The options

  • Scale. Difference uses A − B in your units. Percentage difference uses (A − B) divided by the mean of the pair, times 100: use it when the differences fan out as values get larger. Ratio works on ln(A ÷ B) and shows the mean ratio and limits as ratios (1.05 means A reads 5 % higher); it needs every result above zero.
  • Plot against. The usual x axis is the mean of the two methods. If B is a true reference method, some prefer to plot against B alone (Krouwer 2008).
  • Limits of agreement. 95 % (± 1.96 SD) is standard; 90 % and 99 % are offered for special cases.
  • Confidence intervals. The level of the intervals for the bias, the limits and the regression slope.
  • Interval method. Exact treats each limit as a normal quantile, bias ± z·SD, and finds its interval from the noncentral t distribution (Carkeet 2015). Approximate uses Bland and Altman’s 1999 standard error, SD × √(1/n + z²/(2(n − 1))), with a t multiplier. The two agree closely for 50 or more pairs; with small samples the exact interval is wider on the outer side.
  • Proportional bias line. The least squares line of the difference on the x value, with its slope, interval and p value. A slope clearly different from zero means the bias depends on the size of the result.

Formulas

Differences d = A − B (or the percentage or log ratio). Bias = mean of d; s = SD of d with n − 1. Limits = bias ± z·s, where z is the normal quantile (1.96 for 95 %). Interval of the bias = bias ± t(n − 1)·s/√n. Lin’s CCC = 2·s_AB / (s_A² + s_B² + (mean A − mean B)²) with n in the denominators, and its interval comes from Fisher’s z transform with Lin’s standard error, as in R’s DescTools and epiR packages. The CCC equals Pearson’s r times a bias correction factor Cb that falls below 1 when the two methods differ in mean or spread.

Worked example

The sample is 30 made-up pairs of glucose-like results in mmol/L, from “Meter A” and “Lab analyser B”. The page shows a bias of 0.4433 mmol/L (95 % CI 0.2040 to 0.6827): the meter reads about 0.44 mmol/L high on average. The 95 % limits of agreement are −0.8129 mmol/L (95 % CI −1.324 to −0.4863) and 1.700 mmol/L (95 % CI 1.373 to 2.210), so for 95 % of samples the meter should be between about 0.8 below and 1.7 above the analyser. No pair falls outside the limits. The proportional bias slope is 0.0546 with p = 0.0542, just short of significance, a hint worth checking with more data or the percentage scale. Lin’s CCC is 0.9825 (95 % CI 0.9656 to 0.9911). With the approximate method the upper limit’s interval becomes 1.286 to 2.113.

These numbers match NumPy and SciPy (scipy.stats.nct for the exact intervals, scipy.stats.linregress for the slope) to at least six figures.

Tips

  • Decide the largest difference that would not matter clinically before you look at the limits; the statistics cannot decide that for you.
  • Use at least 40 to 100 pairs that cover the whole measuring range. Limits from 10 pairs have very wide intervals.
  • Each subject should appear once. Repeated measurements on the same people need the repeated-measures version of the method.
  • Look at the plot: a funnel shape points to the percentage or ratio scale, a slope to proportional bias, and a few far-off points to sample mix-ups.

FAQ

Why not just use the correlation? Correlation measures how well one method predicts the other, not whether they give the same number. Methods that differ by a constant 2 mmol/L correlate perfectly.

Are the limits of agreement a test? No. They describe the spread of differences. Whether they are narrow enough is a clinical judgement.

Is my data uploaded? No. Everything runs in your browser and the page keeps working offline.

Where the numbers come from

  • Bias and limits of agreement: Bland JM and Altman DG (1986), The Lancet 327:307-310; approximate intervals of the limits: Bland and Altman (1999), Statistical Methods in Medical Research 8:135-160.
  • Exact intervals of the limits by the noncentral t distribution: Carkeet A (2015), Optometry and Vision Science 92:e71-e80.
  • Concordance correlation coefficient and its z-transform interval: Lin LI (1989), Biometrics 45:255-268, corrected in Biometrics 56:324-325 (2000).
  • Sample data: made up for this page.

Standard scientific values, such as constants, atomic weights and melting points, are facts found in every textbook; we name where ours were checked. If you are an author or publisher and want a value, a credit or a table changed or removed, tell us and we will act quickly.

Last updated 2026-11-09.

Related tools

Method validation statistics #87 Paste replicate results by day, analyst or instrument: mean, SD, RSD and confidence interval, the Grubbs outlier test, bias and recovery against a true value, repeatability and intermediate precision by ANOVA, and the Horwitz ratio. Calibration curve with LOD and LOQ #28 Paste your standards and get the calibration line, R², limits of detection and quantitation (ICH Q2), and the concentration of each unknown with a 95 % interval. Randomisation list generator #470 Make a reproducible allocation list for a trial: simple or permuted-block randomisation with fixed or random block sizes, strata, ratios such as 2:1, a seed anyone can reuse, CSV and printable sealed-envelope labels. Reliability and agreement #40 Check a questionnaire scale with Cronbach's alpha and item statistics, or rater agreement with Cohen's kappa (weighted too), Fleiss' kappa and all six intraclass correlations with 95 % intervals. Matches R's psych package. Sample size and power calculator #32 How many subjects, samples or survey responses do you need? Sample size for comparing two means, paired data, two proportions, or a survey's margin of error, with power curves. Matches R and G*Power. Uncertainty propagation calculator #25 Type your formula and your measurements with their uncertainties, or paste repeated readings. Get the result with its uncertainty, which input matters most, and a Monte Carlo check. Publication plot maker #27 Paste columns or open a CSV or Excel file and get a clean scientific figure with error bars, sized for a journal column. Download vector SVG or PDF, or PNG at 300 or 600 dpi. Your data stays in your browser. Reference interval calculator #502 Paste results from healthy reference people and get the central 95 % reference interval by the CLSI rank method with 90 % confidence intervals, a parametric interval on the raw, log or Box-Cox scale, Tukey or Dixon outlier screens, a Harris-Boyd check for subgroups and a histogram. Westgard rules QC checker #503 Paste quality control results for one or more control levels and check them run by run against the Westgard multirules (1-2s, 1-3s, 2-2s, R-4s, 4-1s, 10x and more), with Levey-Jennings charts, flagged runs, CV, bias and the sigma metric.