Продуктовый кейс: Оптимизация онбординга
Условие
Вы анализируете данные онбординга приложения. 70 процентов пользователей не завершают регистрацию.
- Какие данные запросите для анализа?
- Как построите воронку онбординга?
- Какие гипотезы предложите для улучшения?
- Какие A/B тесты спроектируете?
Источник: кейс по улучшению воронки активации
Комментарии (1)
Ответ сгенерирован нейросетью и может содержать ошибки
Анализ онбординга: Оптимизация воронки активации
Проблема 70% отсева на регистрации критична — это означает потерю 7 из 10 потенциальных пользователей на самом раннем этапе. Систематизирую подход анализа.
1. Данные для анализа
Запрошу иерархический набор данных:
На уровне воронки (aggregate):
- Общее количество вошедших в онбординг vs завершивших регистрацию
- Временные диапазоны (по датам, часам, дням недели)
- Источники трафика (organic, paid, referral, direct)
- Устройства и ОС (iOS, Android, Web)
На уровне шагов:
- Для каждого шага регистрации: вход, выход, bounce-rate
- Время прохождения каждого шага (абс. значения и квантили)
- Причины выхода пользователей (если есть logs, events)
На уровне когорт:
- Демография: страна, язык, возрастные группы
- Поведение: количество попыток, повторные входы
- Устройства: размер экрана, ОС версия, браузер
Технические данные:
- Ошибки и исключения (404, 500, timeout, validation)
- Загруженность серверов, latency API
- Отправка кода подтверждения (email/SMS) — проблемы с доставкой?
2. Воронка онбординга
Типичная структура в виде SQL-запроса:
WITH funnel_steps AS (
SELECT
user_id,
'step_1_enter' AS step,
COUNT(DISTINCT user_id) as users,
MIN(created_at) AS timestamp
FROM events
WHERE event_name = 'onboarding_start'
UNION ALL
SELECT
user_id,
'step_2_email_input',
COUNT(DISTINCT user_id),
MIN(created_at)
FROM events
WHERE event_name = 'email_entered'
UNION ALL
SELECT
user_id,
'step_3_verify_email',
COUNT(DISTINCT user_id),
MIN(created_at)
FROM events
WHERE event_name = 'email_verified'
UNION ALL
SELECT
user_id,
'step_4_password',
COUNT(DISTINCT user_id),
MIN(created_at)
FROM events
WHERE event_name = 'password_set'
UNION ALL
SELECT
user_id,
'step_5_profile',
COUNT(DISTINCT user_id),
MIN(created_at)
FROM events
WHERE event_name = 'profile_completed'
UNION ALL
SELECT
user_id,
'step_6_completed',
COUNT(DISTINCT user_id),
MIN(created_at)
FROM events
WHERE event_name = 'registration_completed'
)
SELECT
step,
COUNT(DISTINCT user_id) as users_at_step,
LAG(COUNT(DISTINCT user_id)) OVER (ORDER BY step) as users_prev_step,
ROUND(100.0 * COUNT(DISTINCT user_id) /
LAG(COUNT(DISTINCT user_id)) OVER (ORDER BY step), 2) as conversion_rate,
ROUND(100.0 * COUNT(DISTINCT user_id) /
FIRST_VALUE(COUNT(DISTINCT user_id)) OVER (ORDER BY step), 2) as funnel_rate
FROM funnel_steps
GROUP BY step
ORDER BY step;
Визуализация:
Вход: 10,000 (100%)
↓ 95%
Email: 9,500
↓ 92%
Проверка: 8,740
↓ 88%
Пароль: 7,691
↓ 80%
Профиль: 6,153
↓ 75%
Завершено: 4,615 (30%)
3. Гипотезы для улучшения
Критические точки отсева (по данным выше):
-
Email верификация (8% отсев) — почта не доходит, пользователи не видят код
- Гипотеза: проблемы с доставкой email, спам-фильтры, не очевидный UI
- Решение: показать альтернативу (SMS), resend ссылку, улучшить messaging
-
Установка пароля (12% отсев) — требования слишком строгие?
- Гипотеза: сложные правила (спецсимволы, буквы, цифры), пользователь забывает
- Решение: ослабить требования или добавить генератор пароля, password manager интеграция
-
Профиль (20% отсев) — самый большой дроп
- Гипотеза: слишком много полей, некоторые обязательные не имеют смысла
- Решение: минимизировать поля, сделать опциональными, отложить сбор данных
-
Общие гипотезы:
- Мобильное устройство (экран маленький) → меньше конверсия
- Первый раз в приложении → нужна better UX guidance
- Вечер/ночь → ниже активность (усталость)
- Разные источники трафика → разные качество пользователей
4. A/B тесты
Тест 1: Минимальный профиль
- Control: 5 полей обязательно (имя, фамилия, телефон, компания, должность)
- Variant: 2 поля (имя, email), остальное потом
- Метрика: conversion rate на шаге профиля
- Размер: 50/50, n=2000, power=80%, α=0.05
Тест 2: Email верификация
- Control: отправить код, пользователь вводит вручную
- Variant: одноклик верификация (ссылка в письме), + SMS fallback
- Метрика: completion rate email step
- Размер: 33/33/34, n=3000
Тест 3: Требования к паролю
- Control: минимум 8 символов, спецсимволы, цифры, буквы
- Variant: минимум 8 символов, никаких требований
- Метрика: password step completion, повторные попытки
- Размер: 50/50, n=2000
Тест 4: Мобильная оптимизация
- Segment: только мобильные пользователи
- Control: текущий дизайн (desktop-first)
- Variant: мобильный-first (bigger buttons, less fields per screen)
- Метрика: completion rate мобил vs десктоп
Длительность: 2 недели (чтобы поймать паттерны по дням недели, часам) Выводы: запускать с наименьшим эффектом на retention существующих пользователей
Этот структурированный подход позволит выявить точные проблемы и быстро их решить.