Воронка продаж в SQL — как посчитать на 5 шагов

Воронка продаж в SQL — как посчитать на 5 шагов
Воронка продаж (funnel) — последовательность шагов, через которые проходит пользователь, чтобы стать клиентом. Например: посещение сайта → регистрация → подтверждение email → первая покупка. На каждом шаге часть юзеров теряется. Анализ воронки в SQL — базовый навык аналитика.
Содержание (5 разделов)
  1. Зачем считать воронку
  2. Базовая структура воронки в SQL
  3. Пример: воронка регистрация → оплата
  4. Типичные ошибки в SQL-воронке
  5. Когортная воронка — продвинутый подход

Зачем считать воронку

Воронка отвечает на 3 главных вопроса бизнеса:

Базовая структура воронки в SQL

Подход через JOIN таблиц с событиями:

Пример: воронка регистрация → оплата

Минимальный рабочий SQL:

Типичные ошибки в SQL-воронке

5 граблей, на которые наступают аналитики:

Когортная воронка — продвинутый подход

Базовая воронка теряет время. Когортная учитывает:

Частые вопросы

Воронка должна идти строго по порядку?

Чаще да. Если бизнес-логика допускает покупку без регистрации (guest checkout) — нужно отдельно считать «зарегистрировались и купили» vs «купили без регистрации».

COUNT(DISTINCT) или WINDOW функция?

COUNT(DISTINCT) — стандарт. На очень больших таблицах используют HyperLogLog (approx-COUNT) для скорости. В ClickHouse — функция uniq().

Что такое drop-off rate?

Процент юзеров, которые НЕ перешли на следующий шаг. Например, signups 1000, confirmed 600 → drop-off 40%. Это противоположность conversion rate.

Какая типичная конверсия воронки?

Очень зависит от бизнеса. E-comm: 1-3% от посещения до покупки. SaaS: 1-5% от signup до paid. Mobile app: 0.5-2% от install до paying user.

Можно ли визуализировать воронку?

Да. В Tableau / Power BI / DataLens есть «funnel chart». Также можно через bar chart с уменьшающимися значениями. Главное — показать число и процент на каждом шаге.

Начать практику бесплатно →