The request

From Jordan Reyes, Head of Marketing
Your goal
Choose the most accurate reply to Jordan.
Each measure's normal month (January–October) is 100. In November and December spend averages 171 and revenue 197: both jump together, every year.
Show the numbers
| Marketing spend | Revenue | |
|---|---|---|
| Jan–Oct | 100 | 100 |
| Nov–Dec | 171 | 197 |
What Jordan gets, and why
The lesson
Correlation is not causation, concretely
Everyone has heard the phrase. The useful part is knowing why two columns can move together without one causing the other, because then you can name the reason in a meeting. There are three common ones:
- A confounder: a third thing drives both columns.
- Reverse causation: the arrow points the other way.
- Chance: with enough columns, some pairs correlate by luck.
The confounder in Harbor & Pine’s numbers
Put monthly marketing spend next to monthly revenue from completed orders, 2023 to 2025:
monthly = pd.DataFrame({"spend": spend_by_month, "revenue": revenue_by_month})
monthly["spend"].corr(monthly["revenue"]) # 0.92
Now split the months:
| spend per month | revenue per month | |
|---|---|---|
| January–October | $33,153 | $141,041 |
| November–December | $56,689 | $277,176 |
Both jump in the holiday season. The holiday rush brings shoppers whatever the budget, and the marketing team knows it, so it plans its biggest spend for exactly those weeks. On top of that both columns grow each year. The season and growth are confounders: they raise spend and revenue at the same time, so the two correlate strongly even if spend added nothing.
Reverse causation hides here too
Budgets are often set as a share of expected sales. When revenue is expected to be high, spend goes up. Part of the arrow runs from revenue to spend, not the other way.
What you can claim, and what would settle it
You can say: “Months with higher spend had higher revenue.” You can’t say how much revenue the spend caused. To find out, change spend on purpose and keep the calendar the same for both groups: pause or cut it in randomly chosen regions or weeks (a holdout or geo test) and compare. That is an experiment, which chapter 3 taught you to read.
Common mistakes
- “0.92 means 92% caused by.” r is not a percentage or a share of anything.
- “More months make it causal.” More data sharpens the correlation; the confounder stays in.
- Removing the season and declaring victory. Outside November and December the correlation is still 0.84, because both columns also grow every year. One confounder removed is not all of them.
Lantern lit!
Practised: correlation vs causationconfounderseasonality
- Solved
- No hints
- First run
