Воронка продаж: что это, этапы и как посчитать конверсию
Воронка продаж — путь клиента от первого контакта до оплаты по этапам. Этапы для B2C и B2B, конверсия шагов и сквозная, пример на данных и частые ошибки.
Содержание статьи
Основатель сервиса видит в отчёте: за квартал три тысячи регистраций, платят меньше восьмисот. Маркетинг говорит, что лиды хорошие, продукт — что пользователи не доходят до оплаты. Чтобы спор перестал быть спором, нужна воронка продаж. Воронка продаж — это путь клиента от первого контакта до оплаты, разбитый на этапы, с числом клиентов на каждом из них. Конверсия между соседними этапами показывает, где теряется больше всего людей, а сквозная — какая доля входа доходит до денег. Воронка отвечает на вопрос «где мы теряем», но не на вопрос «почему».
Коротко
Воронка — модель пути клиента. Она полезна, пока все этапы определены одинаково для всех, кто её читает.
- У каждого этапа должно быть проверяемое условие входа: событие, статус сделки, дата.
- Конверсию считают двумя способами: от предыдущего этапа и от входа. Первая ищет узкое место, вторая показывает итог.
- Воронку строят по когорте, которой хватило времени дойти до конца. Иначе свежие клиенты занижают конверсию.
- Открытая и закрытая воронка дают разные числа. В примере ниже — 774 и 325 оплат на одних и тех же людях.
- Чинить начинают там, где много потерь и есть понятная гипотеза, а не там, где самый низкий процент.
Что такое воронка продаж простыми словами
Представьте, что вы стоите у входа в магазин и считаете: зашли 1000 человек, до полки с товаром дошли 400, взяли товар в руки 150, заплатили 60. Каждая следующая цифра меньше предыдущей, и если нарисовать их полосами, получится воронка. На каждом этапе часть людей уходит, и задача — понять, на каком уходит неоправданно много.
Единица воронки — клиент или сделка, а не событие. Если один человек пять раз открыл страницу тарифов, на этапе «смотрел тарифы» он один. В B2C чаще считают людей, в B2B — сделки: одна компания может вести две сделки на разные продукты.
Термин пришёл из продаж, но тот же инструмент в продукте называют продуктовой или конверсионной воронкой. Разница в этапах: в продажах это статусы сделки в CRM, в продукте — действия в интерфейсе. Для подписочного сервиса обе картины часто совпадают: регистрация, первое полезное действие, оплата.
Этапы воронки продаж в B2C и B2B
Универсального списка этапов нет. Их выбирают так, чтобы между соседними этапами было одно решение клиента или одно действие продавца. Ниже — типичные варианты, от которых удобно отталкиваться.
| Модель | Этапы | Как понять, что этап пройден |
|---|---|---|
| Интернет-магазин | визит → карточка товара → корзина → оформление → оплата | события на сайте, заказ со статусом «оплачен» |
| Подписочный сервис, B2C | регистрация → первое полезное действие → пробный период → оплата → продление | события в продукте и платёжной системе |
| B2B, продажи через менеджера | лид → квалификация → встреча или демо → предложение → договор → оплата | смена статуса сделки в CRM с датой |
| Услуги с заявкой | заявка → звонок → замер или консультация → смета → оплата | статус заявки и отметка менеджера |
Как посчитать конверсию воронки продаж
Конверсий в воронке две. Конверсия шага — доля тех, кто перешёл на этап, от тех, кто был на предыдущем. Сквозная — от тех, кто вошёл в воронку. Третья полезная величина — потери в людях: процент ничего не говорит о масштабе, если не знать базу.
В закрытой воронке сквозная конверсия равна произведению конверсий шагов, а не их сумме. Поэтому прирост на раннем этапе доезжает до оплаты уменьшенным всеми следующими множителями.
конверсия шага = N(этап) ÷ N(предыдущий этап); сквозная = N(этап) ÷ N(вход); потери = N(предыдущий) − N(этап)N — число уникальных клиентов или сделок одной когорты. В закрытой воронке сквозная конверсия = произведение конверсий всех шагов до этапа.
Пример воронки продаж на данных
Учебная база SQL-курса — подписочный сервис. Воронка продаж в нём: регистрация → создал рабочее пространство (workspace_created) → создал первый отчёт (report_created) → оплатил. Первая оплата наступает через 3–20 дней после регистрации, поэтому берём тех, кто зарегистрировался с 1 июня по 10 августа: у каждого было не меньше 20 дней до конца данных 30 августа. Таких 3283.
| Этап | Клиентов | От предыдущего | От регистрации | Потеряно |
|---|---|---|---|---|
| Регистрация | 3283 | — | 100% | — |
| Рабочее пространство | 1996 | 60,8% | 60,8% | 1287 |
| Первый отчёт | 1290 | 64,6% | 39,3% | 706 |
| Оплата (открытая) | 774 | 60,0%* | 23,6% | 516* |
| Оплата после отчёта (закрытая) | 325 | 25,2% | 9,9% | 965 |
Открытая воронка: на этапе «Оплата» все, кто заплатил, независимо от предыдущих шагов. Сквозная конверсия — 23,6%.
with cohort as (
select user_id, signup_date
from users
where signup_date <= date '2026-08-10' -- у всех было ≥ 20 дней, чтобы заплатить
),
steps as (
select c.user_id,
min(e.event_time) filter (where e.event_name = 'workspace_created') as workspace_at,
min(e.event_time) filter (where e.event_name = 'report_created') as report_at,
(select min(p.paid_at) from payments p where p.user_id = c.user_id) as paid_at
from cohort c
left join events e using (user_id)
group by c.user_id
)
select
count(*) as signups,
count(workspace_at) as workspace,
count(report_at) as report_open,
count(paid_at) as paid_open,
count(*) filter (where report_at > workspace_at) as report_closed,
count(*) filter (where report_at > workspace_at
and paid_at >= report_at::date) as paid_closed
from steps;774 оплаты делятся на 1290 отчётов, но среди этих 774 есть люди, которые отчёт не создавали. Такое отношение не описывает переход «отчёт → оплата». Настоящий переход для тех, кто создал отчёт, — 325 из 1290, то есть 25,2%.
Открытая и закрытая воронка: почему числа разные
Открытая воронка считает на каждом этапе всех, кто его прошёл, независимо от предыдущих. Закрытая, или последовательная, — только тех, кто прошёл все предыдущие этапы по порядку. В нашей когорте все отчёты созданы после рабочего пространства, поэтому на третьем этапе оба варианта дают 1290. Расходятся они на оплате: 774 против 325.
Разница — 449 человек, которые заплатили, не создав первый отчёт. 259 из них не создали даже рабочее пространство. Для продукта это важная находка: этапы, которые казались обязательным путём к оплате, таковыми не являются. Больше половины оплат приходят в обход.
Какой вариант выбрать, зависит от вопроса. Если нужно понять, сколько денег принесла когорта, — открытая: оплата есть оплата. Если нужно проверить, работает ли задуманный путь «пространство → отчёт → оплата», — закрытая. Подробно SQL обоих вариантов и выбор окна разобраны в статье про воронку в SQL.
Время между этапами
Воронка без времени неполная. От регистрации до первой оплаты в учебной базе проходит от 3 до 20 дней, медиана — 11, у половины плательщиков — от 7 до 16. Это длина цикла сделки, и от неё зависят два решения.
Первое — когда воронку можно считать. Когорта, зарегистрированная меньше 20 дней назад, ещё не закончила путь, и её конверсия в оплату будет занижена. Второе — когда вмешиваться. Если клиент не заплатил за 16 дней, он уже медленнее трёх четвертей плательщиков, и это повод для напоминания или звонка. В B2B то же самое считают по датам смены статусов сделки: медианное время на этапе «предложение» подсказывает, какие сделки зависли.
select median(first_paid - signup_date) as median_days,
quantile_cont(first_paid - signup_date, 0.25) as p25,
quantile_cont(first_paid - signup_date, 0.75) as p75,
min(first_paid - signup_date) as min_days,
max(first_paid - signup_date) as max_days
from (
select u.user_id, u.signup_date, min(p.paid_at) as first_paid
from users u
join payments p using (user_id)
group by u.user_id, u.signup_date
) t;Воронка продаж по каналам
Общая воронка усредняет каналы, у которых разные проблемы. Разбивка по users.channel на той же зрелой когорте показывает, что платный поиск теряет людей в самом начале: рабочее пространство создают 36,7% пришедших оттуда против 75,7% из рекомендаций. Дальше каналы почти не отличаются: от пространства к отчёту переходят 62–66% в каждом.
| Канал | Регистраций | → пространство | Пространство → отчёт | Оплатили | Сквозная | Медиана дней до оплаты |
|---|---|---|---|---|---|---|
| organic | 1282 | 67,2% | 66,2% | 344 | 26,8% | 12 |
| referral | 761 | 75,7% | 62,0% | 239 | 31,4% | 11 |
| paid_search | 641 | 36,7% | 63,4% | 69 | 10,8% | 11 |
| partner | 599 | 54,1% | 66,0% | 122 | 20,4% | 13 |
Как построить воронку продаж: пошагово
Порядок подходит и для CRM, и для продуктовых событий.
- Запишите этапы словами и для каждого — проверяемое условие: какое событие или статус, с какой даты.
- Выберите единицу: человек, компания или сделка. Не смешивайте их в одной воронке.
- Выберите когорту входа, например регистрации за месяц, и окно, за которое клиент должен дойти до конца.
- Решите, открытая воронка или закрытая, и напишите это в подписи к графику.
- Посчитайте людей, конверсию шага, сквозную конверсию и потери.
- Разбейте по каналу, устройству, тарифу и сравните с прошлыми когортами.
С какого этапа начинать улучшения
Самый низкий процент не всегда главное место. Смотрите на потери в людях и на то, насколько реально их вернуть. В нашей воронке больше всего теряет первый шаг, регистрация → рабочее пространство: 1287 человек. Из них 406 пришли из платного поиска, хотя этот канал даёт всего пятую часть регистраций.
Отсюда две гипотезы разной стоимости. Продуктовая: упростить создание пространства для всех, и тогда каждый процентный пункт на первом шаге — это 33 человека на следующем этапе. Маркетинговая: разобраться, кого приводит платный поиск и что ему обещает реклама. Вторая дешевле проверить: достаточно посмотреть запросы и посадочные страницы.
Второй шаг, пространство → отчёт, теряет 706 человек, но улучшать его ради оплаты рискованно: как показала закрытая воронка, больше половины платящих отчёт не создают. Связь отчёта с оплатой сначала нужно проверить экспериментом.
Частые ошибки
Самая частая — смешать в одной воронке тех, кто уже мог дойти до оплаты, и тех, кто зарегистрировался вчера. По всей базе конверсия в оплату — 19,8%: 912 из 4613. По зрелой когорте — 23,6%. Разницу создают последние две недели регистраций, у которых конверсия 9,6% и 2,1%: они просто ещё не успели заплатить.
Данные заканчиваются 30 августа. Регистрации последних двух недель не прошли цикл в 3–20 дней, поэтому их конверсия занижена.
- Незрелый хвост. Считайте воронку по когортам, которым хватило времени, или показывайте конверсию «за N дней от входа».
- Грязные этапы в CRM. Менеджеры переводят сделку сразу из «лида» в «договор», перезаписывают дату смены статуса, держат мёртвые сделки открытыми. У каждого этапа должен быть критерий входа, у CRM — журнал смены статусов, у сделок — правило закрытия по сроку.
- События вместо людей. Пять открытий страницы тарифов — один человек на этапе, а не пять.
- Разные окна на разных этапах. Если корзину считают за сутки, а оплату за неделю, пропорции между шагами меняются без изменений в продукте.
- Процент без базы. Конверсия 80% на этапе, через который прошли 20 человек, почти ничего не значит.
Что читать дальше
Для продуктовой воронки с последовательными шагами и окнами есть отдельный разбор SQL. Потренируйтесь в песочнице: постройте воронку продаж только для тарифа team и посмотрите, отличается ли время до оплаты.
Материалы по теме

Средний чек: формула, как считать и как его правильно читать
Средний чек — выручка, делённая на число заказов. Формула, расчёт в SQL по месяцам и каналам, медиана, эффект структуры и отличие от ARPU и ARPPU.

MRR и ARR: что это, как считать и что они скрывают
MRR — регулярная выручка активных подписок, приведённая к одному месяцу, ARR — та же величина в годовом масштабе. Как посчитать MRR в SQL, что делать с просроченными оплатами, чем MRR отличается от денег за месяц и из чего складывается его изменение.

Churn rate и retention rate: что это и как посчитать отток
Churn rate — доля клиентов, которые ушли за период, из тех, кто был в его начале. Как посчитать отток клиентов и retention rate в подписке и в бесплатном продукте, чем customer churn отличается от revenue churn, как перевести месячный отток в годовой и где ошибаются со знаменателем.