Как стать автором
Поиск
Написать публикацию
Обновить
379.19
AvitoTech
У нас живут ваши объявления

Сетап А/В-теста, который помог снизить MDE выручки в 2 раза

Уровень сложностиСредний
Время на прочтение9 мин
Количество просмотров4.8K

Привет! Я Соня Ожерельева — тимлид в команде Monetization Efficiency в Авито. Здесь мы создаём ML/Data-продукты в команде монетизации и AdTech. В частности внедряем бизнес-логику в ранжирование — учитываем там надёжность продавцов и услуги продвижения, которые они покупают для увеличения количества просмотров.

В статье расскажу про новый сетап A/B-теста, который мы использовали при тестировании системы Уровень сервиса на Авито. Он, как и A/B-тест по регионам, позволяет измерять влияние как на покупателей, так и на продавцов. При этом MDE нашего сетапа в 2 раза ниже, чем у регионального. Материал будет полезен аналитикам любых грейдов.

Содержание:

Кратко по терминам

Minimum detectable effect (MDE) — минимальный эффект, который мы можем заметить в результате A/B-теста.

Региональный A/B-тест — разновидность теста, в котором пользователей делят на группы не случайным образом, а распределяют их по регионам. Например, странам или городам.

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

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

Что такое надёжность продавцов и как Уровень сервиса помогает её оценивать 

Надёжность продавцов — это элемент системы оценки уровня сервиса в Авито. До появления показателя надёжности единственным способом мотивировать пользователей следовать нашим правилам была угроза блокировки. Нас не устраивает такой подход, так как мы не можем блокировать всех продавцов, в которых не уверены. 

Система Уровень сервиса решает эту проблему с двух сторон: 

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

  2. Даёт преимущества продавцам с хорошей репутацией, например, отображение выше в поисковой выдаче и рекомендациях. Продавцы с высоким уровнем сервиса получают больше просмотров от потенциальных покупателей, а те, в свою очередь, больше общаются с теми, в ком мы точно уверены.

Из чего состоит Уровень сервиса:

  • проверки. Чтобы оценить надёжность продавца, мы смотрим на актуальность объявлений, достоверность информации, качество коммуникации с пользователями и другие факторы;

  • вычисление уровня сервиса и определение порогов. После проверок через репутационную формулу мы получаем скор от 0 до 1. На основе этого показателя выделяем группы надёжных и недобросовестных продавцов; 

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

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

Подробнее о том, как мы создавали систему оценки качества сервиса, можно почитать в статье: «Как изменить поведение продавцов на Авито и не испортить с ними отношения».

Тут еще больше контента

Первые шаги по учёту уровня сервиса продавцов в ранжировании объявлений на выдаче

Поисковое ранжирование в Авито строится на множестве параметров, которые помогают нам: определять релевантность объявлений поисковому запросу, вероятность заключения сделки, а также управлять эффективностью услуг продвижения. 

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

Помимо поисковой выдачи, в Авито есть блок рекомендаций. Это автоматически сформированная подборка объявлений, в которой мы учитываем интересы покупателя, предыдущие покупки и запросы. 

В блок рекомендаций попадают объявления, которые могут быть интересны конкретному пользователю 
В блок рекомендаций попадают объявления, которые могут быть интересны конкретному пользователю 

В первой итерации мы перестали показывать в рекомендациях объявления продавцов с низким уровнем сервиса. Хотели узнать, как это повлияет на выручку, поведение продавцов и опыт покупателей. 

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

Вот какие гипотезы мы проверяли с помощью эксперимента:

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

  • рассчитывали, что мы не увидим существенной просадки в выручке. Из раздела рекомендаций приходит около 30% просмотров всех объявлений — нам было важно проверить, насколько мы потеряем в выручке, если не будем показывать там часть предложений. Изменения выручки было важно зафиксировать как можно быстрее и точнее — дальше расскажу об этом подробнее;

  • предполагали, что мы значимо улучшим покупательский опыт, так как покупатели ценят продавцов с высоким уровнем сервиса.

Для проверки мы решили использовать A/B-тесты — первые две гипотезы решили проверить тестом по продавцам, а последнюю — по покупателям. 

Когда нужно измерить эффекты и по покупателям, и по продавцам, простое решение — запустить региональный тест на всех. Но такое решение нам не подходило.

Минимальный детектируемое изменение (MDE) выручки регионального теста с учётом всех улучшений, о которых мы знали, составлял 8%. Это означало, что мы рисковали не задетектировать эффект, поэтому мы стали искать другие решения. 

Новый сетап A/B-теста как способ снизить минимальный детектируемый эффект по выручке с 8 до 4% 

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

Сначала мы разбили всех недобросовестных продавцов на тестовую и контрольную группы, как в стандартном A/B. Чтобы измерить эффект и на покупателей, мы убираем продавцов тестовой группы из рекомендаций в 90% случаев. А в 10% случаев убираем из рекомендаций в том числе и продавцов контрольной группы. 

Так формируются три тестовые группы:

  • покупательский тест — это 10% покупателей, которые совсем не видят объявления недобросовестных продавцов, независимо от того, находятся ли они в контрольной или тестовой группе; 

  • остальные покупатели — 80% покупателей, которые видят объявления продавцов контрольной и не видят объявления из тестовой группы;

  • покупательский контроль — 10% покупателей, для которых ничего не поменяется.

Сравним старый и новый сетапы:

При таком сетапе мы скрываем всех продавцов тестовой группы из раздела рекомендаций 
При таком сетапе мы скрываем всех продавцов тестовой группы из раздела рекомендаций 
Красным показаны продавцы тестовой группы, их объявления мы исключаем из рекомендаций в 90% случаев. Розовым — продавцы контрольной группы, их исключаем из рекомендаций в 10% случаев
Красным показаны продавцы тестовой группы, их объявления мы исключаем из рекомендаций в 90% случаев. Розовым — продавцы контрольной группы, их исключаем из рекомендаций в 10% случаев

Здесь можно заметить минус нашего сетапа — воздействие на продавцов во время теста будет отличаться от воздействия при масштабировании. Мы решим эту проблему дальше, когда будем делать корректировку результатов A/B-теста на различие в воздействии. 

Несмотря на такой недостаток, у нашего сетапа есть важные преимущества, которые перевешивают: 

  • мы можем увидеть эффект не только по продавцам, но и по покупателям

  • у теста с нашим сетапом будет такая же чувствительность, как и у стандартного A/B по продавцам.

Жми сюда!

Корректировка на разницу воздействия во время теста и после раскатки 

Разница в воздействии между экспериментом и реальным масштабированием возникает по двум причинам:

  • неполное воздействие на продавцов тестовой группы. Их объявления пропадают из рекомендаций только в 90% случаев. При этом в 10% случаев мы замечаем воздействие и на контрольную группу;

  • сетевой эффект в группе «остальных» покупателей. 

Что такое сетевой эффект. Это ситуация, когда воздействие на тестовую группу также опосредованно влияет и на контрольную. В результате зафиксированные метрики искажаются, а чистота эксперимента — нарушается.

Как он возникает. Сетевой эффект возникает в группе покупателей, которые видят объявления контрольной группы продавцов, но не видят объявления из тестовой. Мы называем их «группой остальных покупателей». 

Продавцы из обеих групп появляются на одной и той же поисковой выдаче. И если из неё исчезают объявления продавцов из теста — объявления продавцов контрольной группы занимают их место. Это приводит к росту просмотров у последних, и, соответственно, к искажению метрик.

Как измерить сетевой эффект. Чтобы зафиксировать его, сравним трафик на объявления продавцов из контрольной группы в двух случаях:

  • в столбце посередине, где работает сетевой эффект; 

  • в правом столбце, где мы ничего не меняли:

Измерение сетевого эффекта на контрольных группах
Измерение сетевого эффекта на контрольных группах

Вычисляем корректировку итоговых результатов с учётом неполного воздействия и наличия сетевого эффекта. 

Обозначим:

A — это размер сетевого эффекта в эксперименте. 

Х — это трафик, который получали из рекомендаций все продавцы до начала эксперимента. 

Если группа контрольных продавцов в столбике посередине будет получать на A% больше трафика, чем группа контрольных продавцов в правом столбце, это как раз и будет сетевым эффектом. 

Тестовая группа: здесь мы пессимизируем объявления в 90% случаев, поэтому там останется 10% трафика:

0,1X

Контрольная группа: пессимизируем объявления в 10% случаев. Плюс добавляется сетевой эффект, который срабатывает на 80% оставшегося трафика — это средняя группа на схеме сетапа. Поэтому трафика там останется столько:

0,9X + 0,8AX

Сравним с идеальным сетапом: здесь мы пессимизировали бы объявления тестовой группы и сводили трафик к нулю, а трафик контрольной группы не менялся бы во время эксперимента. Получилось бы так:

  • тестовая группа получает 0% трафика;

  • контрольная — 100% трафика без искажений.

У нас получается такое сравнение:

Поюзерный эксперимент

Anti-Regional сетап

Тестовая группа

0

0.1X

Контрольная группа

X

0.9 + 0.8aX

Смотрим, какой объём воздействия применяется в итоге в нашем новом сетапе. Если бы мы проводили эксперимент по продавцам, то сила воздействия была бы 100%. С учётом сетевого эффекта и особенностей сетапа получается, что мы воздействуем с силой:

(0,9X + 0,8AX − 0,1X) ÷ X = 0,8 × (1 + A)

Теперь, когда мы знаем силу воздействия в эксперименте, можем скорректировать эффект на метрики. Предположим, эксперимент показал снижение выручки на 10%, и выручка линейно зависит от силы воздействия.

Делим 10% на силу воздействия в эксперименте и получаем:

-10% → -10% ÷ (0,8 × (1 + A)) 

Таким образом мы смоделировали изменение выручки, которое получим при масштабировании на 100% продавцов.

В итоге мы придумали сетап эксперимента, который позволил:

  • снизить минимальный детектируемый эффект по выручке в 2 раза; 

  • измерить эффект и на продавцов, и на покупателей;

  • учесть как сетевые эффекты, так и неполноту воздействия.

Всё это значит, что никаких блокеров к применению сетапа нет. 

В каких случаях подойдёт наш сетап A/B-теста и какие у него есть ограничения:

  • если вам нужно измерить эффект и на продавцов, и на покупателей; 

  • когда минимальный детектируемый эффект регионального теста слишком высок, из-за чего можно не заметить значимые изменения. 

Ограничения сетапа:

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

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

Кликни здесь и узнаешь

Вся статья кратко

Мы в Авито используем систему Уровень сервиса, чтобы оценивать надёжность продавцов. Проверяем, соответствуют ли их действия правилам площадки и помогаем скорректировать поведение, если видим, что уровень сервиса падает.

Чтобы протестировать работу системы, мы проводили A/B-тесты. Например, в одной из итераций мы перестали показывать в рекомендациях объявления продавцов с низким уровнем сервиса. Хотели узнать, как это повлияет на выручку, поведение продавцов и опыт покупателей.

Со временем выяснили, что стандартный региональный A/B-тест для наших задач не подходит, у него слишком высокий MDE — 8%. Если бы продолжили использовать такие тесты для проверки гипотез — это могло привести к тому, что значимые изменения остались незамеченными.

Разработали новый сетап эксперимента, который снизил MDE с 8 до 4% и позволил нам оценить влияние не только на продавцов, но и на покупателей Авито. 

Новый сетап основан на стандартном A/B-тесте по продавцам, но с несколькими дополнениями: 

  • сначала разбили всех недобросовестных продавцов на тестовую и контрольную группы, как в стандартном A/B; 

  • чтобы измерить эффект и на покупателей, убрали продавцов тестовой группы из рекомендаций в 90% случаев, а в 10% случаев убрали из рекомендаций ещё и продавцов контрольной группы; 

  • сформировали 3 тестовые группы: 

  1. Те, кто совсем не видит объявления недобросовестных продавцов.

  2. Покупатели, которые видят объявления продавцов контрольной и не видят объявления тестовой группы.

  3. Покупатели, для которых ничего не меняется.

В конце сделали корректировку на разницу воздействия во время теста и после раскатки. Так мы избавились от сетевого эффекта и неполного воздействия на продавцов тестовой группы.

С A/B-тестами удобно работать в Trisigma — платформе для тестирования, анализа и визуализации метрик, разработанной у нас в компании. Если хотите внедрить это решение в свою компанию — переходите на лендинг продукта и записывайтесь на демо.

Как вам обновленный сетап A/B-теста? Пишите в комментариях, как можно сделать этот эксперимент ещё лучше.

Заглядывайте также в наш канал «Коммуналка аналитиков»: здесь понравится каждому, кто интересуется аналитикой и любит читать тексты на эту тему.

А если хотите вместе с нами помогать людям и бизнесу через технологии — присоединяйтесь к командам. Свежие вакансии есть на нашем карьерном сайте.

Теги:
Хабы:
+19
Комментарии2

Публикации

Информация

Сайт
avito.tech
Дата регистрации
Дата основания
2007
Численность
5 001–10 000 человек
Местоположение
Россия
Представитель
vvroschin