Arte SheetsLearn. Try. Understand.

Nonparametric Statistics & Clinical Trials

Jonckheere-Terpstra Ordered-Group Trend Statistic Formula

Test monotonic trend across independent ordered dose groups using the Jonckheere-Terpstra pairwise Mann-Whitney sum J = U_12 + U_13 + U_23 and exact null moments.

Count ordered pairwise dominance U_ab across independent dose cohorts

Whereas Page’s L test handles blocked repeated measures on the SAME subjects, toxicology and clinical dose-finding trials assign DIFFERENT independent cohorts to Placebo (Group 1), Low Dose (Group 2), and High Dose (Group 3). Terpstra (1952) and Jonckheere (1954) sum pairwise Mann-Whitney dominance counts J = U_12 + U_13 + U_23 to gain substantially higher directional power than an omnibus Kruskal-Wallis test.

Check by hand for three balanced cohorts of n_1 = n_2 = n_3 = 4 subjects (N = 12 total): Group 1 = {10, 12, 15, 19} (B2:B5), Group 2 = {14, 18, 22, 25} (C2:C5), and Group 3 = {21, 24, 29, 33} (D2:D5). Using COUNTIF per row, U_12 = 13, U_13 = 16, and U_23 = 13, giving J = 13 + 16 + 13 = 42 out of 48 total ordered pairs! Exact null mean is mu_J = (12^2 - (16 + 16 + 16)) / 4 = 24, exact variance var_J = (144*27 - 3*(16*11)) / 72 = 3,360 / 72 = 46.6667, and directional Z_JT = (42 - 24) / SQRT(46.6667) = 2.6349.

Jonckheere-Terpstra TermExact FormulaSample Output (n = 4, 4, 4)
Pairwise Dominance U_12, U_13, U_23Pairs where lower-dose < higher-dose13 + 16 + 13 -> J = 42
Null Expectation mu_J(N^2 - SUM(n_g^2)) / 424.0000 (Half of 48 pairs)
Null Variance var_J(N^2*(2*N + 3) - SUM(n_g^2*(2*n_g + 3))) / 7246.6667 (140 / 3)
Directional Z_JT(J - mu_J) / SQRT(var_J)+2.6349 (p = 0.0042 one-sided)

Exact Null Variance var_J Formula for Arbitrary Cohort Sizes

Compute N = n_1 + n_2 + n_3 dynamically via COUNT so unbalanced clinical cohorts evaluate without manual adjustments.

=LET(cnt_1, COUNT(B2:B5), cnt_2, COUNT(C2:C5), cnt_3, COUNT(D2:D5), n_tot, cnt_1 + cnt_2 + cnt_3, IF(OR(cnt_1 < 1, cnt_2 < 1, cnt_3 < 1), "Empty Cohort", ROUND((n_tot^2 * (2 * n_tot + 3) - (cnt_1^2 * (2 * cnt_1 + 3) + cnt_2^2 * (2 * cnt_2 + 3) + cnt_3^2 * (2 * cnt_3 + 3))) / 72, 4)))

Standardized Jonckheere-Terpstra Z_JT Formula

Sum the row-level pairwise dominance counts E2:E5 (where each cell counts strictly larger observations in higher-ordered columns plus 0.5 for ties) and standardize against mu_J and SQRT(var_J).

=LET(cnt_1, COUNT(B2:B5), cnt_2, COUNT(C2:C5), cnt_3, COUNT(D2:D5), n_tot, cnt_1 + cnt_2 + cnt_3, IF(OR(cnt_1 < 1, cnt_2 < 1, cnt_3 < 1), "Empty Cohort", LET(j_tot, SUM(E2:E5), mu_j, (n_tot^2 - (cnt_1^2 + cnt_2^2 + cnt_3^2)) / 4, var_j, (n_tot^2 * (2 * n_tot + 3) - (cnt_1^2 * (2 * cnt_1 + 3) + cnt_2^2 * (2 * cnt_2 + 3) + cnt_3^2 * (2 * cnt_3 + 3))) / 72, ROUND((j_tot - mu_j) / SQRT(var_j), 4))))

Try the example

Use the original values or change them to test your understanding.

Further reading