# Кейс: читаємо завершений тест

> Ефект, інтервал, guardrail-метрики і рішення.

- Курс: [Продуктова аналітика: від даних до рішень](https://productovi.com/uk/courses/product-analytics.md)
- Модуль: Чи спрацювала зміна?
- Урок 20/32, ~44 хв
- Джерело: https://productovi.com/uk/courses/product-analytics/reading-a-test

## Через шість тижнів

**Alex Tutor:** Минуло шість тижнів, тест paywall у Halves завершено, і продуктова команда чекає на твоє прочитання.

**Maya:** Тест paywall завершено! Ставлю **«Тріали +74%»** у презентацію для всієї команди.

**Theo:** А на iOS окремо плюс 2 пункти. Може, спершу запустимо там?

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

**Набір даних (CSV):** [Тест paywall Halves: control проти trial_first](https://productovi.com/datasets/product-analytics/reading-a-test/halves-paywall-test.csv)

Користувачі, включені в момент першого перегляду paywall, 3–30 серпня 2026 року; кожного спостерігали 14 днів. Один рядок на тиждень включення, платформу й варіант.

- `enroll_week`: Понеділок тижня, коли користувачі потрапили в тест
- `platform`: ios або android
- `variant`: `control` (поточний paywall) або `trial_first` (починається з 7-денного тріалу)
- `users`: Включені користувачі
- `trials_started`: Користувачі, які почали тріал протягом 14 днів (другорядна)
- `paid_14d`: Користувачі з першою оплатою протягом 14 днів (основна)
- `active_days_8_14`: Користувачі, які додали витрату на 8–14-й день (guardrail)

**Alex Tutor:** Спершу поділ. 6897 користувачів у control, 6792 у trial_first. За призначення 50/50 такий розрив нормальний: перевірка хі-квадрат дає 0,81, значно менше за 3,84. Великий перекіс означав би зламане призначення, і тоді решту не варто й читати.

**Sofia:** А як виглядав би зламаний поділ?

**Alex Tutor:** Щось на кшталт 7400 проти 6300. Зазвичай це баг: один варіант падає на старих телефонах або записує частину користувачів двічі. Його виправляють і перезапускають тест, а не тлумачать результат.

**Alex Tutor:** Переконаймося, що його можна помітити. Тест 50/50, загалом близько 13 700 користувачів.

> **Вправа:** Тест 50/50 набрав близько 13 700 користувачів. Який поділ має змусити тебе **зупинитися й шукати баг**, перш ніж читати будь-яку метрику?

![Двоє терезів: на одних дві майже рівні купки фігурок людей і вони врівноважені, інші різко нахилилися вбік.](https://productovi.com/courses/product-analytics/inline/reading-a-test-illustration-2.webp)

*Спершу перевір поділ: перекошений поділ зазвичай означає баг.*

**Sofia:** Далі основна: сумуємо `paid_14d` і `users` для кожного варіанта й ділимо.

> **Вправа:** Скористайся датасетом тесту paywall Halves (control проти trial_first). Яка частка користувачів **control** оплатила протягом 14 днів? Відповідь у відсотках, до сотих.

## Ефект та його інтервал

**Alex Tutor:** trial_first, ті самі суми: 345 з 6792, тобто 5,08%.

**Sofia:** То ефект — це 5,08 − 3,77 чи 5,08 ÷ 3,77?

**Alex Tutor:** Ефект — це завжди **тест − контроль**, у відсоткових пунктах. Відношення — це відносний приріст, і його треба так і підписувати.

**Theo:** Пункти звучать скромніше, ніж відсотки.

**Alex Tutor:** Саме тому в підсумку завжди пишуть, що мається на увазі.

> **Вправа:** У тесті paywall Halves протягом 14 днів оплатили 260 з 6897 користувачів control і 345 з 6792 користувачів trial_first (основна метрика). Який ефект, **тест − контроль**, у відсоткових пунктах? До сотих.

**Alex Tutor:** Тепер інтервал. Для кожної частки беремо інтервал **Вілсона (Wilson)**. Він добре працює, коли частки малі, як 4%, де проста формула «±» може вводити в оману.

$$
\frac{p + \frac{z^2}{2n} \pm z\sqrt{\frac{p(1-p)}{n} + \frac{z^2}{4n^2}}}{1 + \frac{z^2}{n}}
$$

*95% інтервал Вілсона для частки p = x / n, z = 1,96. Control: від 3,35% до 4,25%. trial_first: від 4,58% до 5,63%.*

**Alex Tutor:** Для різниці поєднуємо два інтервали Вілсона. Кожна межа ефекту бере відповідні відстані від обох часток. Наш [калькулятор результатів A/B-тесту](/uk/tools/abn-test-results) використовує той самий метод.

$$
L = d - \sqrt{(p_T - L_T)^2 + (U_C - p_C)^2}, \quad U = d + \sqrt{(U_T - p_T)^2 + (p_C - L_C)^2}
$$

*Інтервал для d = p_T − p_C (тест − контроль) з інтервалів Вілсона [L_T, U_T] і [L_C, U_C].*

**Sofia:** Тобто для нижньої межі: наскільки trial_first може бути нижчим і наскільки control може бути вищим.

> **Вправа:** У тесті paywall у control оплатили p_C = 3,77% (95% інтервал Вілсона від 3,35% до 4,25%), а в trial_first — p_T = 5,08% (95% інтервал Вілсона від 4,58% до 5,63%), тож ефект d = 1,31 п. п. Два інтервали поєднуються в нижню межу L = d − √((p_T − L_T)² + (U_C − p_C)²). Обчисли **нижню межу** 95% інтервалу для «тест − контроль» у відсоткових пунктах. До сотих.

**Alex Tutor:** Тепер виклади це одним рядком для презентації, так, як його слід цитувати.

> **Вправа:** У тесті paywall Halves частка тих, хто оплатив протягом 14 днів (основна метрика), змінилася з 3,77% у control до 5,08% з paywall, що починається з тріалу. Який головний рядок **правильно** подає цей ефект?

## Потужність, guardrail, правило

**Alex Tutor:** Основна: **+1,31 п. п., 95% інтервал від +0,62 до +2,00 п. п.** Тест розраховували на 6735 користувачів на варіант, щоб помітити +1 п. п., і в обох варіантах набрали більше. Він мав ту потужність, на яку його будували.

![Дві групи стріл у мішені, кожна трохи розкидана, але групи чітко відокремлені одна від одної.](https://productovi.com/courses/product-analytics/inline/reading-a-test-illustration-3.webp)

*Ефект завжди має діапазон; тут увесь діапазон вищий за нуль.*

**Alex Tutor:** Guardrail, `active_days_8_14`: 60,53% у control, 60,60% у trial_first, **+0,07 п. п., інтервал від −1,57 до +1,70 п. п.** Запас був −3 п. п.

![Основний ефект +1,31 п. п. (від +0,62 до +2,00) вище за 0, guardrail вище за −3 п. п., тож paywall запускаємо; лише Android — непевний.](https://productovi.com/courses/product-analytics/diagrams/m5-l4-test-readout-uk.png)

**Sofia:** Отже, це не «жодного впливу на використання». Це «будь-яке падіння менше за те, яке ми погодилися прийняти».

> **Вправа:** Результати тесту paywall Halves із тріалом на початку для всіх користувачів: основна метрика (оплата протягом 14 днів) **+1,31 п. п., 95% інтервал від +0,62 до +2,00 п. п.**; guardrail-метрика (`active_days_8_14`) **+0,07 п. п., інтервал від −1,57 до +1,70 п. п.** За платформами основна метрика становить +2,00 п. п. на iOS і +0,29 п. п. на Android (інтервал від −0,69 до +1,28). Застосуй правило рішення з плану: запускаємо, якщо інтервал основної метрики повністю вище за 0, а інтервал guardrail-метрики вище за −3 п. п. Яке рішення?

## Спокусливі числа

**Maya:** Гаразд, запускаємо. Але чи можу я все ж сказати «тріали +74%»? Звучить набагато краще.

**Alex Tutor:** Це другорядна метрика та ще й відносний приріст. Твердження — це основна метрика: +1,31 п. п., з 3,77% до 5,08%, інтервал від +0,62 до +2,00. Тріали пояснюють, як це спрацювало, а не чи спрацювало.

**Alex Tutor:** Порахуй ефект за тріалами так само, як основний, у пунктах, щоб побачити, що насправді стоїть за «+74%».

> **Вправа:** Скористайся датасетом тесту paywall Halves. Який ефект за **розпочатими тріалами**, тест − контроль, у відсоткових пунктах? До сотих.

**Theo:** А платформи? На iOS +2,00 п. п., на Android +0,29 п. п. з інтервалом від −0,69 до +1,28.

**Alex Tutor:** Тест не розраховували на платформи, а правило стосується всіх користувачів. Інтервал Android містить і 0, **і** +1 п. п.: це непевний результат, а не «немає ефекту». Варто перевірити окремо, але не ухвалювати окреме рішення.

![Хтось тримає один блискучий камінчик, вибраний із купи звичайних, а колега показує на всю купу.](https://productovi.com/courses/product-analytics/inline/reading-a-test-illustration-4.webp)

*Привабливий зріз — не результат; результат — заздалегідь обране головне число.*

**Alex Tutor:** Перш ніж відповідати Theo, перевір його зріз iOS за всім планом, разом із запобіжною метрикою: на iOS це −1,53 п. п., від −3,66 до +0,60.

> **Вправа:** **Правда чи ні:** у тесті paywall Halves на iOS окремо інтервал основної метрики (оплата протягом 14 днів) — від +1,05 до +2,96 п. п., тож запуск trial_first лише на iOS був би найбезпечнішим рішенням.

> **Вправа:** Theo, маркетолог з росту в Halves, пропонує запустити trial_first лише на iOS, «бо Android нічого не показує». За платформами основна метрика — +2,00 в. п. на iOS (95% інтервал від +1,05 до +2,96, інтервал запобіжної метрики від −3,66 до +0,60) і +0,29 в. п. на Android (інтервал від −0,69 до +1,28); правило з плану написано для всіх користувачів. Дай йому відповідь у 2–4 реченнях.

## Кейс: підсумок тесту

**Maya:** Я перешлю підсумок усій команді. Коротко, з числами, і так, щоб я могла відповісти, коли хтось спитає: «Ви впевнені?»

**Sofia:** А числа, які ми ще не рахували, як-от інтервал для тріалів?

**Alex Tutor:** Той самий метод, той самий датасет, якщо хочеш. Але рішення вони не змінять.

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

> **Вправа:** Напиши підсумок тесту paywall для Maya.

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

- Попередній урок: [Хто потрапляє в тест: тригери й кластерна рандомізація](https://productovi.com/uk/courses/product-analytics/who-is-in-the-test.md)
- Наступний урок: [Аналіз до і після: чесне порівняння версій](https://productovi.com/uk/courses/product-analytics/version-comparison.md)

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