Упрощение главной страницы подняло переходы дальше по воронке

Контекст и роль

Главная страница продукта накопила больше десятка блоков за пару лет правок, и было неясно, какие из них вообще работают на цель. Я вела аналитику эксперимента: от формулировки гипотезы и дизайна теста до расчёта итоговой значимости и презентации результата команде.

Почему это было нетривиально

Эффект от упрощения страницы ожидался небольшим и мог легко потеряться в шуме, особенно на малых когортах. Нужно было заранее понять, какой размер выборки даст достаточно чистую картину, чтобы не принять шум за сигнал и не прогнать тест впустую.

Что я сделала

Собрала симуляцию на исторических данных: как ведут себя две версии страницы при разном размере когорты, где проходит граница, на которой различие между версиями становится видно невооружённым глазом. Ниже — упрощённая версия той же логики: увеличивайте размер когорты и смотрите, как кривые расходятся и перестают дрожать.

Интерактивный блок

Данные ниже синтетические, сгенерированы прямо в браузере для демонстрации.

Результат

После upgrade страницы конверсия в целевое действие выросла, и разница держалась достаточно стабильно, чтобы не списать её на шум. Решение о полной раскатке приняли, как только оценка стабилизировалась.

Что бы я сделала иначе

Я бы заранее зафиксировала минимальный размер выборки в протоколе эксперимента, а не оценивала его по ходу теста — это сэкономило бы примерно неделю на согласовании с командой, которая настаивала на более раннем прекращении теста.

Ограничения

Симуляция выше показывает поведение метрики на исторических данных, а не гарантирует, что эффект воспроизведётся на будущем трафике: сезонность, состав аудитории и параллельные изменения в продукте могли сдвинуть базовые ставки конверсии. Вывод также не разделяет эффект на новых и вернувшихся посетителей: более тонкая разбивка могла бы показать, что часть аудитории реагирует на изменение иначе, а другая не реагирует вовсе.

Технические детали

Метрика: доля сессий, в которых пользователь дошёл до целевого действия, посчитанная на уровне сессии, а не пользователя, чтобы не терять повторные визиты. Эксперимент запускался как классический A/B со случайным распределением на уровне сессии и фиксированной точкой отсечения по времени, а не по накопленному размеру выборки, чтобы избежать подглядывания за результатом. Перед подведением итога проверялись равномерность распределения трафика между вариантами, отсутствие пересечения одного пользователя с обоими вариантами и стабильность оценки на скользящем окне последних дней теста.