Written and maintained by CASRAI Editorial Board
Last updated
No correlation means the Pearson correlation coefficient between two variables is zero, or close enough to zero that the data give no evidence of a linear association. Three situations all produce it: two variables that really are unrelated, a flat pattern in which one variable never changes, and a curved pattern whose positive and negative slopes cancel. Only the first means “no relationship”. This page works through each with the arithmetic shown.
Definition of no correlation
Two variables have no correlation when their Pearson correlation coefficient, r, equals 0. On a scatter plot the points show no consistent tendency for Y to rise or fall as X increases. The NIST/SEMATECH e-Handbook of Statistical Methods describes such a plot as having an “amorphous, non-structured appearance”, which “leads to the summary conclusion: no relationship”, and ties the conclusion to the “lack of predictablility in determining Y from a given value of X” (spelling as in the source). OpenStax Introductory Statistics 2e shows the same idea with a scatter plot “exhibiting no pattern” and notes that a horizontal line “would in fact show no relationship.”
Careful wording matters: r measures linear association only. “No correlation” is a statement about a straight-line trend, not a guarantee that the variables are independent. See scatterplot interpretation and bivariate data for how to read the pattern before reading the number.
Formula for r with every symbol explained
r = Sxy / √(Sxx × Syy)
- Sxy = Σ(xᵢ − x̄)(yᵢ − ȳ), the sum of the products of each pair’s deviations from the means (the numerator of covariance).
- Sxx = Σ(xᵢ − x̄)², the sum of squared deviations of X.
- Syy = Σ(yᵢ − ȳ)², the sum of squared deviations of Y.
- x̄, ȳ = the sample means; n = the number of pairs.
r is zero exactly when Sxy is zero: the positive and negative products cancel. The full derivation is on the correlation analysis formula page.
Worked example 1: unrelated variables (r close to 0)
Eight pairs with no visible pattern. X = 1 to 8; Y = 5, 2, 7, 3, 6, 2, 7, 4.
- Means: x̄ = 36 / 8 = 4.5 and ȳ = 36 / 8 = 4.5.
- Deviations of X: −3.5, −2.5, −1.5, −0.5, 0.5, 1.5, 2.5, 3.5. Deviations of Y: 0.5, −2.5, 2.5, −1.5, 1.5, −2.5, 2.5, −0.5.
- Products: −1.75, 6.25, −3.75, 0.75, 0.75, −3.75, 6.25, −1.75. Sxy = 3.00.
- Sxx = 42.0 and Syy = 30.0.
- r = 3 / √(42 × 30) = 3 / √1260 = 3 / 35.50 = 0.085.
Is 0.085 different from zero? The test statistic is t = r√(n − 2) / √(1 − r²) = 0.085 × 2.449 / 0.996 = 0.21 with 6 degrees of freedom, giving p = 0.84. This sample gives no evidence of a linear association. Note that r is not exactly 0: a small non-zero r from unrelated variables is normal, and that is why a significance test or confidence interval is used instead of looking for an exact zero.
Worked example 2: a perfect relationship with r = 0
Take X = −3, −2, −1, 0, 1, 2, 3 and Y = X², so Y = 9, 4, 1, 0, 1, 4, 9. Y is completely determined by X, yet:
- x̄ = 0 and ȳ = 28 / 7 = 4.
- Products (xᵢ − 0)(yᵢ − 4): −3 × 5 = −15, −2 × 0 = 0, −1 × −3 = 3, 0 × −4 = 0, 1 × −3 = −3, 2 × 0 = 0, 3 × 5 = 15.
- Sxy = −15 + 0 + 3 + 0 − 3 + 0 + 15 = 0, so r = 0 / √(28 × 84) = 0.
The left half of the parabola slopes down and the right half slopes up, and the two cancel. The SciPy documentation makes the same point with y = abs(x) for standard normal x: “Correlation can even be zero when there is a very simple dependence structure”, and “no correlation does not imply independence unless (x, y) is jointly normal.”
Worked example 3: a horizontal line (r is undefined)
If Y is the same value for every observation, say Y = 4 throughout, then every deviation (yᵢ − ȳ) is 0, so Syy = 0 and the denominator √(Sxx × Syy) is 0. Division by zero means r is undefined, not zero. This is the case OpenStax describes, where a horizontal line shows no relationship. Statistical software typically returns NaN or a warning rather than a number.
Interpretation: reading the result
| What you see | What it means | Source or computation |
|---|---|---|
| Shapeless cloud, r near 0, large p-value | No evidence of a linear association; Y is not predictable from X | NIST scatter plot, no relationship; example 1 |
| Clear curve or U shape, r = 0 | No linear correlation, but the variables are related | Example 2; SciPy documentation |
| Flat horizontal line | No relationship; r cannot be computed | OpenStax 12.2; example 3 |
| Small non-zero r, p above your threshold | Consistent with chance; not evidence of a relationship | Example 1 |
How large must r be before it stops looking like “no correlation”? The smallest |r| that reaches p below 0.05 (two-tailed) depends on sample size, computed from r = t / √(t² + df):
| Pairs (n) | df = n − 2 | Critical |r| at α = 0.05 |
|---|---|---|
| 10 | 8 | 0.632 |
| 20 | 18 | 0.444 |
| 30 | 28 | 0.361 |
| 100 | 98 | 0.197 |
With ten pairs, an r of 0.60 is still within what chance produces; with a hundred pairs, 0.20 is not. The SciPy documentation describes the p-value as roughly the probability of an uncorrelated system producing datasets with a Pearson correlation at least as extreme as the one computed, with a null hypothesis of “uncorrelated and normally distributed” data.
Assumptions and common mistakes
- Treating r = 0 as independence. Example 2 shows a deterministic relationship with r = 0. Independence follows from zero correlation only under special conditions such as joint normality (SciPy documentation).
- Not plotting first. A scatter plot separates the three cases above; the number alone cannot.
- Treating a non-significant r as proof of no effect. A small sample cannot detect a modest correlation (see the critical values table).
- Using Pearson on monotonic but non-linear data. A rank-based measure may be more suitable; see Spearman rank correlation and monotonic relationships.
- Reading correlation as causation or its absence as absence of cause. See correlation vs causation.
How to report no correlation (APA example)
Report r, the degrees of freedom in parentheses, and the exact p-value, without a leading zero for r and p (both cannot exceed 1). For example 1: There was no significant linear association between X and Y, r(6) = .08, p = .84. If a plot suggests a curve, say so in the sentence: The relationship was non-linear; the linear correlation was r(5) = .00.
How to calculate it in Excel, R or Python
Excel
=CORREL(A2:A9, B2:B9)
R
x = 1:8 y = c(5, 2, 7, 3, 6, 2, 7, 4) cor.test(x, y) # r = 0.085, df = 6, p = 0.84
Python
from scipy.stats import pearsonr x = [1, 2, 3, 4, 5, 6, 7, 8] y = [5, 2, 7, 3, 6, 2, 7, 4] r, p = pearsonr(x, y) # r = 0.085, p = 0.84
The same functions return 0 for the parabola in example 2 (x from −3 to 3, y = x squared). For a full matrix of coefficients see how to read a correlation matrix, or Pearson correlation in SPSS.
FAQ
What is an example of no correlation?
Two variables with no shared pattern, such as the X and Y values in example 1, where r = 0.085 and p = 0.84. Any pair of unrelated measurements will show a small, chance-driven r.
Does zero correlation mean no relationship?
No. Zero correlation means no linear association. Y = X² has r = 0 yet Y is fully determined by X.
What does a scatter plot with no correlation look like?
A shapeless cloud with no upward or downward drift, which NIST describes as an amorphous, non-structured pattern. A horizontal line also shows no relationship, although r is undefined for it.
Is a correlation of 0.1 no correlation?
It depends on sample size. With about 100 pairs the critical |r| is 0.197, so 0.1 would not be significant at the 0.05 level; with a much larger sample it could be.
Is zero correlation the same as independence?
Not in general. Independence implies zero correlation, but the reverse holds only in special cases such as jointly normal variables.
Sources
- NIST/SEMATECH e-Handbook of Statistical Methods, “Scatter Plot: No Relationship”: https://www.itl.nist.gov/div898/handbook/eda/section3/scatter1.htm (date checked 2026-10-29).
- OpenStax, Introductory Statistics 2e, section 12.2 Scatter Plots: https://openstax.org/books/introductory-statistics-2e/pages/12-2-scatter-plots (date checked 2026-10-29).
- SciPy documentation, scipy.stats.pearsonr: https://docs.scipy.org/doc/scipy/reference/generated/scipy.stats.pearsonr.html (date checked 2026-10-29).
Worked numbers on this page were computed from the data shown and verified with SciPy.








