Как связаны А/B тестирование и хэш функции? Рассказываю:
На курсах по аб тестированию, как правило, акцент на теоретическую часть анализа результатов аб и культуру аб, но вот вам несколько технических нюансов, которые полезно учесть в коде, когда формируем сам сплит.
🙌 Реализовал для вас коротенькую и почти идеальную функцию для аб сплита. Учитывает сразу много подводных камней, на которые можно напороться по незнанию. Вот некоторые из них.
⚡️ Не стоит заранее рассчитывать группу для аб - это долго, ресурсоёмко при большой клиентской базе, не гибко для быстрых изменений, не эффективно по памяти, плодит «легаси», сложный код и тп
⚡️ Важно, чтоб сплит был полностью воспроизводим при одних и тех же данных. Причем важно, чтоб воспроизводимость была на разных машинах! Так вы легко сможете ловить косяки модели, воспроизводить и выяснять причину, даже если ваша модель параллелится на несколько инстансов.
⚡️ Если даже отбросить воспроизводимость ради оперативного анализа результата, то можно испортить клиентский опыт, если решение отрабатывает в разные моменты времени по-разному. (сейчас у вас минималка 500 рублей, а через секунду 2000 рублей. Клиент удивится)
⚡️ Название сплита можно делать интерпретируемым и логировать на бэке. Так ускоряется разработка дашбордов вашей фичи.
⚡️ Формирую группу эксперимента хэш функцией, а не рандомом с фиксированным сидом. Так в одну строчку можно изящно заложить контекст и «соль» эксперимента. А еще сохраним возможность делать switch-back или дополнительно стратифицировать группу по полу или городу.
Пишите критику в комменты. Может у вас есть пример получше моего?
Post #710
12K
- 👍 68
- 🔥 10
- ❤ 9
- 👎 5
- 🤔 1