Про проведение экспериментов
Небольшое отступление: недавно в канале у Вани Замесина был офигенный пост про ведение блога. Если перефразировать его в двух словах, то нужно:
- использовать блог, чтобы "ботать" важные для себя темы
- не бояться
осужденияписать фигню - не переживать насчет маленькой аудитории
Поэтому в ближайшее время я попробую переключится с рефлексии больших и серьезных тем на фигню местами банальное, но "заботанное".
Сегодня хочу порефлексировать проведение продуктовых экспериментов. Раньше эта тема казалась мне тривиальной, ведь что может быть проще, чем выкатить две версии продукта, а потом просто сравнить результаты. Но этот путь оказался настолько богат граблями, что анти-паттернов хватило на целую страницу. К счастью, решение тоже есть, пусть и без претензии на "серебряную пулю". Итак, погнали.
Давайте попробуем так, а там посмотрим
Ожидание: по-быстрому попробуем новое решение, а потом поймем, как лучше.
Реальность: скорее всего так и оставим, даже не будем сравнивать.
Если внезапно не обрушится какая-то ключевая метрика или не будет явной необходимости отключить тест, есть вероятность вообще не вернуться к этому вопросу. В принципе, это тоже подход, но не экспериментальный.
Да там все просто, посчитаем конверсию и поймем
Ожидание: ну, примерно понятно с идеей, запустим, а потом легко посчитаем, какой вариант оставить.
Реальность: окажется, что именно в этом месте мы не шлем событие, и метрику не рассчитать. Везде все учитывается, а именно тут нет (это очень обидно)
Реальность: окажется, что именно в этом месте мы не шлем событие, и метрику не рассчитать. Везде все учитывается, а именно тут нет (это очень обидно)
Не будем делать A/B, сравним на исторических данных
Не очень частый кейс, но один раз напоролся и на него.
Ожидание: немного сэкономим, погоняем фичу на бою и сравним с тем, "как было".
Реальность: случилась сезонность, ковид, длинные праздники - все сравнения оказались бесполезными.
Результаты посчитали, а что они значат?
Ожидание: что-то поменяем, событиями все обложено, потом выберем вариант, который лучше.
Реальность : события есть, конверсии считаются, но результаты противоречивые: одна метрика лучше, другая хуже - если нет изначальной цели и критериев успеха, понять что такое лучше может быть проблематично.
Так, есть метрики, есть конверсии, знаем, в чем стало лучше, а в чем хуже, а что дальше?
Ожидание: ну что может пойти не так с четкой гипотезой и правильными метриками?
Реальность: Метрики улучшились, но совсем немного, а пользовательский опыт субъективно ухудшился/код стал гораздо сложнее. Что делать, откатывать или оставлять?
Как же проводить эксперименты?
Самую классную теоретическую и практическую базу на тему экспериментов я встретил в курсе GoPractice. Это ни разу не реклама, и оду этому курсу я спою как-нибудь в отдельном посте. А теперь алгоритм действий по мотивам шаблона из курса:
- Определить, нужен ли эксперимент. Качественный эксперимент требует инвестиций времени продакта, аналитика и разработки, количество одновременных экспериментов тоже ограничено.
- Описать проблему, которую хотим полечить с помощью изменений. От проблемы зависят метрики и критерии успеха.
- Сформулировать гипотезу эксперимента, например, "если сделаем X, то это повлияет на Y на Z процентов". В правильной гипотезе заключена большая часть успеха эксперимента.
- Подобрать тестовые группы и точку входа в эксперимент так, чтобы исключить влияние предыдущих шагов интерфейса, особенностей разбиения групп и так далее. В общем, максимально изолировать эксперимент от внешних воздействий.
- Выбрать ключевые метрики на основе гипотезы. Они должны однозначно отвечать на вопрос, подтвердилась ли гипотеза. Для A/B теста важно, чтобы метрики можно было сравнивать на группах разного размера: в самый раз подойдут конверсии. Имеет смысл в лучших традициях Test Drive Development заранее подготовить расчеты метрик и прогнать их на тестовом наборе данных.
- Рассчитать статистическую значимость, необходимый размер групп и длительность эксперимента. Принципиальный момент: эксперимент должен идти определенный срок, а не прерываться, как только появились признаки того, что гипотеза подтвердилась.
- Описать план действий после эксперимента: в каком случае вы выбираете новый вариант, в каком старый.
- Заранее подготовить таски на завершение эксперимента и расчеты.
- Как только эксперимент начнется, еще раз проверить, что события летят корректно и метрики можно посчитать.
Комментарии
Отправить комментарий