Free tool

ISO 13528 z‑score calculator

Paste your participants’ results to get the assigned value, σpt and a z-score for every result, with Algorithm A and the same rounding as the EqasOnline statistics engine. Open the working to follow every step.

Type one result per line, or paste a column from a spreadsheet. A line with two cells is read as a participant code and its result.

Blank: from the results.

Blank: from the results.

Your data never leaves your computer.

Results

Your z-scores appear here

Paste or type the participants’ results on the left, or try the example data.

How it works

How the calculator gets its numbers

Every method below is from ISO 13528, the international standard for the statistics of proficiency testing, in our own words.

Algorithm A: a consensus that outliers can’t drag

Algorithm A is the robust statistics procedure in Annex C of ISO 13528. It estimates the centre and the spread of the participants’ results so that a few extreme values have little pull on either.

It starts from the median and the median absolute deviation. Then, pass after pass, any result further than 1.5 s* from x* is pulled back to that limit, and x* and s* are recalculated from the adjusted results. s* is their standard deviation times 1.134, which keeps it on the scale of an ordinary standard deviation. When neither figure moves any more, x* is the robust mean and s* the robust standard deviation.

Leave the assigned value and σpt blank and the calculator uses x* and s*.

Group size decides the method

Algorithm A needs enough results to settle, so, like the EqasOnline engine, the calculator uses it for 12 or more results. For 3 to 11 results it takes the median as the assigned value and MADe (1.483 × the median absolute deviation) as the spread, or nIQR when the MAD is zero. Below 3 results it gives no z-score.

z-scores and the three bands

A z-score says how many σpt a result lies from the assigned value: z = (x − xpt) / σpt. ISO 13528 reads |z| ≤ 2 as satisfactory, 2 < |z| < 3 as questionable (a warning signal) and |z| ≥ 3 as unsatisfactory (an action signal). The calculator rounds z to two decimals and takes the band from the rounded value.

When z′ is used

The assigned value is an estimate too. When it is the participants’ robust mean, its standard uncertainty is u(xpt) = 1.25 × s* / √p for p results. ISO 13528 treats that as negligible when it is no more than 0.3 σpt, and z is then the score to use.

When it is larger, the standard points to z′, which adds the uncertainty of the assigned value to σpt: z′ = (x − xpt) / √(σpt² + u(xpt)²). The calculator makes this check and shows z′ beside z when it fails. An assigned value you enter yourself comes with no uncertainty here, so it gets neither the check nor z′.

Go further

Learn the methods, or run them on every round

EqasOnline Academy

The Academy’s course explains the assigned value, σpt and Algorithm A, and how performance scores are read. The course is free; the lessons need an account.

Score every round this way

In EqasOnline, participants enter results in their own portal and one engine scores every round following ISO 13528. A detailed evaluation report prints every Algorithm A iteration for your assessor.

How EqasOnline scores a round

FAQ

Common questions

Is my data sent anywhere?

No. The calculation runs on this page, and your data never leaves your computer.

Are the numbers the same as EqasOnline’s?

Yes. The calculator uses the same formulas, constants and rounding as the EqasOnline statistics engine, and it is checked against that engine on test datasets, including ones with many outliers, very few results and identical values.

Why is there no z-score for two results?

A z-score needs at least three results, here and in EqasOnline. With 3 to 11 results the median and MADe are used, and Algorithm A starts at 12.

Can I paste results from a spreadsheet?

Yes. Copy a column and paste it into the box, one result per line. If you copy two columns, such as a participant code and a result, each line is read as both. Lines that are not a number are listed so you can fix them. 1,5 is read as 1.5, and 1,500 as 1500, with a note in case you meant 1.5.

What if every result is the same?

Then the robust standard deviation is zero and there is nothing to score against. Enter a σpt and the calculator scores each result against it.

See a full round scored on EqasOnline.

In a 30-minute demo we run one full round in both the provider console and the lab portal, from item check to issued report, on your own scheme structure.

Contact us