Как просто реализовать А/Б тестирование в мобильном приложении?

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

Описанную проблему решает возможность А/Б тестирования в вашем мобильном приложении. Для А/Б тестирования существуют специальные сервисы (Swrve, Arise и другие), но они стоят немалых денег и требуют времени для добавления их SDK, настройки и изучения.

Я хочу рассказать о простом способе, как можно реализовать А/Б тестирование в вашем мобильном приложении (а заодно и возможность настраивать ваше приложение под определенные группы пользователей), всего за несколько часов без денежных затрат и необходимости вкручивать сторонние SDK.

А/Б тестирование мобильных приложений

 

 

Что вам потребуется для реализации А/Б тестирования в мобильном приложении

  1. гибкая система аналитики внутри приложения (Mixpanel, Kissmetriks)
  2. четкий список переменных, с которыми вы хотите экспериментировать (цвета кнопок, количество результатов поиска на одной странице, переменные баланса в игре)
  3. специальный xml файл на сервере, в котором будут храниться настройки А/Б теста
  4. пару часов вашего времени

 

Клиент

Теперь необходимо реализовать следующую логику на клиенте:

  1. каждому новому пользователю присваивается случайное число от 0 до 9
  2. каждому новому пользователю присваивается номер дня (уникальное значение для каждого дня), когда он пришел в приложение
  3. после присваивания этих значений приложение должно обратиться на сервер и проверить есть ли для полученной пары значений (случайное число и день) специальные настройки
  4. если настройки есть, то установить их, если нет (или нет интернета), то использовать дефолтные

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

 

Сервер

Теперь пришло время создать xml файл на сервере, к которому будет обращаться приложение.

В этом файле мы для конкретных групп пользователей (группа пользователей определяется днем прихода в приложение и случайным числом) задаем специальные настройки приложения.

Теперь мы можем проводить эксперименты на небольшой части аудитории и при необходимости раскатывать их на всех наших пользователей. Результаты мы моментально видим в нашей системе статистики (Mixpanel, например, работает в real time). Важно: не забудьте перед принятием решений на основе полученных данных, проверить статистическую значимость полученных результатов.

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

Если вам понравился описанный способ реализации А/Б тестирования в мобильном приложении, то расскажите о нем друзьям с помощью социальных сетей. Спасибо.

Запись опубликована в рубрике Аналитика, Без рубрики, Мобильная разработка с метками , , . Добавьте в закладки постоянную ссылку.
  • Andrew Kovzel

    Используем похожее решение, описывал его в статье: http://habrahabr.ru/post/182804/

  • Слав Панкратов

    а если просто для 10к юзеров которые с начала АБ-теста зайдут (A — четный user_id, B — нечетный user_id) сделать тест — будет норм? Или обязательно нужно реализовывать схему с днями недели и случайными числами?

    если одновременно проводить несколько АБ-тестов — нужно обеспечивать чтобы юзер который участвовал в тесте 1, не попал в тест2 ?

    спасибо за статью! 🙂

    • Олег Якубенков

      Привет
      Простое разбиение пользователей на две группы — это частный случай того, что я описал. Так что если это решает ваши задачи, то и этого будет достаточно

      Я бы не рекомендовал пересекать аудитории разных аб тестов — потом запутаетесь.