Correlation Is Not Causation: Using a Correlation Matrix Without Fooling Yourself
Spurious correlations, confounders, and outlier-driven r values: how to use a correlation matrix for hypothesis generation without fooling yourself.
Every analytics tool eventually shows you a correlation matrix, and every correlation matrix eventually shows you r = 0.85 between two metrics that have no business relationship at all. The number is real. The conclusion you'll be tempted to draw is not. Here's how to use pairwise correlations as the hypothesis-generation tool they are — and the specific traps that make them the most misread statistic in business.
What r Actually Measures
Pearson's correlation coefficient measures linear co-movement, nothing more. r = 0.9 between ad spend and revenue means the two series rise and fall together in a roughly straight-line pattern. It says nothing about which causes which, whether a third variable drives both, or whether the relationship is an artifact. Values near ±1 are tight linear relationships; values near 0 mean no linear relationship — a perfect U-shaped curve also yields r ? 0.
Trap 1: The Confounder
The classic business case: ice cream sales and drowning deaths correlate strongly. Neither causes the other; summer drives both. The business version is everywhere. Ad spend and revenue correlate at r = 0.8 — but you raised ad spend because it was the holiday season, and the season drives both. Discount depth and order volume correlate — but discounts run when inventory is high and demand is already shifting. Before celebrating or panicking over any strong correlation, ask: what calendar event, campaign, or market force moves both of these?
Trap 2: Spurious Correlation in Trending Series
This one fools careful people. Take any two metrics that both trend upward over time — your headcount and your cloud bill, or any two growing SaaS metrics — and they will correlate strongly even if completely unrelated. With 12 monthly points, two independent random walks can easily produce r = 0.9. The math: correlation on trending series mostly measures "both went up," which is almost content-free. If you want to know whether two trending metrics are genuinely linked, correlate their period-over-period changes instead of their levels. If ad spend changes and revenue changes still co-move, you have something worth investigating.
Trap 3: One Point Driving the Number
Pearson's r is exquisitely sensitive to outliers. Picture 20 stores with revenue and marketing spend scattered with no relationship (true r ? 0.1), plus one flagship store that's 10x bigger on both axes. That single point drags the computed r to 0.9+. The matrix cell looks like a discovery; it's one row of your CSV. Always pair a correlation reading with a scatter plot or at least an outlier check — z-score or IQR flags on both columns — before repeating the number out loud.
Trap 4: Fishing in the Matrix
A correlation matrix over 10 numeric columns contains 45 pairwise cells. At a "significant if p < 0.05" standard, you'd expect about 2 of those cells to look significant by pure chance even if nothing is related. If your workflow is "scan the matrix, find the biggest r, build a narrative around it," you are mining noise with extra steps. The matrix is for checking hypotheses you already have and for surfacing relationships worth a second, independent look — not for generating conclusions in one pass.
Using the Matrix Responsibly
Our tooling renders the full pairwise matrix with cells shaded by strength — strong positive (r ? 0.7), moderate (r ? 0.4), and the negative equivalents — and surfaces the single strongest pair as an insight. Used well, the workflow is:
- Sanity check: metrics you expect to correlate (orders and revenue) should. If they don't, suspect data quality before anything else.
- Flag candidates: a strong, unexpected correlation earns a scatter plot and a confounder hunt, not a slide in the board deck.
- De-trend: for time-stamped metrics, correlate the deltas, not the levels.
- Verify out-of-sample: a real relationship holds on next month's data. A spurious one evaporates.
Correlation is the cheapest statistical signal there is, and you get what you pay for. Treat r as a pointer — "look here" — and it will save you hours. Treat it as evidence, and it will eventually make you defend a chart of two random walks.