Короткий ответ
Conversion rate — доля пользователей, прошедших от одного шага воронки к следующему (или от первого шага к целевому действию), выраженная в процентах.
Как это работает подробнее
берём число уникальных пользователей, дошедших до целевого шага, и делим на число уникальных пользователей, вошедших в воронку (или на предыдущем шаге).
Пример кода
product_metrics.sql
-- PostgreSQL
SELECT
COUNT(DISTINCT CASE WHEN event_type = 'view_product' THEN user_id END) AS viewed,
COUNT(DISTINCT CASE WHEN event_type = 'purchase' THEN user_id END) AS purchased
FROM events
WHERE event_date BETWEEN DATE '2024-03-01' AND DATE '2024-03-07';Что использовать на практике
- Применение. важно явно зафиксировать, считаем ли конверсию "step-to-step" (между соседними шагами) или "step-to-end" (от входа до конечной цели) — это разные числа и разные выводы; также нужно решить окно времени (конверсия в течение сессии, суток, N дней).
- Проверка или пример. conversion = purchased / viewed. Проверка: purchased не должно превышать viewed, если purchase логически возможен только после view.
Подводные камни
- Частая ошибка. считают конверсию по числу событий, а не по уникальным пользователям (один пользователь может несколько раз "просмотреть товар"); не ограничивают окно времени, из-за чего в конверсию попадают покупки спустя месяцы после просмотра, что искажает смысл метрики.