Point-Biserial Correlation Calculator
Point-biserial correlation between a yes/no variable and a numeric score — r_pb, r², t statistic, p-value and the group means, from the two groups’ values.
How it works
r_pb = [(M₁ − M₀) ÷ sₙ] · √(n₁n₀ ÷ n²) with sₙ = population SD of all n values; t = r·√[(n − 2) ÷ (1 − r²)], df = n − 2
The point-biserial correlation measures how strongly a dichotomous variable (pass/fail, treated/control) is associated with a continuous one. It is mathematically the Pearson correlation with the binary variable coded 0/1, and its significance test is identical to the pooled two-sample t-test. A positive r means the group coded 1 has the higher mean. Results match SciPy’s pointbiserialr.
Worked example
Eight scores in group 1 (mean 16.000) and seven in group 0 (mean 12.429) give r_pb = 0.7143, r² = 0.5102, t = 3.680 on 13 df and p = 0.0028 — a significant association.
Sources: SciPy — scipy.stats.pointbiserialr · Point-biserial correlation coefficient — Wikipedia
Frequently asked questions
Point-biserial or biserial correlation?
Point-biserial is for a truly binary variable (yes/no). The biserial coefficient assumes the dichotomy cuts an underlying normal variable (e.g. pass/fail on a continuous ability) and is always larger in magnitude.
Is it the same as a t-test?
Yes — the p-value equals that of the pooled-variance two-sample t-test, and t = r√(n−2)/√(1−r²).
How do I interpret the size of r_pb?
As with Pearson r: about 0.1 small, 0.3 medium and 0.5 large. r² is the share of variance in the score explained by group membership.
Does the coding direction matter?
Only the sign: swapping which group is coded 1 flips the sign of r_pb; its size and p-value stay the same.
Related calculators
Educational tool: check the test’s assumptions (sample size, independence, distribution) before relying on a result for a real decision.