websitelytics

Menu

Современное A/B тестирование

Опубликовано: 02 янв 2024

Решил просуммировать основные правила, как они мне видятся, современного подхода к A/B тестам, проверке гипотез, культуре экспериментов.

1. Математическое обоснование используемых критериев.

Не стоит верить любой статье в интернете о применении статистических критериев для A/B тестов. Даже специалист в data science не всегда может достаточно хорошо знать статистику. Как правило такие статьи не содержат математического обоснования, и из них нельзя понять насколько точен тот или иной способ и какова область его применения. Если вы строите устойчивую систему A/B тестов, необходимо иметь математическое обоснование для каждого статистического подхода, метода, который вы используете, составленное в виде отдельного четкого документа, который, например, может содержать следующие разделы:

2. Симуляции на синтетических данных.

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

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

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

В качестве непараметрического теста часто используется Бутстрап. Это хорошо изученный и достаточно мощный и универсальный метод, применяемый в случае, когда выборки являются репрезентативными, но стоит помнить, что Бутстрап - это не просто "for loop" – это система методов, поэтому предпочтительнее использовать хорошо разработанные статистические пакеты.

4. Относитесь к экспериментам, как к способу развития культуры данных в целом.

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

5. Умейте запускать эксперименты легко.

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

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

6. Стройте гибкие системы A/B тестирования

Если вы построили систему A/B тестирования — не рассматривайте ее, как способ убрать аналитиков из процесса оценки результатов экспериментов. Как данные самих выборок, так и полученные результаты могут содержать "подводные камни". Предоставьте возможность экспортировать расчеты из вашей платформы экспериментов, например, в jupyter notebook, для их более детального изучения.

7. Другие аспекты

Помните о спутывающих факторах, о необходимости учитывать сезонности, эффекты новизны и привыкания и другие аспекты и нюансы проведения контролируемых экспериментов. Данный список можно развивать и развивать. Успехов вам в развитии Культуры экспериментов!