Open source библиотека для проведения А/Б тестов Retail Rocket Segmentator
Те, кто следит за регулярными постами о А/Б тестированиях нашего сервиса в блоге Retail Rocket, знает, что мы в RR съели на А/Б тестах столько собак, что хватило бы на все палатки шаурмы в Москве на целые выходные 🙂 Для нас очень важно, чтобы наши клиенты могли получить объективную картину об эффективности системы Retail Rocket и проведение A/Б-теста – один из лучших способов сделать это. К сожалению, по разным причинам, связаным с тем, как работает интернет, использование асинхронных облачных сервисов для проведения A/B тестов связано с огромным количеством проблем.
Содержание:
Вот некоторые из тех, что мы заметили за последние два года:
1. Всеобщая асинхронность внешних библиотек, подключаемых к сайту
VWO/Optimizely/CE/что-то еще ждет события “загрузка страницы”, которое при определенных обстоятельствах может и не наступить (например, из-за ошибки или повсеместно используемого плохого кода одной из десятков систем, чей JS установлен на каждом сайте).
Дополнительная проблема – системы веб-аналитики, используемые для пост-тест анализа, так же асинхронны и нет гарантии того, что событие / пользовательская переменная / custom dimension, проброшенный из JS инструмента для проведения сплит-теста, отработает в нужный момент (в случае с custom var – до отработки _trackPageView, в случае с event – после инициализации ga.js).
Еще одна проблема – задержка при применении изменений в вариациях. Если с помощью асинхронного инструмента изменяется какой-нибудь стиль элемента интерфейса, пользователи будут видеть как происходит это изменение, потому что оно произойдет через 1-2-3 секунды (в зависимости от скорости соединения) после отрисовки страницы.
2. Проблемы с делением трафика
Проведите простой эксперимент. Разделите трафик вашим любимым инструментом на 2 сегмента, из каждого вызывайте свой _trackEvent. Потом в GA заведите сегмент, который содержит 2 события из разных сегментов теста и сегмент, который не содержит ни одного события. И посмотрите сколько в них трафика. По нашему опыту, “проблемная” аудитория, относимая на оба сегмента или не относимая ни на какой, может доходить до 30%.
3. Кросс-браузерность
Очень сложно гарантировать одинаковую работу инструмента для проведения А/Б теста, особенно современного – с WYSIWYG редактором сайта и другими сложными фичами – в разных браузерах. Традиционно проблемными и в то же время довольно популярными – IE8 и Opera 12 – этот список не ограничивается.
Решение – Retail Rocket Segmentator
По этим и ряду других причин, мы решили сделать простой, удобный в использовании и, что немаловажно, бесплатный инструмент для проведения А/Б тестов. Он представляет из себя небольшой JS-файл, который можно скачать, залить к себе на сайт, прилинковать в <head> и без труда запустить А/Б тест. Скрипт распространяется бесплатно без каких либо ограничений. Подробная документация с примерами использования на GitHub: https://github.com/RetailRocket/RetailRocket.Segmentator
Мы провели исследование эффективости распределения аудитории на очень большом трафике с передачей идентификатора сегмента в Google Analytics. Результат более чем внушительный: разница в количестве пользователей в сегментах – менее 0.001%
Инструмент доступен бесплатно всем желающим. С его помощью можно протестировать не только Retail Rocket и пользоваться им могут не только интернет-магазины. С его помощью можно провести любой эксперимент, будь то тестирование новой страницы или отдельно взятого элемента интферйса. Будем рады получить ваши отзывы в комментариях к посту и форки к проекту на Гитхабе