Перейти к содержимому
TelegramGitHub

Кейс 3: проверка A/B-теста

Это кейс, а не урок. Здесь нет заданий с проверкой. Вы проверяете результат A/B-теста и даёте рекомендацию. Правила работы — на странице Аналитические кейсы.

Решайте сами, без AI. Ответы откройте только после того, как попробовали сами: разбор.

Yammer не только делает новые функции. Компания постоянно улучшает и старые. Перед выпуском функции для всех клиентов её обычно проверяют в A/B-тесте. Тест показывает, как функция влияет на поведение пользователей.

Этот кейс про «публикатор» (publisher). Это блок вверху ленты Yammer, где пользователь пишет сообщение. Команда продукта сделала новую версию публикатора.

A/B-тест шёл с 1 по 30 июня:

  • пользователи, которые заходили в Yammer, видели либо старую версию (control_group),
  • либо новую версию (test_group).

1 июля вы смотрите результаты. Сообщений в тестовой группе на 50% больше. Это очень большой рост.

Результат — таблица по группам. Вот что значат колонки:

КолонкаЧто это
usersСколько пользователей увидели эту версию.
total_treated_usersСколько пользователей получили любую версию.
treatment_percentДоля группы среди всех пользователей теста.
totalСколько сообщений написала группа.
averageСреднее число сообщений на пользователя: total / users.
rate_differenceРазница средних: среднее группы минус среднее контрольной.
rate_liftРазница в процентах: среднее группы / среднее контрольной - 1.
stdevСтандартное отклонение сообщений на пользователя.
t_statСтатистика, которая показывает, различаются ли средние. Считается по средним и стандартным отклонениям двух групп.
p_valueВероятность увидеть такую разницу случайно. Малое значение — разница значима.

Для сравнения средних тест использует t-критерий Стьюдента. Он двусторонний: тестовая группа может быть как лучше, так и хуже контрольной.

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

Не открывайте данные сразу. Сначала запишите:

  • Почему результат может выглядеть так? Составьте список гипотез.
  • Как вы проверите каждую гипотезу?

Для справки: такой рост поведения, как +50% к публикациям, встречается крайне редко.

Нужны четыре таблицы. Данные не настоящие. Мы сгенерировали их сами.

Одна строка на пользователя.

КолонкаЧто это
user_idУникальный ID пользователя.
created_atКогда пользователь зарегистрировался.
stateСтатус: active или pending.
activated_atКогда пользователь активировался.
company_idID компании.
languageЯзык пользователя.

Одна строка на событие.

КолонкаЧто это
user_idКто совершил событие.
occurred_atКогда.
event_typesignup_flow (регистрация) или engagement (работа с продуктом).
event_nameКонкретное действие: login, send_message, like_message, home_page, view_inbox, поиск и шаги регистрации.
locationСтрана (по IP).
deviceУстройство.
user_typeТип пользователя (число). Это грубо «кто пишет» и «кто читает».

Какие пользователи в какой группе эксперимента. Должна быть одна строка на пользователя на эксперимент.

КолонкаЧто это
user_idПользователь.
occurred_atКогда пользователь попал в группу.
experimentНазвание эксперимента. В нашей базе это publisher_update.
experiment_groupГруппа: test_group — новая версия, control_group — старая.
locationСтрана на момент попадания в группу.
deviceУстройство.

В оригинале есть четвёртая таблица со значениями нормального распределения. Она нужна для расчёта p_value. В нашей базе её нет. Она вам не понадобится.

Пройдите по своему списку гипотез. Мы советуем такие шаги:

  1. Проверьте, что тест посчитан правильно. Верен ли расчёт роста и значимости? Постройте запрос сами: возьмите пользователей из yammer_experiments, посчитайте для каждого send_message с момента попадания в группу до 1 июля, потом сгруппируйте по группам.
  2. Проверьте другие метрики. Результат не должен держаться на одной метрике. Какие ещё метрики важны? Растут ли они?
  3. Проверьте данные. Нет ли проблем с тем, как пользователей распределили по группам? Если есть, что нужно сделать, чтобы это исправить?
  4. Дайте итоговую рекомендацию. Выпускать новый публикатор для всех? Перезапустить тест? Если да, что изменить? Или отказаться от функции?

Когда закончите, откройте разбор.