Борзило
@y_borzilo
АА тесты какие и когда применять ⚒
В этом посте хочу попытаться описать ситуации, в которых вам могут пригодится АА тесты. Для начала скажем о том, что АА тесты могут быть реальными и симуляциями. Дальше покажу когда и как их применять.
При проведении АА тестов мы обычно ожидаем, что мы получим сбалансированные однородные выборки, а метрики будут примерно равны и мы не увидим стат.значимых отличий, в большинстве случаев, за исключением ошибок первого рода, которые должны быть примерно равны уровню альфа.
❇️ 1. Реальные АА тесты в проде на живых пользователях
Такие АА тесты позволяют проверить полностью весть setup эксперимента. Под setupом эксперимента я имею в виду, сплитовалку, инфраструктуру, трекинг, реализацию самих вариантов, метрики, стат критерий.
Технические проблемы могут приводить к тому, что ваши выборки будут неоднородны и разбалансированы и как следствие метрики будут прокрашиваться чаще чем в 5% случаев. Либо вы можете использовать неподходящий стат критерий для метрик и тогда тоже будете получать завышенный FPR.
Основная проблема, что по одному или нескольким реальным АА тестам нельзя сделать вывод о проблемах, особенно если неоднородность выборок не очень большая. Если есть какая-то серьезная проблема, то на небольшом числе АА тестов ее можно будет заметить.
Например если 5 из 10 АА тестов прокрасились, то скорее всего где-то проблема. Если 1 из 10 то может это случайность. В идеале нам нужны 1000 АА тестов, но делать их в проде долго. Дальше мы рассмотрим другой вариант.
❇️ 2. Симуляции АА тестов на основе данных реального АА теста
Мы запустили АА тест, собрали данные. Теперь мы можем взять каждую из выборок и насемплировать из них подвыборки и сравнить их между собой с помощью стат теста, например 1000 симуляций АА тестов.
При альфа 5% мы будем ожидать ложных прокрасов примерно в 5% случаев, но если выборки не однородны, то мы например можем получить 10% ложных прокрасов, тогда встает вопрос о валидности системы из которой были получены реальные выборки.
❇️ 3. Искусственные АА тесты сплитовалки
Сплитовалка сервис, который присваивает варианты АБ тестов. Как правило у сплитовалок есть api, куда отправляют запрос, а в ответ получаю вариант экспа.
Я завожу эксперимент, никаких вариантов не создаю. Моя задача просто проверить как работает сама сплитовалка, без учета последующего сэтапа в виде инфры или реализации вариантов.
Если у вас есть id пользователей вы можете закинуть их в сплитовалку для рандомизации и потом сравнить баланс полученных групп и однородность параметров обоих выборок, чтобы оценить насколько хорошо работает сам сплит без учета последующих элементов которые могут вносить искажения.
❇️ 4. Симуляция АА тестов на исторических данных для валидации метрик и стат тестов
Здесь идея в том, что мы берем некоторые реальные исторические данные, на которых считаем наши метрики. При помощи python у себя на компе генерим из этих данных выборки, загоняем нашу метрику в стат тест и оцениваем на 1000-10000 симуляций АА тестов, выдерживает ли связка метрика - стат критерий долю ложно-положительных прокрасов на уровне альфа.
❇️ 5. Модельные симуляции АА тестов
Иногда в результате реальных АА и АБ тестов вы можете получить какие-то неожиданные результаты или какое-то непонятное для вас распределение метрик.
На результат АА, АБ теста может влиять много вещей: сплитовалка, инфраструктура, реализация вариантов, качество трекинга, проблемы в etl и потеря данных в витринах и вот иногда кажется, что результат какой-то не такой и хочется его с чем-то сравнить, в таком случае я прибегаю к модельным симуляциям.
Под модельными симуляциями я имею в виду максимально стерильные условия, когда мы что-то пытаемся замоделировать на искусственных данных у себя на компе, в таком случае практически ничего не может повлиять на конечный результат. Потом результат модельных симуляций сравниваем с тем, что мы получаем в боевых условиях и пытаемся понять норма это или нет
#ab
В этом посте хочу попытаться описать ситуации, в которых вам могут пригодится АА тесты. Для начала скажем о том, что АА тесты могут быть реальными и симуляциями. Дальше покажу когда и как их применять.
При проведении АА тестов мы обычно ожидаем, что мы получим сбалансированные однородные выборки, а метрики будут примерно равны и мы не увидим стат.значимых отличий, в большинстве случаев, за исключением ошибок первого рода, которые должны быть примерно равны уровню альфа.
❇️ 1. Реальные АА тесты в проде на живых пользователях
Такие АА тесты позволяют проверить полностью весть setup эксперимента. Под setupом эксперимента я имею в виду, сплитовалку, инфраструктуру, трекинг, реализацию самих вариантов, метрики, стат критерий.
Технические проблемы могут приводить к тому, что ваши выборки будут неоднородны и разбалансированы и как следствие метрики будут прокрашиваться чаще чем в 5% случаев. Либо вы можете использовать неподходящий стат критерий для метрик и тогда тоже будете получать завышенный FPR.
Основная проблема, что по одному или нескольким реальным АА тестам нельзя сделать вывод о проблемах, особенно если неоднородность выборок не очень большая. Если есть какая-то серьезная проблема, то на небольшом числе АА тестов ее можно будет заметить.
Например если 5 из 10 АА тестов прокрасились, то скорее всего где-то проблема. Если 1 из 10 то может это случайность. В идеале нам нужны 1000 АА тестов, но делать их в проде долго. Дальше мы рассмотрим другой вариант.
❇️ 2. Симуляции АА тестов на основе данных реального АА теста
Мы запустили АА тест, собрали данные. Теперь мы можем взять каждую из выборок и насемплировать из них подвыборки и сравнить их между собой с помощью стат теста, например 1000 симуляций АА тестов.
При альфа 5% мы будем ожидать ложных прокрасов примерно в 5% случаев, но если выборки не однородны, то мы например можем получить 10% ложных прокрасов, тогда встает вопрос о валидности системы из которой были получены реальные выборки.
❇️ 3. Искусственные АА тесты сплитовалки
Сплитовалка сервис, который присваивает варианты АБ тестов. Как правило у сплитовалок есть api, куда отправляют запрос, а в ответ получаю вариант экспа.
Я завожу эксперимент, никаких вариантов не создаю. Моя задача просто проверить как работает сама сплитовалка, без учета последующего сэтапа в виде инфры или реализации вариантов.
Если у вас есть id пользователей вы можете закинуть их в сплитовалку для рандомизации и потом сравнить баланс полученных групп и однородность параметров обоих выборок, чтобы оценить насколько хорошо работает сам сплит без учета последующих элементов которые могут вносить искажения.
❇️ 4. Симуляция АА тестов на исторических данных для валидации метрик и стат тестов
Здесь идея в том, что мы берем некоторые реальные исторические данные, на которых считаем наши метрики. При помощи python у себя на компе генерим из этих данных выборки, загоняем нашу метрику в стат тест и оцениваем на 1000-10000 симуляций АА тестов, выдерживает ли связка метрика - стат критерий долю ложно-положительных прокрасов на уровне альфа.
❇️ 5. Модельные симуляции АА тестов
Иногда в результате реальных АА и АБ тестов вы можете получить какие-то неожиданные результаты или какое-то непонятное для вас распределение метрик.
На результат АА, АБ теста может влиять много вещей: сплитовалка, инфраструктура, реализация вариантов, качество трекинга, проблемы в etl и потеря данных в витринах и вот иногда кажется, что результат какой-то не такой и хочется его с чем-то сравнить, в таком случае я прибегаю к модельным симуляциям.
Под модельными симуляциями я имею в виду максимально стерильные условия, когда мы что-то пытаемся замоделировать на искусственных данных у себя на компе, в таком случае практически ничего не может повлиять на конечный результат. Потом результат модельных симуляций сравниваем с тем, что мы получаем в боевых условиях и пытаемся понять норма это или нет
#ab
🔥 8
❤ 1
❤🔥 1
25 31 2.4K
Обсуждение 25
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram