Теорія
Коефіцієнт кореляції: як дві метрики рухаються разом
Як виміряти спільний рух двох метрик коефіцієнтом кореляції (Пірсона і Спірмена) і чому саме по собі це нічого не доводить про причину.
~10 хв читання · 11 вправ · 250 балів
Перед початком
Більше грошей на рекламу — більше замовлень?
Новий модуль у продуктовій команді Котокорму — про те, як метрики пов'язані між собою. Минулого тижня постало запитання: чи справді більший рекламний бюджет дає більше замовлень. Звучить очевидно, але на даних цього ніхто не перевіряв.
У цьому уроці ти візьмеш десять тижнів рекламних витрат і замовлень, побудуєш графік і зведеш те, наскільки тісно вони рухаються разом, до одного числа — коефіцієнта кореляції, пам'ятаючи, чого він довести не може.
Як читати діаграму розсіювання
Діаграма розсіювання — перше, що варто побудувати, коли підозрюєш зв'язок між двома метриками. Кожна крапка — одне спостереження, тут один тиждень: рекламні витрати по осі x, замовлення з реклами по осі y.

Читай її в три проходи:
- напрямок. Крапки піднімаються зліва знизу вправо вгору (додатний зв'язок), опускаються (від'ємний) чи не мають нахилу взагалі?
- форма. Вони йдуть приблизно прямою смугою, кривою чи окремими скупченнями?
- розкид. Наскільки щільно вони тримаються смуги? Вузька смуга — сильний зв'язок, розмита хмара — слабкий.
Реальні дані майже ніколи не лежать на ідеальній прямій. За десять тижнів Котокорму крапки явно дрейфують угору, але в тижні 4 витрати були більші, ніж у тижні 3, а замовлень менше. Це нормально: свята, брак товару й конкуренти додають шуму. Закономірність звучить як «більші витрати зазвичай супроводжуються більшими замовленнями», а не «кожен долар дає однакову кількість замовлень».
Дані графіка
| Рекламні витрати, USD | Замовлення з реклами |
|---|---|
| 200 | 20 |
| 300 | 23 |
| 350 | 30 |
| 400 | 28 |
| 450 | 36 |
Показати ще 5 рядків
| 500 | 33 |
| 550 | 42 |
| 600 | 38 |
| 650 | 48 |
| 700 | 44 |
Малюй графік до будь-яких обчислень: одне число може сховати криву чи викид, які око помітить одразу.
- Так«Тижні з більшими витратами зазвичай дають більше замовлень, кілька тижнів випадають із тенденції.»
Напрямок, сила й винятки в одному реченні.
- Не так«Крапки йдуть угору, тож кожні додаткові 100 дол. дають однаково замовлень.»
Сприймає шумний дрейф як ідеальну пряму.
Коваріація: чи рухаються метрики разом?
Коваріація перетворює нахил діаграми розсіювання на число. Для кожного тижня беремо два відхилення: наскільки витрати відрізняються від свого середнього (x − x̄) і наскільки замовлення відрізняються від свого (y − ȳ). Перемножуємо їх.
Графік: Рекламні витрати й замовлення з реклами за 10 тижнів · є вище
- Обидва вище середнього або обидва нижче: добуток додатний.
- Одне вище, а друге нижче: добуток від'ємний.

Додаємо добутки й ділимо на n − 1. Якщо метрики зростають і падають разом, переважають додатні добутки й коваріація додатна. Якщо одна зростає, коли друга падає, — від'ємна. Якщо вони непов'язані, добутки мають різні знаки, і сума опиняється близько нуля.
Для десяти тижнів Котокорму сума добутків — 12 460, явно додатна, тож коваріація — 12 460 / 9 ≈ 1 384.
Слабке місце — одиниці виміру. Коваріацію вимірюють у доларах × замовлення, тож її розмір залежить від масштабу: запиши витрати в центах — і вона виросте в сто разів, хоча насправді нічого не змінилося. Тому коваріація показує напрямок, але не силу зв'язку.
- ТакСума добутків відхилень = +12 460 → витрати й замовлення зазвичай рухаються разом.
- Не так«Коваріація — 1 384, отже, зв'язок дуже сильний.»
Розмір коваріації залежить від одиниць; читати можна лише її знак.
r Пірсона: коваріація без одиниць виміру
Коефіцієнт кореляції Пірсона розв'язує проблему одиниць коваріації: її ділять на розкид обох змінних:
r = Σ(x − x̄)(y − ȳ) / √[Σ(x − x̄)² × Σ(y − ȳ)²]
Долари й замовлення скорочуються, і лишається чисте число від −1 до 1:
- r = 1: усі крапки на прямій, що зростає;
- r = −1: усі крапки на прямій, що спадає;
- r = 0: немає лінійного зв'язку.
Оскільки r не має одиниць, зміна масштабу змінної його не зсуває. Витрати в доларах, гривнях чи центах, замовлення поштучно чи дюжинами: r той самий. Додавання сталої теж нічого не змінює. Саме тому r можна порівнювати між метриками й командами.
Два обмеження. r вимірює лише прямолінійні зв'язки: U-подібний зв'язок, коли і дуже малі, і дуже великі значення йдуть із малими замовленнями, може дати r близько 0. І r нічого не каже про нахил: r = 0,95 не повідомляє, скільки замовлень купує кожен долар. Це робота регресії з наступного уроку.
- ТакВитрати в дол. чи в гривнях: r ≈ 0,95 в обох випадках.
r не має одиниць виміру.
- Не так«r = 0,95, тож кожен додатковий долар дає 0,95 замовлення.»
r — це не нахил.
Знак — це напрямок, розмір — це сила
Читай r у два окремі кроки.
- Знак показує напрямок. Плюс означає, що метрики зазвичай зростають разом; мінус — що одна зазвичай падає, коли інша зростає. Мінус не означає «погано» чи «слабко»: час доставки й повторні замовлення, що рухаються в протилежних напрямках, — саме те, чого варто очікувати.
- Відстань від нуля показує силу. Дивись на |r|, значення без знака. r = −0,8 і r = 0,8 однаково сильні.
Поширений орієнтир для |r|:
- менше 0,3: слабкий;
- від 0,3 до 0,7: помірний;
- понад 0,7: сильний.
Ці межі неформальні. В охайних продуктових даних (перегляди сторінок і сесії) 0,7 може бути буденним; у шумних поведінкових (бали опитування й витрати) 0,4 може бути цінною знахідкою. І навіть сильне r лише описує, як дві метрики рухаються разом у цих даних: воно не каже, яка з них, якщо взагалі якась, керує іншою.
У реченні називай обидві частини: «сильний від'ємний зв'язок: у повільніших містах зазвичай менше повторних клієнтів».
- Такr = −0,8: сильний, від'ємний.
- Не такr = −0,8 слабший за r = 0,3, бо менший за нуль.
Порівнює значення зі знаком замість |r|.
Як обчислити r вручну
На невеликих даних r можна порахувати за п'ять кроків. Візьмімо п'ять сторінок товарів з 1–5 відгуками й конверсією 9, 8, 10, 11 і 12%.
- Середні. Відгуки: x̄ = 3. Конверсія: ȳ = 10.
- Відхилення. Відгуки: −2, −1, 0, 1, 2. Конверсія: −1, −2, 0, 1, 2.
- Добутки відхилень, потім сума: 2 + 2 + 0 + 1 + 4 = 9.
- Суми квадратів. Відгуки: 4 + 1 + 0 + 1 + 4 = 10. Конверсія: 1 + 4 + 0 + 1 + 4 = 10.
- Ділення. r = 9 / √(10 × 10) = 9 / 10 = 0,9.
У знаменнику корінь із добутку двох сум квадратів. Часта помилка — додати їх або забути корінь: 9 / 100 = 0,09 виглядає як «немає зв'язку», хоча насправді він сильний.
Допомагає перевірка на здоровий глузд: r ніколи не виходить за межі від −1 до 1. Якщо вийшло 1,4 чи −2, помилка десь у кроках 3–5.
- Такr = 9 / √(10 × 10) = 0,9
- Не такr = 9 / (10 × 10) = 0,09
Забуто корінь, і сильний зв'язок перетворюється на «жодного».
r на справжніх даних
На справжніх даних кроки ті самі, просто арифметику робить таблиця. Для десяти тижнів Котокорму:
Набір даних · 10 рядків
Тижневі рекламні витрати Котокорму та замовлення з реклами
Десять тижнів рекламних витрат і замовлень, віднесених до реклами. Синтетичні дані, створені для цього курсу; використовуються і в наступному уроці.
Перші 5 з 10 рядків
- середні витрати x̄ = 470 дол., середні замовлення ȳ = 34,2;
- сума добутків відхилень = 12 460;
- сума квадратів відхилень витрат = 231 000; сума квадратів відхилень замовлень = 749,6;
- r = 12 460 / √(231 000 × 749,6) ≈ 12 460 / 13 159 ≈ 0,95.
У таблиці CORREL(діапазон витрат; діапазон замовлень) дає ті самі 0,95.
Як про це повідомити: «сильний додатний лінійний зв'язок за десять тижнів». Три звички роблять число чесним:
- кажи, на чому. r описує ці десять тижнів і діапазон витрат 200–700 дол. Про 2 000 дол. на тиждень він не каже нічого;
- згадуй винятки. Тиждень 4 випав із тенденції; хто подивиться на графік, це побачить;
- пам'ятай про n. Десять точок — мала вибірка. Сильне r на десяти точках варто сприймати серйозно, але один незвичний тиждень усе ще може його помітно зсунути.
Графік: Рекламні витрати й замовлення з реклами за 10 тижнів · є вище
Не менш важливо, чого r не каже: це не нахил і не доказ, що реклама спричиняє замовлення.
- Так«r ≈ 0,95 за десять тижнів із витратами 200–700 дол.: сильний додатний зв'язок.»
- Не так«r = 0,95, тож за 2 000 дол. на тиждень замовлення зростатимуть так само.»
Розтягує r далеко за межі даних, з яких його отримано.
Чотири пояснення однієї кореляції
Коли дві метрики рухаються разом, ту саму діаграму розсіювання можуть дати щонайменше чотири історії:
- пряма причинність. A змінює B. Це показує контрольований тест ціни: ціну піднімають для випадкової половини відвідувачів і бачать там менше замовлень;
- зворотна причинність. B змінює A. Клієнти з довгим стажем ставлять вищий NPS, але, можливо, це довге користування робить продукт милішим, а не навпаки;
- змішувальний чинник. Третя змінна керує обома. Флеш-розпродаж дає сплеск трафіку, який і гальмує сайт, і породжує запити на повернення; повільний сайт і повернення корелюють, хоча одне не спричиняє іншого;
- випадковість. За короткий період дві непов'язані послідовності можуть збігтися випадково, як сон офісного кота й щоденні замовлення за один місяць.

Коефіцієнт кореляції однаковий у всіх чотирьох випадках, тож розрізнити їх він не може. Допомагають знання поза даними (що ще змінилося?), час (що сталося раніше?), більше даних (чи повторюється це?) і найкраще — контрольований експеримент, де ти сам випадково змінюєш A і стежиш за B.
- Так«Час завантаження й повернення зростають разом у дні розпродажів; розпродаж — імовірний змішувальний чинник.»
- Не так«Повільні сторінки змушують людей просити повернення, тож пришвидшимо сайт, щоб їх зменшити.»
Обирає пряму причинність, не виключивши спільного чинника.
Пірсон чи Спірмен
r Пірсона будується з відхилень від середнього, тож одне крайнє значення може ним заволодіти. Припустімо, у 5-му тижні про Котокорм згадує блогер, і реклама отримує 120 замовлень замість 36. r Пірсона падає з 0,95 приблизно до 0,26, хоча дев'ять тижнів із десяти й далі охайно зростають разом із витратами.
Коефіцієнт рангової кореляції Спірмена (ρ) — стійка альтернатива:
- Заміни кожне значення його рангом: 1 для найменшого, n для найбільшого (однакові значення отримують середній ранг).
- Порахуй r Пірсона на рангах.
Тиждень блогера тепер стає просто рангом 10, хай яким великим він був, і ρ тримається приблизно на 0,78. На чистих десяти тижнях обидва коефіцієнти дають 0,95.
Спірмен також вимірює будь-яке стабільне зростання чи спадання, не лише пряму, тож підходить для зв'язку, що зростає, а потім вирівнюється.
Бери Спірмена, коли метрика скошена (сума замовлення, дохід на користувача), має викиди або порядкова (оцінка 1–5). Пірсона — для приблизно симетричних даних із прямолінійним візерунком. В обох випадках поглянь на сам дивний тиждень: викид часто найцікавіший рядок у таблиці.
- ТакОдин крайній тиждень у даних → повідомити ρ Спірмена ≈ 0,78 і розібратися з тим тижнем.
- Не так«r упав до 0,26, отже, реклама перестала працювати.»
r Пірсона зсунув один викид, а не інші дев'ять тижнів.
Список перевірки, перш ніж довіряти кореляції
Сильна кореляція — привід дослідити, а не висновок. Перш ніж діяти, зроби чотири перевірки:
- Чи є правдоподібний змішувальний чинник? Чи зростали витрати в ті самі тижні, що й сезонний пік, акція чи брак товару в конкурента? Якщо так, частину роботи може робити цей третій чинник.
- Чи може стрілка вказувати навпаки? Іноді результат керує «причиною»: команда, що бачить зростання замовлень, може у відповідь підняти рекламний бюджет.
- Чи досить велика вибірка, щоб виключити випадковість? Десять точок випадково збігаються значно легше, ніж сто. Чи повторюється закономірність в іншому періоді?
- Чи розв'яже питання експеримент? Якщо рішення дороге, зміни витрати сам: більший бюджет у випадково обраних регіонах чи тижнях, звичайний — в інших, і порівняй.
Зверни увагу, чого в списку немає: порогу для r. Немає значення, навіть 0,99, вище за яке кореляція стає причинністю. Високе r лише каже, що закономірність стабільна; перевірки підказують, чому вона може бути.
- Так«r = 0,95. Далі: перевірити, що ще змінювалося в тижні з великими витратами, а тоді протестувати додатковий бюджет у кількох регіонах.»
- Не так«r понад 0,7, отже, причинність доведено.»
Жодне значення r не доводить причинності.
Готові потренуватися?
Виконайте вправи уроку й отримайте 250 балів, коли пройдете його вперше.
Розпочати вправи