Skip to content
K Knidox Search…
Statistics · Nonparametric

Wilcoxon Signed-Rank

Compare paired measurements without assuming normality — W, z, p, and effect size.

One value per participant, in the same order as condition 2.
Must contain the same number of values — these are paired observations.
Wilcoxon W
2.5Wp < .05

W₊ = 33.5, W₋ = 2.5; the smaller is reported. 8 pairs used.

Normal approximation
z = -2.2

Two-tailed p = 0.0278, with a tie correction applied.

Effect size
0.778r

r = |z| ÷ √n, the effect size usually reported alongside a Wilcoxon test.

With fewer than about 10 pairs the normal approximation is rough — check W against an exact critical-value table instead of relying on this p-value.

The Wilcoxon signed-rank test ranks the sizes of paired differences and compares the ranks of increases against decreases. For 8 pairs with W₊ = 33.5 and W₋ = 2.5, W = 2.5 gives z = −2.20 and a two-tailed p of .028 — a significant change.

The paired test that ignores the distribution

Where the paired t-test compares the mean difference against zero and assumes those differences are normal, the Wilcoxon signed-rank test uses only their order and sign. It suits before-and-after designs with small samples, skewed differences, or ordinal outcomes — pain ratings, questionnaire scores, judged rankings.

The key idea is that it uses more information than a simple sign test. Counting how many participants improved ignores by how much; the signed-rank test ranks the absolute differences, so a large improvement contributes a bigger rank than a marginal one, while still never assuming a distribution.

Zero differences are dropped

A participant whose score did not change contributes nothing to either direction, and Wilcoxon’s original procedure removes those pairs before ranking. This reduces n, which is worth knowing: a study of 30 people where 12 showed no change is effectively an 18-pair test, and the reported n should say so.

W = min(W₊, W₋) μ_W = n(n + 1) ÷ 4 σ_W = √( n(n + 1)(2n + 1) ÷ 24 − Σ(t³ − t) ÷ 48 ) z = (W − μ_W) ÷ σ_W r = |z| ÷ √n

W₊ and W₋ are the rank sums of the positive and negative differences, n the number of non-zero pairs, and t the size of each group of tied absolute differences.

Worked example: 8 pairs

Difference, rank, then sum by direction:

  1. 1
    Take the difference for each pair. After minus before, giving differences of 2, 1, 4, 1, 4, 1, −1 and 3.
  2. 2
    Drop any zero differences. None here, so all 8 pairs remain in the analysis.
  3. 3
    Rank the absolute differences. Ignore the sign when ranking. The four differences of size 1 tie and share the average of ranks 1 to 4, which is 2.5.
  4. 4
    Sum the ranks by direction. Positive differences give W₊ = 33.5; the single negative difference gives W₋ = 2.5.
  5. 5
    Take the smaller sum. W = 2.5, well below the expected 18 for 8 pairs.
  6. 6
    Standardise and interpret. z = (2.5 − 18) ÷ 7.04 = −2.20, two-tailed p = .028, with an effect size of r = .78.

Which paired test to use

All three answer the same design question with progressively fewer assumptions and progressively less information used.

TestUsesAssumes
Paired t-testSize and direction of differencesDifferences roughly normal
Wilcoxon signed-rankRank order and directionDifferences symmetric about the median
Sign testDirection onlyAlmost nothing

Assumptions, ties, and reporting

The test is often called assumption-free, which overstates it. Interpreting the result as a shift in the median assumes the distribution of differences is roughly symmetric. Without symmetry it remains a valid test of whether positive and negative differences are balanced, but the median reading weakens.

Tied absolute differences share an average rank and reduce the variance of W, so the calculator applies the standard correction. Ties are common with coarse scales, where many participants change by exactly one point.

The normal approximation used for the p-value is dependable from about 10 pairs upwards. Below that, check W against an exact critical-value table. When reporting, give W, the number of non-zero pairs, z, the exact p, and the effect size r = |z| ÷ √n, alongside medians and interquartile ranges for each condition.

When should I use this instead of a paired t-test?
When the paired differences are clearly skewed, the outcome is ordinal, or the sample is too small to assess normality. With normal differences the t-test has slightly more power, but the gap is small.
What happens to pairs with no change?
They are dropped before ranking, following Wilcoxon’s original procedure, which reduces n. Report the number of non-zero pairs actually used rather than the number of participants recruited.
Is the test really assumption-free?
Not entirely. Reading the result as a shift in the median assumes the differences are roughly symmetric. Without symmetry it still validly tests whether increases and decreases are balanced.
How is it different from a sign test?
The sign test counts only how many differences are positive or negative. The signed-rank test also ranks how large each difference is, so it uses more of the data and has more power.
Which W should I report?
The smaller of W₊ and W₋ is the convention, though some software reports W₊ by default. State which one you mean, along with the number of pairs, so the value can be checked.
Is the p-value reliable for small samples?
The normal approximation used here is dependable from about 10 pairs. With fewer, compare W against an exact critical-value table instead of relying on the approximation.
What effect size should I report?
r = |z| ÷ √n is the usual choice, where n is the number of non-zero pairs. It is interpreted on the familiar scale where roughly .10 is small, .30 medium, and .50 large.