Data Analyst Professional · Модуль 13 · Урок 45 із 51
Воронка, конверсія та сегментація
Воронка є не діаграмою, а точним запитом до подій. До розрахунку зафіксуйте population, identity, послідовність, conversion window, denominator і правила сегментації — інакше одна назва «конверсія» даватиме різні числа.
Measurement contract до SQL
| Рішення | Що зафіксувати | Типова помилка |
|---|---|---|
| Population | users, що виконали landing_view у періоді | змішати new і returning |
| Identity | стабільний pseudonymous user_key | рахувати devices як users |
| Sequence | landing → signup → activation → purchase | рахувати кроки у будь-якому порядку |
| Window | 14 днів від першого landing | дати пізнім cohorts менше часу |
| Grain | один рядок на user × funnel entry | ділити events на events |
| Timezone | UTC у storage, business timezone у reporting | змістити date boundary |
Open, closed, direct та indirect
Google Analytics також розрізняє open/closed funnels і direct/indirect following. Не копіюйте число з інструмента без цих settings у паспорті метрики.
Дві конверсії — дві відповіді
step conversion = users_at_step_n / users_at_step_(n-1)
start conversion = users_at_step_n / users_at_step_1drop-off users = users_at_step_(n-1) - users_at_step_n
drop-off rate = 1 - step conversionNumerator має бути підмножиною denominator за однаковими identity, sequence і window. Якщо signup = 80, activation = 50, purchase = 20, то activation step conversion = 62.5%, а purchase start conversion = 25%.
Сегментація без selection bias
Для чесного порівняння segment повинен бути відомий до outcome або мати чіткий scope. Segment «користувачі, які купили» не можна використовувати для пояснення conversion to purchase — він визначений самим outcome.
- Порівнюйте однакові cohort dates і observation windows.
- Показуйте numerator, denominator і confidence interval, а не лише rate.
- Перевіряйте mix: device, geography, acquisition source, new/returning.
- Малі groups пригнічуйте або об’єднуйте; не публікуйте персональні зрізи.
- Різниця сегментів описова, доки design не підтримує causal claim.
SQL pattern: один рядок на user
WITH first_steps AS (
SELECT user_key,
MIN(event_ts_utc) FILTER (WHERE event_name='landing_view') AS t1,
MIN(event_ts_utc) FILTER (WHERE event_name='signup') AS t2,
MIN(event_ts_utc) FILTER (WHERE event_name='activation') AS t3,
MIN(event_ts_utc) FILTER (WHERE event_name='purchase') AS t4
FROM events GROUP BY user_key
)
SELECT COUNT(*) FILTER (WHERE t1 IS NOT NULL) AS landing,
COUNT(*) FILTER (WHERE t2 > t1 AND t2 <= t1 + INTERVAL '14 day') AS signup
FROM first_steps;Production query має додатково перевіряти order кожної наступної події, duplicates, late events і multiple entries. Не використовуйте прості незалежні MIN для складної повторної поведінки без sequence test.
Практика
Завантажити product analytics lab (.zip)
- Заповніть event contract і словник funnel steps.
- Порахуйте closed та open funnel окремо.
- Покажіть step і start conversion з denominators.
- Порівняйте два pre-outcome segments і поясніть mix.
- Додайте QA: subset, order, window, uniqueness і incomplete period.
Офіційні джерела
Готовність до тесту
Ви можете відтворити funnel number із contract, відрізняєте step/start conversion і не сегментуєте за майбутнім outcome.
Закріпіть матеріал уроку
Три сценарні питання. Для зарахування уроку потрібно дати щонайменше дві правильні відповіді.