Вконтакте
Контест по А/Б — тестированию
Цель контеста: найти истинный эффект от внедряемой фичи по каждой метрике в каждом эксперименте.
Истинный эффект (treatment effect) — это эффект непосредственно от внедрения фичи, за вычетом эффекта разбиения (selection bias) и сетевого эффекта (network effect).
Формальная метрика — взвешенная средняя квадратическая ошибка
Допустим, что по метрике Х в эксперименте Y мы получили эффект равный 10 единиц нашей метрики, а среднее в контрольной группе при этом равно 100. Пересчитав в %, имеем эффект в 10%. Пусть истинный эффект равен 12 единицам нашей метрики, тогда:
Как оцениваются решения
Ошибка = weight * (trueDifference - usersDifference)^2 = 1*(12-10)^2 = 4
У кого меньше величина WMSE — тот и победил! Веса зависят от сложности конкретного эксперимента. Легкий эксперимент штрафуется сильнее — его вес равен 2, вес среднего по сложности равен 1.5, а самого сложного — 1. Правда какой из них какой заранее неизвестно.
Замечания по оценке
найденный эффект должен «прокрашиваться», то есть достигается уровень значимости в 0,05
для отсутствующего прокраса берется истинный эффект в квадрате
для ложного прокраса берется присланное значение эффекта в квадрате
CSV формата «эксперимент, метрика, значение изменения в % (эффект / среднее в контроле), уровень значимости»:
Формат сбора решений
ЭКСПЕРИМЕНТ
1
2
audios_listened
content_views
3.17234
если p-value > 0.05, указываем 0
0.001
0.5
МЕТРИКА
ЗНАЧЕНИЕ ИЗМЕНЕНИЯ
p-value
0
Данные сгруппированы в папках
Каждому эксперименту соответствует папка, со следующим содержанием:
messages_sent.csv файлик с числом отправленных сообщений
content_views.csv файлик с числом просмотренных постов
content_views_feed.csv файлик с числом просмотренных постов в умной ленте
audios_listened.csv файлик с числом прослушанных треков
edges.csv – граф переписок, хранящийся в виде ребер
Файл с метрикой
имеет следующие поля:
user_id — идентификатор пользователя;
value — значение метрики
date — дата измерения показателя
is_test — если 0, то юзер в контрольной группе, если 1 — в тестовой
имеет следующие поля:
Файл с графом переписок
peer_one — идентификатор пользователя, кто пишет сообщение;
peer_two — идентификатор пользователя, кому пишут сообщение
Социальная сеть N
Состоит из следующих сервисов:
Описание экспериментов
В социальной сети N можно пересылать посты из умной ленты другим пользователям в мессенджере. Кроме того, можно пересылать треки в мессенджере. Рекомендации в ленте затрагивают только посты в ленте, но не затрагивают музыку. Однако посты в ленте могут содержать музыку.
  • лента новостей
  • мессенджер
  • музыка
Социальная сеть №1
Уменьшаем высоту постов в умной ленте на 5%. Алгоритм ранжирования не меняем. Изменения исключительно на фронтэнде. Дата начала эксперимента — 18 ноября 2022 года.
Социальная сеть №2
Внедряем новый алгоритм ранжирования в умной ленте, который обучается на увеличение времени, проведенного в соцсети.
Дата начала эксперимента — 18 ноября 2022 года.
Социальная сеть №3
Вводим ранжирование чатов. Пытаемся предсказать, какой чат будет более востребованным в данный момент, тем самым стремимся увеличить число отправляемых сообщений.
Дата начала эксперимента — 18 ноября 2022 года.
А судьи кто?
Андрей Кузнецов
Тимофей Шалимов
PO в команде аналитической инфраструктуры
руководитель разработки в команде аналитической инфраструктуры