Короткий ответ
Конверсия — это отношение числа заказов к числу сессий (или уникальных посетителей) за период; важно явно зафиксировать определение числителя и знаменателя.
Как это работает подробнее
Это простая метрика-отношение: COUNT заказов делится на COUNT сессий за одинаковый временной срез.
Пример кода
query.sql
SELECT
s.event_date,
COUNT(DISTINCT o.order_id)::numeric / NULLIF(COUNT(DISTINCT s.session_id), 0) AS conversion_rate
FROM sessions s
LEFT JOIN orders o ON o.session_id = s.session_id AND o.order_date = s.event_date
GROUP BY s.event_date
ORDER BY s.event_date;Что использовать на практике
- Рекомендация. Чётко документируйте, что считается сессией и что заказом (один заказ на сессию или возможны повторные), обрабатывайте деление на ноль, согласуйте определение со всеми потребителями дашборда.
Подводные камни
- Риск. Несогласованность: в числителе все заказы (включая повторные), а в знаменателе — только уникальные пользователи.
- Риск. Отсутствие обработки NULLIF/деления на ноль в дни без сессий.
- Риск. Показ доли без явного формата процента.