Paired data, no normality assumption — and the two choices nobody declares.
Paired measurements, without assuming normality
One pair is identical, so it is dropped and n falls from 10 to 9.
W = 18.00000 over 9 non-zero pairs
p = 0.593631
W⁺ = 27.00000 against W⁻ = 18.00000, with an expected 22.50000 each under the null. z = 0.53358.
W⁺ (positive ranks)
27.00000
W⁻ (negative ranks)
18.00000
Median difference
5.00000
Hodges-Lehmann shift
3.50000
median of pairwise averages
Rank-biserial r
0.20000
effect size, −1 to +1
Pairs used
9
1 dropped as zero
1 pair had a difference of exactly zero and was dropped, so n fell from 10 to 9. That is the classical Wilcoxon procedure, and it is a choice rather than a fact. Pratt’s variant keeps the zeros, ranks them, and assigns them no sign — which gives a different p-value on the same data. Neither is wrong, and software rarely says which it used. On rounded or ordinal measurements zeros are common, so the count is reported here rather than absorbed.
The differences are reasonably symmetric, so the median reading is defensible here. It is worth knowing that this is a condition rather than a given: Wilcoxon tests whether the distribution of differences is centred at zero, and only symmetry turns that into a claim about the median difference. It is the same gap that makes Mann-Whitney not a median test.
The median difference is 5.00000 and the Hodges-Lehmann estimate is 3.50000. The second is the one that matches this test. Hodges-Lehmann takes the median of every pairwise average of the differences rather than the median of the differences themselves, which is the location shift the signed-rank statistic is implicitly estimating — and it inverts the test, so a confidence interval built from it agrees with the p-value by construction. Reporting the plain median alongside a Wilcoxon p-value pairs a statistic with a test that was not measuring it.
2 tied absolute differences, so the variance carries the tie correction. Ties shrink the spread of W, so omitting the correction overstates it and makes the test conservative — the same failure the Mann-Whitney tie correction exists to prevent, and for the same reason it matters most on discrete data.
What this tool shows
Pairs with a difference of exactly zero get thrown away — or kept, depending on which variant your software runs. The two give different p-values on the same data. This reports how many were dropped, and gives the Hodges-Lehmann shift, which is the quantity the test actually estimates.
W⁺, W⁻ and the two-sided p-value
How many zero differences were dropped, and why that is a choice
The tie correction to the variance
Hodges-Lehmann shift alongside the median difference
Rank-biserial correlation as the effect size
A warning when the differences are too skewed for a median reading
Paired design Zero handling declared Hodges-Lehmann shift Tie correction applied
Median difference 5, Hodges-Lehmann shift 3.5 — only one matches the test.
Updated 9 September 2026 · Works in any browser, no installation
The Wilcoxon signed-rank test asks whether paired differences are centred at zero. It ranks the sizes of the differences and attaches their signs, so it uses the pairing the way a paired t-test does while making no assumption that the differences are normal.
At a glance
Formula shown
Take each pair’s difference, discard the zeros, rank the absolute values with midranks, then sum the ranks of the positive differences to get W⁺. Under the null W⁺ has mean n(n+1)/4 and variance n(n+1)(2n+1)/24, reduced by a tie correction. The matching point estimate is Hodges-Lehmann: the median of all pairwise averages of the differences.
Scenario support
Before-and-after measurements on the same subjects; matched-pair designs; two ratings of the same items; any paired comparison where the differences are skewed, ordinal or contain outliers.
Educational estimate
Planning support from the values you enter — not professional advice.
The pairs that vanish, and the variant nobody names
The first decision this test makes is invisible in its output, and it changes the answer.
A pair whose two measurements are identical has a difference of zero. It has no sign, so the classical procedure discards it and reduces n. The tool’s default dataset has one such pair, and n falls from 10 to 9.
Pratt’s variant keeps them. It ranks the zeros along with everything else, then assigns them no sign — which keeps n at its original value and shifts every subsequent rank upward. The two procedures give different p-values on identical data.
Neither is wrong, and software rarely says which it runs. R’s wilcox.test drops zeros; several statistics packages offer both and default differently. If two people get different p-values from the same paired data, this is the first thing to check.
It matters most on exactly the data this test is chosen for. Ordinal scales, rounded measurements and small integer counts produce ties at zero constantly. A study with ten pairs and three zeros loses 30% of its sample under the classical rule, which is a substantial change to hide in a default.
So the count is reported here rather than absorbed. When several pairs are dropped, that fact belongs in the write-up alongside the p-value.
It is not a test of the median difference
The same misdescription that attaches to Mann-Whitney attaches here, and for the same structural reason.
What the test asks is whether the distribution of differences is centred at zero — more precisely, whether positive and negative differences are equally likely and equally large.
That becomes a statement about the median difference only if the differences are symmetric. Symmetry is the extra assumption, it is rarely stated, and it fails on skewed data — which is frequently why a rank test was chosen in the first place.
The tool checks it crudely and says so. It compares how far the differences extend above and below their own median, and warns when one side runs more than three times further. Load the “Skewed differences” preset to see the warning fire.
Symmetry is a weaker requirement than normality, which is the point. You are trading “the differences are normal” for “the differences are symmetric”, which is a real and useful relaxation. It is not the same as trading it for nothing, and the sign test — which uses only the direction of each difference and ignores magnitude entirely — is the version that assumes nothing at all, at a real cost in power.
Report it as what it tests. “Scores were higher after treatment (Wilcoxon signed rank, p = 0.004, Hodges-Lehmann shift 3.5)” is accurate. “The median difference was significant” may not be.
Hodges-Lehmann is the estimate that matches the test
A p-value without a point estimate is half a result, and the obvious estimate here is the wrong one.
The median of the differences is not what this test measures. On the tool’s default data it is 5, while the Hodges-Lehmann estimate is 3.5. Quoting the first alongside a Wilcoxon p-value pairs a statistic with a test that was not measuring it.
Hodges-Lehmann takes the median of every pairwise average of the differences — the Walsh averages. With n differences that is n(n+1)/2 values, and their median is the location shift the signed-rank statistic is implicitly estimating.
The reason to prefer it is that it inverts the test. A confidence interval built from the Walsh averages agrees with the p-value by construction: the interval excludes zero exactly when the test rejects. A median-of-differences interval carries no such guarantee, so it can contradict its own p-value.
It is also more efficient. Under normality it retains about 95% of the efficiency of the mean, and on heavy-tailed data it beats the mean outright — while keeping a breakdown point around 29%, so it is genuinely robust rather than merely non-parametric.
The tool reports both, and the gap between them is worth looking at: when they are far apart the differences are asymmetric, which is the same warning the previous section describes arriving by a different route.
Against the paired t-test
The choice is usually framed as normal against non-normal, which is too crude to act on.
The paired t-test assumes the differences are normal, not the measurements. That is a much weaker requirement than people assume, and with thirty or more pairs the central limit theorem does most of the work. A failed normality test on 200 pairs detects a deviation too small to matter.
Use Wilcoxon when the differences are ordinal. Two ratings on a five-point scale produce differences whose sizes are not real distances, and a t-test treats them as though they were.
Use it when a few differences are extreme. Ranks cap the influence of an outlier at one rank position; a paired t-test lets it move the mean without limit.
The power cost is small and often negative. Under perfect normality Wilcoxon retains about 95% of the t-test’s power — a 5% loss. On heavy-tailed differences it is frequentlymore powerful, sometimes considerably. “Non-parametric means weaker” is true only in the case where the parametric assumption actually holds.
What the t-test gives you that this does not is a difference in the data’s own units with an interval attached. Hodges-Lehmann closes most of that gap, which is why the tool reports it — but when both tests are defensible, the t-test’s output is easier to act on.
Getting the pairing right, which is the real prerequisite
Every assumption above is secondary to one structural requirement: the data must genuinely be paired, in order.
The test reads the two lists positionally. The first value in each list must come from the same subject, the second from the same subject, and so on. Sorting one list independently — which a spreadsheet makes very easy — destroys the pairing silently and produces a plausible-looking p-value from nothing.
Unequal list lengths mean the data is not paired at all, and the tool refuses rather than truncating. For two independent groups the right test is Mann-Whitney, which shares a surname with this one and is a completely different procedure.
The naming genuinely causes errors. Mann-Whitney is also called the Wilcoxon rank-sum test; this is the Wilcoxon signed-rank test. Two tests, one surname, opposite designs, adjacent in most software menus.
The check is structural, not statistical. Ask whether removing one observation forces you to remove another. If it does, the data is paired and this is the right family. If it does not, it is not — whatever the numbers look like.
And pairing is worth having. It removes between-subject variation entirely, which is usually the largest source of noise. A treatment that reliably adds two points to everyone is obvious in the paired differences and can be invisible in two pooled groups.
Sources and methodology
References for the test, its variants and its estimator.
Method. Zero differences are dropped, which is the classical procedure, and the count is reported rather than absorbed — Pratt’s variant keeps them and gives a different p-value, so the choice has to be visible. Ranks use midranks and the variance carries the standard tie correction, without which the test is conservative on exactly the discrete data it is usually chosen for. The Hodges-Lehmann estimate is computed from all n(n+1)/2 Walsh averages rather than approximated, because it is the quantity the statistic actually estimates and it inverts the test. The symmetry check compares the two tail distances from the median and warns above a threefold ratio. The suite asserts that W⁺ plus W⁻ equals n(n+1)/2 identically, that dropping a zero difference reduces n by exactly one, that the tie-corrected variance never exceeds the uncorrected one, and that the Hodges-Lehmann estimate differs from the median difference on the default data — 3.5 against 5 — so the page cannot quietly conflate them. That engine is verified on every change against 115 assertions. The count and the per-case breakdown are published on the formula verification page.
Related calculators
Where this goes next:
Mann-Whitney UMann-Whitney U with the tie correction and both medians shown, because it is not a test of medians — two samples with identical medians of 4 are separated at p = 0.01.
t-testOne-sample, two-sample and paired t-tests defaulting to Welch, with Student's pooled version printed beside it — and a warning when the two disagree on the verdict.
One-Way ANOVAThe full F table with eta and omega squared, plus every pairwise gap — because a significant F says something differs and never says which, and ten groups tested pairwise carry a 90% false-positive rate.
Effect SizeCohen d, Hedges g and the overlap between groups, with a sample-size control that moves the p-value while leaving the effect size fixed — the same d gives t = 1.29 at n=30 and 23.57 at n=10,000.
p-valueA p-value from a t or z statistic, one- or two-tailed — with a panel that holds an effect fixed and grows the sample, so you can watch significance appear from nothing but n.
Mean, Median and ModeAll three centres marked on your own data, every mode rather than just the first, and the mean-median gap read as a direct measure of skew.
An educational tool. The test compares whether paired differences are centred at zero; reading that as a statement about the median difference requires the differences to be symmetric, which is a real assumption and is rarely stated.
Published a paired rank test that reports how many zero differences it discarded. The classical procedure drops them and reduces n; Pratt's variant keeps them and ranks them unsigned. The two give different p-values on identical data and software rarely says which it ran, so the count is shown rather than absorbed.
Reports the Hodges-Lehmann shift beside the median difference — 3.5 against 5 on the default data. Only the first is what the signed-rank statistic estimates, and only its interval agrees with the p-value by construction; quoting the median alongside a Wilcoxon p-value pairs a statistic with a test that was not measuring it.
Warns when the differences are too asymmetric for a median reading. The test asks whether the differences are centred at zero, and that becomes a claim about the median difference only under symmetry — the same gap that makes Mann-Whitney not a median test.
Add this calculator to your site
Responsive embed — and private: nothing your visitors type leaves their browser.