# Коефіцієнт кореляції: як дві метрики рухаються разом

> Як виміряти спільний рух двох метрик коефіцієнтом кореляції (Пірсона і Спірмена) і чому саме по собі це нічого не доводить про причину.

- Курс: [Статистика для продакт-менеджерів і маркетологів](https://productovi.com/uk/courses/statistics-for-pm-and-marketers.md)
- Модуль: Зв'язки
- Урок 17/24, ~45 хв
- Джерело: https://productovi.com/uk/courses/statistics-for-pm-and-marketers/correlation

## Чи взагалі працює реклама?

**Alex Tutor:** Доброго ранку. Пам'ятаєш своє питання минулого тижня: чи справді збільшення бюджету на рекламу дає Котокорму більше замовлень? Слушне питання для продуктової команди. Перевіримо це цифрами, а не відчуттями.

**Sofia:** Хіба це не очевидно? Більше грошей — більше замовлень. Питання закрите, так?

**Alex Tutor:** В аналітиці нічого не буває «очевидним», поки не подивишся на дані. Візьмемо десять тижнів рекламних витрат і замовлень із реклами, а наприкінці ти опишеш їхній зв'язок одним числом — коефіцієнтом кореляції.

![Мультяшний кіт біля ноутбука: з одного боку помаранчевий мегафон розсипає монети, з іншого стоять коробки корму, між ними пунктирна стежка.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/correlation-illustration-2.webp)

*Питання дня: коли Котокорм витрачає більше на рекламу, чи зростають замовлення?*

**Набір даних (CSV):** [Тижневі рекламні витрати Котокорму та замовлення з реклами](https://productovi.com/datasets/statistics-for-pm-and-marketers/correlation/catchow-ad-spend-orders.csv)

Десять тижнів рекламних витрат і замовлень, віднесених до реклами. Синтетичні дані, створені для цього курсу; використовуються і в наступному уроці.

- `week`: Номер тижня
- `ad_spend_usd`: Тижневі витрати на рекламу, USD
- `orders_from_ads`: Замовлення, віднесені до реклами того тижня

**Alex Tutor:** Кожен рядок — це один тиждень: скільки витратили на рекламу і скільки замовлень тому тижню зарахувала реклама.

**Sofia:** То я просто... дивлюся оком, чи воно зростає?

**Рекламні витрати й замовлення з реклами за 10 тижнів**

| Рекламні витрати, USD | Замовлення з реклами |
| --- | --- |
| 200 | 20 |
| 300 | 23 |
| 350 | 30 |
| 400 | 28 |
| 450 | 36 |
| 500 | 33 |
| 550 | 42 |
| 600 | 38 |
| 650 | 48 |
| 700 | 44 |

*Кожна крапка — один тиждень. Замовлень зазвичай більше в тижні з більшими рекламними витратами, але крапки не лежать на ідеальній прямій.*

**Alex Tutor:** Це діаграма розсіювання: одна крапка на тиждень, витрати по осі x, замовлення по осі y. Шукай загальний напрямок, а не ідеальну пряму.

**Sofia:** Гаразд, вона явно піднімається вгору й праворуч. То це Ж пряма — більше витрат завжди означає більше замовлень!

**Alex Tutor:** Майже, але не зовсім. Крапки дрейфують угору, зі справжнім розсіюванням навколо цього дрейфу. Саме цей дрейф ми зараз точно виміряємо.

> **Вправа:** Котокорм наніс 10 тижнів реклами на діаграму розсіювання: рекламні витрати по осі x, замовлення з реклами по осі y, одна крапка на тиждень. Ось ці крапки:
>
> | Тиждень | Рекламні витрати, USD | Замовлення з реклами |
> |---|---|---|
> | 1 | 200 | 20 |
> | 2 | 300 | 23 |
> | 3 | 350 | 30 |
> | 4 | 400 | 28 |
> | 5 | 450 | 36 |
> | 6 | 500 | 33 |
> | 7 | 550 | 42 |
> | 8 | 600 | 38 |
> | 9 | 650 | 48 |
> | 10 | 700 | 44 |
>
> Яке твердження найкраще описує візерунок?

**Alex Tutor:** Правильно — дрейф із розсіюванням. Тепер нам потрібне одне число, яке відображає і напрямок, і силу цього дрейфу.

## Як обчислити коефіцієнт кореляції

**Sofia:** А як взагалі порахувати таке число?

**Alex Tutor:** Для кожного тижня беремо, наскільки витрати відхиляються від свого середнього, і наскільки замовлення відхиляються від свого — по два відхилення на тиждень.

**Alex Tutor:** Перемножуємо ці два відхилення для кожного тижня. Якщо обидва зазвичай додатні разом (або обидва від'ємні разом), добуток додатний.

$$
\text{cov}(x,y) = \frac{1}{n-1}\sum_{i=1}^{n}(x_i-\bar{x})(y_i-\bar{y})
$$

*Коваріація: середній добуток відхилень. Додатна означає, що змінні мають тенденцію рухатися разом; від'ємна — що в протилежних напрямках.*

**Sofia:** А якщо в одні тижні один напрямок, а в інші — інший? Хіба плюси й мінуси просто не скасують одне одного?

**Alex Tutor:** Якщо зв'язок реальний, після підсумовування за всі тижні один знак переважає. Якби витрати й замовлення були непов'язані, сума опинилася б близько нуля.

![Дві пари котів на гойдалках: ліворуч обидва злітають разом, праворуч один піднімається, коли інший опускається.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/correlation-illustration-3.webp)

*Коваріація питає одне: чи метрики здебільшого зростають і падають разом, чи навпаки?*

> **Вправа:** Якби рекламні витрати й замовлення з реклами були зовсім непов'язані, сума добутків відхилень за всі тижні опинилася б близько нуля.

**Alex Tutor:** Коваріація працює, але її одиниці — суцільна плутанина: долари, помножені на замовлення. Виправляємо це, поділивши на розкид обох змінних.

$$
r = \frac{\sum (x_i-\bar{x})(y_i-\bar{y})}{\sqrt{\sum (x_i-\bar{x})^2 \sum (y_i-\bar{y})^2}}, \quad -1 \le r \le 1
$$

*Коефіцієнт кореляції Пірсона (r): коваріація, стандартизована до фіксованої шкали від -1 до 1, незалежно від одиниць виміру.*

**Alex Tutor:** r = 1 — ідеальна пряма з додатним нахилом, r = -1 — ідеальна пряма з від'ємним, r = 0 — жодного лінійного зв'язку.

**Alex Tutor:** Перш ніж говорити, що вважати сильним, коротка перевірка: що це ділення робить з одиницями виміру.

> **Вправа:** Якби Котокорм записував тижневі рекламні витрати в гривнях, а не в доларах, коефіцієнт кореляції Пірсона між витратами й замовленнями з реклами змінився б.

**Sofia:** То яке r вважається «добрим» у реальному житті?

> **Орієнтир для |r|**
>
> Менше 0,3: слабкий. 0,3-0,7: помірний. Понад 0,7: сильний. Ці межі неформальні й залежать від галузі — завжди дивись і на діаграму розсіювання.

**Alex Tutor:** Одна пастка з цими межами: мінус часто читають як «слабкий». Спробуй ось це.

> **Вправа:** У різних містах, де працює Котокорм, середній час доставки й частка клієнтів, які замовляють повторно, мають r = −0,8. Яке прочитання **правильне**?

**Alex Tutor:** Потренуємося на невеликому прикладі, перш ніж братися за справжній набір даних.

> **Вправа:** П'ять сторінок товарів Котокорму показують від 1 до 5 відгуків покупців. Їхні конверсії (%): 1 відгук -> 9%, 2 -> 8%, 3 -> 10%, 4 -> 11%, 5 -> 12%. Обчисли коефіцієнт кореляції Пірсона r між кількістю відгуків і конверсією.

**Alex Tutor:** Чудово — і так, це r = 0,9 справді сильне. Проте реальні бізнес-дані рідко бувають такими охайними.

**Sofia:** Тобто дані про рекламні витрати не будуть такими чистими?

**Alex Tutor:** Швидше за все, ні — десять тижнів включають свята, дії конкурентів, відсутність товару. Порахуймо r на реальному наборі даних вище й подивимось.

**Alex Tutor:** Та сама формула, просто десять тижнів замість п'яти точок. Функція `CORREL()` у таблиці порахує все за тебе.

**Sofia:** Уже рахую.

> **Вправа:** За набором даних **Тижневі рекламні витрати Котокорму та замовлення з реклами** обчисли коефіцієнт кореляції Пірсона r між ad_spend_usd і orders_from_ads.

**Alex Tutor:** Сильний додатний зв'язок, підтверджений реальними цифрами. Але перш ніж бігти казати фінансовому директору «реклама спричиняє замовлення» — не поспішай.

**Sofia:** Стривай, чому ні? Це ж величезне r!

**Alex Tutor:** Велике r лише каже, що дві величини рухаються разом. Воно ніколи не каже, яка з них — якщо взагалі якась — спричиняє іншу.

## Чотири способи, якими кореляція може обманути

**Alex Tutor:** Пряма причинність — один варіант: більші витрати справді купують більше замовлень. Але можлива й зворотна причинність — задоволені покупці пишуть більше відгуків; відгуки не роблять їх задоволеними.

**Alex Tutor:** Ще буває змішувальний чинник: щось інше рухає обома величинами. Під час флеш-розпродажів сайт гальмує І замовлення злітають — розпродаж спричинив обидва, а не одне інше.

![Помаранчевий цінник розпродажу посилає стрілки до ноутбука, що повільно вантажиться, і до купи коробок із замовленнями; між ними стрілки немає.](https://productovi.com/courses/statistics-for-pm-and-marketers/inline/correlation-illustration-4.webp)

*Змішувальний чинник: розпродаж і гальмує сайт, і піднімає замовлення, тож вони рухаються разом без причинного зв'язку.*

**Sofia:** То як мені визначити, який саме варіант, тільки з графіка?

**Alex Tutor:** Зазвичай ніяк, лише з кореляції. Саме тому й існують контрольовані експерименти — один такий ти проведеш у модулі 3.

> **Змішувальний чинник**
>
> Третій чинник, що впливає і на гадану причину, і на гаданий наслідок, створюючи кореляцію, яка насправді не про жодне з них.

> **Вправа:** Зістав кожен сценарій із поясненням, яке йому найкраще підходить.

## Кореляція Пірсона чи Спірмена

**Alex Tutor:** Гарна інтуїція. Перш ніж перейти до списку перевірки, ще один інструмент. Твій r — це коефіцієнт кореляції Пірсона, і в нього є слабке місце: один дивний тиждень може сильно його зсунути.

**Sofia:** А наскільки дивним має бути тиждень?

**Alex Tutor:** Припустімо, у 5-му тижні про Котокорм згадує фудблогер, а система атрибуції записує рекламі 120 замовлень замість 36. r Пірсона падає з 0,95 приблизно до 0,26. Один нетиповий тиждень — і сильний зв'язок майже зникає.

**Alex Tutor:** Рангова кореляція Спірмена це виправляє. Заміни кожне значення його рангом: 1 для найменшого, 10 для найбільшого. Потім порахуй r Пірсона на рангах. Величезний тиждень стає просто рангом 10, хай яким великим він був.

**Alex Tutor:** З тижнем блогера коефіцієнт Спірмена тримається на 0,78. На справжніх десяти тижнях обидва коефіцієнти дають 0,95, бо викидів там немає. Бери Спірмена, коли метрика скошена (як-от сума замовлення), має викиди або стабільно зростає, але не по прямій.

**Alex Tutor:** То яке число ти поставиш у звіт для версії даних із тижнем блогера?

> **Вправа:** Котокорм порівнює десять тижнів рекламних витрат і замовлень із реклами. Одного тижня про магазин згадав блогер, і рекламі зарахували 120 замовлень замість приблизно 36. Пірсон дає r ≈ 0,26, а Спірмен — ρ ≈ 0,78. Яке число краще описує, як витрати й замовлення зазвичай рухаються разом?

**Sofia:** Отже, Пірсон — для чистих даних і прямої лінії, Спірмен — коли дані безладні. Ще щось, перш ніж довіряти кореляції?

**Alex Tutor:** Просто список перевірки: чи є правдоподібний змішувальний чинник? Чи може стрілка вказувати в інший бік? Чи достатня вибірка, щоб виключити випадковість? Чи розв'яже питання експеримент?

**Sofia:** Гаразд, чотири запитання, перш ніж довіряти будь-якій кореляції. Зрозуміло.

> **Вправа:** Перш ніж довіряти сильній кореляції між рекламними витратами й замовленнями, які перевірки варто зробити? Обери всі, що підходять.

## Перш ніж казати фінансовому директору

**Alex Tutor:** Хороший список. Тепер сформулюй це словами — уяви, що пояснюєш це комусь, хто не бачив цей чат.

**Sofia:** Мені писати цілий твір?

**Alex Tutor:** Ні — кілька чесних речень кращі за довге, яке ухиляється від суті.

**Alex Tutor:** Ось твоє перше завдання.

> **Вправа:** Колега каже: «У замовлень і рекламних витрат r = 0,95, тож більші витрати спричиняють більше замовлень. Потроїмо бюджет». Що не так із цим міркуванням і що варто перевірити спершу? Відповідь — 2-4 речення.

**Alex Tutor:** Гарна інтуїція — побоювання щодо екстраполяції тут якраз доречне. Тепер до справжньої рекомендації.

**Sofia:** Ну звісно, ніякого тиску.

**Alex Tutor:** У тебе є все потрібне: графік, r і чотири способи, якими кореляція може ввести в оману. Користуйся ними.

**Alex Tutor:** Ось сценарій.

> **Вправа:** Напиши свою рекомендацію керівництву Котокорму щодо зв'язку між рекламними витратами й замовленнями.

**Alex Tutor:** Гарна робота сьогодні. Коефіцієнт кореляції каже нам, наскільки сильно дві речі рухаються разом. Наступного разу — регресія, яка точно скаже, скільки замовлень купує кожен зайвий долар.

- Попередній урок: [ANOVA з повторними вимірюваннями](https://productovi.com/uk/courses/statistics-for-pm-and-marketers/repeated-measures.md)
- Наступний урок: [Проста лінійна регресія](https://productovi.com/uk/courses/statistics-for-pm-and-marketers/linear-regression.md)

---
Productovi Learning. Безкоштовно, читати можна без реєстрації.
