Range Restriction

When you can only observe a subset of the full range — such as studying admitted students instead of all applicants — correlations shrink, power drops, and effects look weaker than they really are.

Do GRE scores predict graduate-school GPA?

Suppose GRE quantitative scores correlate ρ = 0.40 with first-year graduate GPA across all applicants. A university wants to validate its admissions process, so it correlates GRE scores with GPA among its enrolled students. The problem: only applicants above a certain GRE threshold were admitted. The university never observes the GPA of rejected applicants.

Among admitted students the variance in GRE scores is compressed — most cluster near the top of the scale. With less spread in the predictor, the regression slope flattens, and the observed correlation drops. The university might conclude that "GRE scores barely predict performance" when in fact the relationship is substantial in the full range. This is range restriction, and it is ubiquitous: employee selection, clinical cutoffs, gifted-education research, and any study that conditions on a variable correlated with the outcome.

In the simulation below, X represents GRE scores and Y represents GPA. Adjust the sliders to see how restricting the observable range attenuates the correlation — and how the Thorndike correction can recover the full-range estimate.

Why does restriction attenuate correlations? A correlation measures the degree to which two variables co-vary relative to their individual variances. When you truncate the range of one variable, its variance shrinks, but the conditional variance of the other variable (the scatter around the regression line) stays roughly the same. The signal-to-noise ratio drops, and so does r. Visually, the elliptical cloud of points gets compressed along one axis, making the tilt — the linear trend — harder to detect.
Where this happens in practice. Range restriction is not a rare edge case. It appears whenever a study's sample was filtered on something correlated with the variables of interest. Classic examples: employee selection studies (correlating test scores with performance, but only among those hired), clinical trials with severity cutoffs (excluding mild cases), educational research in gifted programs, and income studies restricted to employed individuals. In each case the observed correlation underestimates the true population relationship — sometimes dramatically.
Controls
ρ 0.40
Population correlation
N 200
Full sample size
Lo 50%
Lower bound (percentile on selection variable)
Hi 100%
Upper bound (percentile on selection variable)
ρxz 0.70
Correlation between X and the selection variable Z
Full Sample
Restricted Sample
r (full range)
r = 0.450
r (restricted)
r = 0.271
r (Thorndike corrected)
r = 0.396
Change in variance explained
−12.9%
Statistical Power ▼ 80% threshold
Full range: 100%
Restricted: 80% −20 percentage points

Thorndike's Case II Formula

The three cases are Thorndike's (1949, Personnel Selection); Case II is the one where selection acts directly on the predictor. When the full-range standard deviation of the selection variable is known (e.g., from normative data or the full applicant pool), the restricted correlation can be corrected back to an estimate of the unrestricted value:

$r_c = \dfrac{r_r \cdot \dfrac{S_X}{s_x}}{\sqrt{1 - r_r^2 + r_r^2 \cdot \dfrac{S_X^2}{s_x^2}}}$
Thorndike Case II: corrected correlation from restricted $r_r$, unrestricted SD ($S_X$), and restricted SD ($s_x$)

Here $r_r$ is the restricted correlation, $S_X$ is the unrestricted standard deviation, $s_x$ is the restricted standard deviation, and $r_c$ is the corrected estimate. The purple stat card above shows this correction applied to the observed restricted $r$. The formula works by inflating the correlation in proportion to how much variance was lost — the ratio $S_X / s_x$ captures the degree of compression.

The SD ratio must be computed on the variable selection actually acted on. In "Select on Y" mode the card above therefore uses $S_Y / s_y$ rather than $S_X / s_x$; substituting the wrong variable's ratio badly under-corrects. "Select on Z" is the exception: here $Z$ influences $Y$ only through $X$, so the regression of $Y$ on $X$ survives selection intact and the ordinary Case II correction on $X$ still applies.

Direct vs. indirect restriction. "Select on X" is direct restriction — the selection variable is the predictor itself. "Select on Z" is indirect restriction — selection occurs on a third variable correlated with X but not directly in the model. Indirect restriction is harder to detect and correct because the researcher may not realize selection has occurred. For instance, restricting a clinical sample by diagnosis severity (Z) compresses both the predictor (X) and outcome (Y) ranges simultaneously, attenuating their correlation even though neither was directly truncated. Whether it can be corrected depends on how Z enters the model. In the simulation here, Z affects Y only through X, so plain Case II on X remains exact and no knowledge of ρ(X,Z) is needed. When Z has its own path to Y, that no longer holds: the correction then requires ρ(X,Z), which is often unavailable — see Hunter, Schmidt and Le (2006) for the estimators used in that case.
The correction has limits. Thorndike's formula assumes linearity (the regression of Y on X is linear across the full range) and homoscedasticity (the spread of Y is constant across levels of X). When these assumptions fail — for example, with ceiling effects or nonlinear relationships — the correction can over- or under-shoot. It also requires knowing the unrestricted SD, which may only be available from normative data or prior studies. Treat corrected correlations as estimates, not ground truth.
Citation

Persson, B. N. (2026). Range restriction [Interactive visualization]. https://bjorn-persson.github.io/visualizations/range-restriction/

@misc{Persson2026rangerestriction,
  author = {Björn N. Persson},
  year = {2026},
  title = {Range Restriction},
  note = {Interactive visualization},
  url = {https://bjorn-persson.github.io/visualizations/range-restriction/}}