AB тесты и все вот про это вот все – Telegram
AB тесты и все вот про это вот все
1.88K subscribers
23 photos
1 video
4 files
249 links
Полезная информация об A/B тестировании. По любым вопросам можно писать - @ealexandr
Download Telegram
Ребята из продуктовой аналитики Mail.ru в VK рассказали о своей расчетной архитектуре платформы для A/B-тестов Mail.Ru и ее недавнем обновлении, поделились опытом и инсайтами. Они создали архитектуру метрик для A/B-тестов, которая позволяет масштабировать сложность расчетов.

Сама статья - https://habr.com/ru/companies/vk/articles/781300/
👍5
Forwarded from Время Валеры
Прочитал заметку от Spotify - Choosing a Sequential Testing Framework — Comparisons and Discussions

Рассматривают различные подходы для непрерывного тестирования в А/Б тестах, то-есть когда можно подглядывать, их плюсы и минусы

Group sequential tests
Плюсы: подход с alpha-spending функцией, которая тратится, только когда мы проверяем результаты, позволяет принимать решение, готовые ли мы сейчас подглядывать или лучше подождем. Если не подсматривать - тест сходится до традиционного z-test.
Легко объяснить - по факту z-test.
Минусы: нужно знать предельное количество данных, которое мы можем собрать, если что то пойдет не так в обе стороны, то тест может иметь как заниженный, так и завышенный false positive rate
Нужно выбирать alpha-spending, если мы заранее знаем сколько данных, то это не проблема, а если не знаем - underpower
Подглядывать можно не более пары сотен раз
Заметка для себя: Надо посмотреть пересекается ли как то с этим - Increase A/B Testing Power by Combining Experiments & Weighted Z-test

Always valid inference - куда входит любимый нами mSPRT The Mixture Sequential Probability Ratio Test
Плюсы: Легко воплотить
Можно сколько удобно данных скормить и не нужно знать размер данных заранее
Можно задать любое правило для остановки
Работает как с батчами так и со стримингом (в отличии от пункта выше)
Минусы: Нужно описывать параметры распределения для успеха, как некоторую смесь распределений
Тяжелее понять для челов, которые не понимают
Underpowered если батч а не стриминг, потому что обновляются данные сразу куском, а не по итерации
Заметка для себя: - Давно такой лажи надуманной я не читал, челы сразу сказали в начале статьи, что выбирают GST и начали выдумывать какие-то дурацкие причины почему mSPRT плох. Ну то есть, да, есть некоторая смесь распределений, но даже смесь распределений это распределение, на практике мы всегда делаем какое-то допущение, это в принципе тоже самое как задавание MDE, которые мы хотим поймать. То, что кому-то тяжелее это понять, удивительная причина, там все довольно просто на пальцах показать, для многих будет даже проще z-testа, ну а то - что underpowered для батчей - вообще ерунда. Кто вам мешает взять батч и прогнать его последовательно как будто это стриминг, ведь timestamp для каждого события есть, а обновление - это операция умножения двух циферок, то есть по факту вы это итак делаете с батчем, просто докинуть один sort
Bonferroni corrections - куда-же без нее
Плюсы - легко закодить
Минусы - заранее решаем сколько раз будем подсматривать
Если подсматривать много раз, скорее всего ничего не найдем

Проверили эти подходы на симуляции
Bounded false positive rate - держится у всех
GST всех побил по чувствительности на батчах, правда на стриминге он просто не работает и пойди тут сравни теперь, судя по всему mSPRT они не обработали в батчах через таймстемпы и должного сравнения мы не получим (если только их графики батча и стрима это не один и те-же данные, тогда худо бедно можно сравнить Можно пойти и посмотреть код - оставляю это на вашу совесть, код написан в R)

Описали свои выводы - что и когда брать. В целом читать можно и нужно, но с осторожностью
#ArticleReview
1👍1🔥1
На досуге в небольшой статье собрал список самых серьезных ошибок при проведении A/B-тестов. В формате вредных советов, чтобы более явно их подсветить.
Если что-то забыл или ошибся, у нас есть комментарии. И список будет доработан. Буду очень благодарен критике.
Собственно, статья.
🔥3👍2
Наиболее цитируемые статьи по экспериментам

Мы в EXPF ведем свою базу знаний по всему, что связано с экспериментированием. Она включает в себя в внешние источники, такие как публичные gihub репозитории и интересные статьи. Очевидно, нам это необходимо для более эффективной реализации проектов, а также для понимания рынка экспериментирования.

Иногда мы заглядываем в открытые сборники с пейперами. Ниже дана ссылка на сборник от Ронни Кохави со списком наиболее цитируемых статей от авторитетных авторов.

Эта коллекция регулярно обновляется, поэтому рекомендую также добавить к себе в закладки:

https://docs.google.com/spreadsheets/d/1PAWG7NWVEwAwwfrd9b-V5o5q4nB6i67N2ITrzyrIdP0/edit#gid=224694437
👍3
Рекомендую посмотреть крайне интересное недавнее видео о проведении АБ-теста в оффлайн-ритейле, в формате собеседования. Там все работает несколько иначе, нем на наших привычных сайтах, приложеньках, играх. Оттого еще интереснее. Смотрим...
💩2👍1
Когда подводим результаты АБ-теста, выносим некий вердикт, например, стат. значимых изменений нет, нулевая гипотеза отвергнута, идем дальше.

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

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

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

В такой ситуации стоит подводить итоги, как изначально планировалось. И, если все же приняли решение что-то дополнительно поисследовать в каких-то сегментах, оформить это именно как доп. исследование, не касающееся основных выводов по эксперименту. Мы же за истину все ж...
👍12
Сейчас, наверное, у всех крупных компаний используются собственные платформы для проведения АБ-тестов. Если кто-то еще на пути к этому, кое-где можно срезать углы, использовав чужой опыт.

И вот что некоторые из них про это рассказывают:
- Авито раз и два
- Ozon раз и два
- Lamoda
- Сбер
- Х5 про оффлайн-эксперименты
13
Сбермаркет продолжает тему про платформы для A/B-тестов и проводит 28 марта митап.
Помимо Сбермаркета участвуют EXPF (легендарные легенды индустрии) и Авито (не менее легендарные легенды в своей индустрии).
Ссылка на регистрацию
🔥6
А если свой платформы для АБ-тестов нет и не используется готовое внешнее решение, приходится обходиться собственными силами. Тут у нас снова развилка:
- писать свои функции-библиотеки
- приспособить готовые библиотеки на питоне

Из интересных библиотек могу выделить две:
- Ambrosia от коллег из МТС
- Kolmogorov ABacus

Недавно потестировал Kolmogorov ABacus, очень даже неплохо. Основные особенности:
- Оценка результатов эксперимента с помощью многих стат. критериев, в том числе бустрапа - собственно, ожидаемо
- Инструмент для деления на группы с оценкой качества деления
- Подготовка эксперимента - ошибки 1 и 2 рода, mde, расчет необходимой выборки

Ссылки:
- Гитхаб
- Примеры оценки результатов эксперимента на гитхабе
- Документация
- Канал в телеграме
- Чат поддержки в телеграме
- Статья на Хабре об использовании
🔥8👍21
Несколько дней назад коллега из Сбермаркета написал статью по работе с Ratio-метриками в AB-тестах. В ней предлагается использовать линеаризацию.
Почему это интересно. Потому что у наших любимых бутстрапа и дельта-метода тоже есть как сильные, так и слабые стороны. Плюс дополнительный метод точно будет полезен.

И еще прикладываю несколько материалов на тему дельта-метода и ratio-метрик:
- раз
- два
- три
- четыре
- пять
🔥13👍3
Если вдруг кто-то пропустил митап от EXPF, запись здесь.
Темы:
- Как из подручных средств организовать процесс А/В тестирования
- Критерии валидности АБ-тестов
- Поиск Эффективных Прокси-Метрик
- Сбор качественных данных для проведения А/Б тестов
🔥102
Тут очень интересный доклад легендарного в некоторых кругах Анатолия Карпова про оценку продолжительности АБ-теста. Это одна из самых интересных и проблемных вопросов при проведении экспериментов. Внутри подглядывание, т-тесты, mde, fixed horizon.
Отдельно рекомендую к просмотру раздел со штрафами за подглядывание - менеджерам может понравиться...
Статья EXPF, о которой говорит Анатолий, здесь.
Интересный разговор Александра Игнатенко (телеграм-канал Модель атрибуции) и Виталия Черемисинова (EXPF) про:
- альтернативы закрывшемуся Google Optimize
- особенности интерфейса GA4
- внедрение Сигмы от EXPF
- метрики экспериментов
- распространенные ошибки в командах, работающих с АБ-тестами
- нужно ли очень глубоко закапываться в исследования данных при АБ-тестах
- прочие важные вопросы про АБ-тесты и эксперименты от зрителей стрима

Незаслуженно мало просмотров у ролика как-то.
👍5
Тем, кто начинает заниматься АБ-тестами, часто кажется, что самое главное - делить на группы, считать  pvalue, выбирать стат. Критерий. Но это не так.
На AHA сейчас идёт мастер-класс, на котором наши коллега из Самокат Тех разбирает дизайн АБ-теста со своего конкурса.
Для тех, кто не очень понимает, с чего начинается эксперимент, рекомендую.
👍7
А Озон банк показал свои ключевые принципы АБ-тестов
👍6
Посматриваю на досуге AHA, ММ. И тут прекрасные доклады - casual impact, сетевые эффекты, использование ml, повышение чувствительности и прочие. Наивному зрителю может показаться, что все вокруг проводят АБ-тесты и прямо мастера.

К сожалению, опыт и общение с коллегами из других компаний рисуют альтернативную действительность - зачастую отсутствует культура проведения АБ-тестов, просто непонимание, как это работает. Из-за этого результаты получаются не такие, как ожидалось. А на словах зато прекрасно звучит "мы проводим эксперименты".

Простые примеры:
- мы раскатили эксперимент на 100%, после посмотрим когортно
- вчера запустили, давай завтра посмотрим промежуточные результаты, сверху просят
- планируем сделать 12/20/30/100500 тестовых вариантов
- запустим, а потом посмотрим, какие метрики нам выбрать
- не знаю, на сколько планируем увеличить метрики - посчитаем и решим, достаточно ли
- а зачем присваивать пользователям эксперимента метки, оно само не прорастет?
- почему не выросла конверсия? она же выросла на 0,003%
- да, мы не получим стат. значимых результатов, но давай проведем - начальство просит
- да, не получили, раскатываем на всех пользователей - начальство решило

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

Гугл сломался, чатгпт, видимо, тоже? Впрочем, вопрос скорее риторический.

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

Добавляю картинку, сгенерированную по тексту "неудачный аб-тест".

Всем хорошего понедельника.
👍15
Можно не беспокоиться, я не впал в летаргический сон. Жив, относительно здоров.

Тут появилась новая статья по бутстрапу. Смотрим теорию, кодим на питоне, ищем (и, к сожалению, находим) слабые места.

Также прикладываю список материалов по бутстрапу, что у меня есть:
- Статья Бутстрап, или прикладная статистика почти без формул
- Лекция EXPF
- Статья Использование бутстрапа
- Бутстреп и А/Б тестирование
- Большой подробный гайд про то как работает бутстрап
- Пуассоновский бутстрап
- Статья Бутстреп и А/Б тестирование
- Вебинар Анатолия Карпова Bootstrap VS t - test
Мой код на гитхаб для расчета бустрапа и децильного бутстрапа

Бутстрап, как метод анализа АБ-тестов, по моему скромному мнению, прекрасен, имеет минимум ограничений. При этом не то, чтобы часто слышу, что "мы его используем часто, почти постоянно". А жаль.
👍7🔥31