Conversion rate. Почему он может врать.
Содержание
Недавно делали аналитику для одной ML-модели и полезли считать воронку. Что может быть проще: посчитать, сколько людей дошло от шага A до шага B? Но в процессе наткнулись на кучу нюансов, которые меняют итоговое число в полтора-два раза. Причём каждый нюанс выглядит как мелочь, а вместе они превращают «conversion rate X%» в число, которое может значить что угодно.
Решил собрать в одном месте все грабли, на которые мы наступали. Далее все числа будут из головы, главное суть 😉.
Сессии или пользователи?
Одна и та же воронка даёт разные числа в зависимости от единицы счёта.
Буду давать абстрактные примеры.
По сессиям: 1 000 сессий, 30 покупок, CR = 3.0%.
По пользователям: 600 уникальных пользователей, 28 купивших, CR = 4.7%.
Разница возникает потому, что один пользователь может создать несколько сессий. Зашёл утром, посмотрел каталог, ушёл. Вернулся вечером, добавил в корзину, ушёл. На следующий день купил. Три сессии, один покупатель.

Какой CR правильный? Зависит от вопроса. «Какова вероятность покупки за один визит?» это сессии. «Какая доля аудитории в итоге покупает?» это пользователи.
Проблема в том, что многие не задают этот вопрос вообще.
Проблема возвратов
Пользователь зашёл в понедельник, положил товар в корзину, ушёл. Вернулся в среду и купил. На этом этапе теряется главная бизнес-логика.
В сессионной воронке понедельника это падение на шаге «корзина → оплата». Воронка его потеряла. В воронке среды это пользователь, который зашёл сразу в корзину и купил. Откуда он пришёл? Непонятно.
Ни одна из двух сессионных воронок не показывает правду. Пользователь прошёл все шаги, просто в разных сессиях.
Правильный подход: строить воронку по пользователям с окном атрибуции. Пользователь считается сконвертированным, если прошёл все шаги за определённое окно (7 дней, 14 дней, 30 дней), даже если шаги были в разных сессиях.
Размер окна зависит от продукта. Для e-commerce 7 дней обычно хватает. Для SaaS может потребоваться 30-60 дней. Для B2B окно может быть 90 дней и больше.
Без окна атрибуции воронка систематически занижает конверсию на шагах, где пользователи берут паузу.
Общая конверсия vs конверсия между шагами
Две метрики, которые часто путают.
Общая конверсия (CR) считается от входа в воронку:
Конверсия из шага в шаг считается между конкретными этапами воронки:
Общая конверсия говорит о здоровье всей воронки. Конверсия из шага в шаг говорит о здоровье конкретного перехода.
Пример: общий CR вырос с 3.0% до 3.5%, а конверсия из корзины в оплату упала с 65% до 55%. Как так? До корзины стало доходить больше людей (привели трафик), но платёжная форма стала работать хуже (редизайн). Если смотреть только общий CR, всё хорошо. Если смотреть конверсию между шагами, видна проблема.
Когда кто-то говорит «конверсия в оплату упала», стоит уточнить: от чего считаем? От всех посетителей или от тех, кто дошёл до корзины? Это могут быть противоположные тренды.
Ловушка сегментов
CR по платформам:
| Сегмент | Период 1 | Период 2 | Динамика |
|---|---|---|---|
| Мобайл | 2.0% | 2.3% | ↑ |
| Десктоп | 5.0% | 5.2% | ↑ |
| Общий | 3.5% | 3.1% | ↓ |
Оба сегмента выросли, а общий CR упал. Как?
Доля мобильного трафика выросла с 50% до 70% (он дешевле). Мобайл конвертирует хуже десктопа. Каждый сегмент улучшился, но смесь стала хуже, потому что доля слабого сегмента выросла.

Это парадокс Симпсона в воронке. Агрегированный CR обманывает, когда распределение трафика между сегментами меняется. Всегда стоит смотреть воронку по сегментам (платформа, канал привлечения, когорта, страна), а не только агрегат.
Считать шаги или считать время?
Стандартная воронка отвечает на вопрос «дошёл или не дошёл». Но не на вопрос «как быстро».
Два пользователя:
- Первый: зашёл → выбрал → оплатил за 4 минуты.
- Второй: зашёл → мучился 35 минут → 3 раза менял товар → еле нашёл кнопку оплаты → купил.
Оба «сконвертировались». Оба +1 к числителю CR. Но второй с высокой вероятностью не вернётся.
Time-to-convert (медианное время от первого визита до покупки) рассказывает о здоровье воронки иногда больше, чем сам CR.

Если time-to-convert растёт, воронка работает хуже, даже при стабильном CR. Пользователям требуется больше времени и усилий, чтобы дойти до конца. Это ранний сигнал проблемы, который CR может не показать ещё месяц.
Чеклист
Зафиксировать единицу счёта. Сессии или пользователи.
Определить окно атрибуции. 7 дней для e-commerce, 30+ для SaaS. Без окна теряются кроссессионные конверсии.
Считать и общий CR и конверсию между шагами. Общий CR показывает здоровье всей воронки. Конверсия из шага в шаг показывает, где именно проблема.
Всегда смотреть по сегментам. Платформа, канал, когорта. Агрегат обманывает, когда распределение трафика меняется.
Добавить time-to-convert как guardrail. Если CR стабилен, но время до покупки растёт, это проблема, которую воронка не покажет.
Итого
Conversion rate это не одно число. Это семейство метрик, и каждая отвечает на свой вопрос.
Сессии vs пользователи дают разные CR на одних и тех же данных.
Без окна атрибуции воронка теряет пользователей, которые конвертируются за несколько визитов.
Общий CR и конверсия между шагами рассказывают разные истории. Общий CR может расти, пока конкретный переход деградирует.
Агрегированный CR обманывает при изменении микса трафика.
Time-to-convert показывает проблемы раньше, чем CR.
Прежде чем верить воронке, стоит спросить: что считаем, от чего, за какой период, и в каком сегменте. Без этих ответов число бессмысленно.