Есть ли хорошие стратегии для тестирования A/B на мобильных устройствах?

Основываясь на том, что я знаю, рамки тестирования A/B предназначены для работы с веб-сайтами. Например, вы хотите знать, какой синий/красный цвет кнопки "Купить" побудит пользователя щелкнуть его.

Поскольку информация о веб-сайте пользовательского интерфейса поступает с сервера, а браузеры отображают его, возможно тестирование A/B. Однако, поскольку пользовательский интерфейс мобильных приложений является родным и статическим, невозможно выполнить тестирование A/B таким же образом (если я не ошибаюсь).

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

Любое предложение будет оценено по достоинству. Спасибо.

Ответ 1

Тестирование A/B на мобильных устройствах отличается от веб-сайта в двух основных пунктах:

  • Веб-сайт всегда подключен к Интернету. Собственное мобильное приложение похоже на приложение Windows в 90-е годы: оно не всегда имеет надежное подключение к Интернету.
  • Интернет намного более зрелый, чем мобильный. Современные веб-инструменты тестирования A/B могут полностью контролировать все элементы веб-страницы.

Основная задача - создать архитектуру клиент-сервер: client server

Пометьте вручную те элементы, которые необходимо проверить в приложении

Вы помечаете вручную элемент, который вы хотите проверить A/B, и ваша структура спросит сервер, какой элемент будет отображаться. (Варианты сохраняются на стороне сервера). Например, цвет кнопки может быть получен с сервера и установлен во время выполнения, когда отображается кнопка. Не совсем верно, что собственные мобильные интерфейсы являются статическими. Они могут быть модифицированы во время выполнения программно.

Отправлять события на ваш сервер

Второй шаг - отправить событие на ваш сервер при просмотре варианта и при успешном преобразовании.

Потенциальные проблемы

Используя эту тривиальную архитектуру, у вас возникнут следующие проблемы:

Всегда показывать что-то

Когда кнопка должна отображаться, мобильное устройство может вообще не иметь подключения к Интернету. Вам все равно нужно показать что-то в своем пользовательском мероприятии, если интернет-соединения там нет. Решение состоит в отображении значения по умолчанию.

Сохранять события

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

Никогда не ждать изменения

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

Вы должны создать мобильную инфраструктуру, чтобы никогда не блокировать приложение. Это золотое правило на мобильных устройствах.

Сохранить атрибуты изменений

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

Технологический стек

Операционная система/язык программирования

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

База данных

У вас также могут быть миллионы записей базы данных. Создание отчетов не так просто, как выполнение "ВЫБРАТЬ COUNT (*)" из таблицы базы данных для проблем с производительностью. Будьте осторожны, если вы выберете несвободные технологии.

Отказ от ответственности: я технический директор Arise.io

Ответ 2

В отличие от Интернета, изменение контента в мобильных приложениях является более сложным процессом. В частности: все обновления кода для вашего приложения должны быть одобрены Apple/Google.

Введите такие услуги, как Leanplum. Leanplum позволяет своим клиентам тестировать почти каждый аспект своего приложения тремя основными способами:

  • Редактор визуального интерфейса: это не требует кодирования, и Leanplum автоматически обнаружит элементы и позволит вам их изменить. Нет необходимости в повторной передаче инженеров или приложений.
  • Система управления контентом: включает более подробные изменения в приложении.
  • Автоматизация мобильного маркетинга: полнофункциональное решение, в котором каждое сообщение и уведомление, отправленные вашим пользователям (будь то приложение, push, электронная почта или в ленте новостей), могут быть проверены A/B и персонализированы.

Для получения дополнительной информации о лучших методах тестирования A/B для мобильных устройств вы можете проверить это сообщение в блоге Leanplum.

Чтобы узнать больше, посетите наш сайт leanplum.com. Мы предлагаем бесплатные 30-дневные испытания нашей платформы, поэтому вы можете экспериментировать с построением более совершенных отношений с вашими клиентами без каких-либо обязательств.

(Отказ от ответственности: я инженер в Leanplum.)

Ответ 3

Некоторые твердые сообщения были написаны мобильными инженерами на Facebook и LinkedIn в своих внутренних системах тестирования A/B за последний месяц. Но если вы бежите и не хотите изобретать колесо, посмотрите одно из решений, перечисленных выше (Раскрытие: я работаю для Splitforce).

Как это работает

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

Эта методология поднимает потенциальную проблему с производительностью: что, если конечное пользовательское устройство не подключено, чтобы вытащить данные конфигурации для проверяемого объекта?

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

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

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

И как только приложение будет развернуто с помощью данных Splitforce, данные будут храниться локально и отправляться обратно на веб-сайт, который будет отображаться для каждого варианта, наряду с измерениями наблюдаемого улучшения и статистической достоверностью.

Как он используется?

Мы видели, что Splitforce используется для теста A/B:

  • Элементы пользовательского интерфейса + макеты (цвет, текст, изображения, места размещения объявлений/меню)
  • Рабочие процессы UX
  • Динамика игры + правила
  • Цены + акции

Мы также видели инструмент, используемый для отладки и перенастройки приложений удаленно, по существу устанавливая один вариант испытуемого на 100%.

Ответ 4

В еще один ответ на этот вопрос poiuytrez дает хороший обзор соображений, связанных с развертывая собственную собственную тестовую платформу A/B. Поскольку decorum препятствует тому, чтобы он упоминал о готовых решениях из-за его участия в продукте в космосе, ради полноты, я хотел бы предложить, чтобы любой, кто хочет внедрить тестирование мобильных A/B, должен рассмотреть возможность использования существующих решений, особенно потому, что проблема поддается разумно естественному разделению структуры из приложения-приложения.

Коммерческие схемы тестирования A/B

Возможность эффективно отделять тестирование A/B от тематического приложения в сочетании с возможностью немедленного измеримого улучшения доходов привела к шквал коммерческой активности в тестировании мобильных A/B для приложений:

Свободные рамки тестирования A/B

Amazon имеет службу тестирования Amazon A/B для экспериментов в приложении.

Структуры тестирования A/B с открытым исходным кодом

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

Отказ от ответственности. У меня нет продуктов в тестировании на мобильных A/B, и я спонсировал щедрость по этому вопросу, поэтому я не имею права на получение вознаграждения.

Ответ 5

Несколько раз назад я написал простую библиотеку тестирования A/B для приложений Android. Для сбора данных вы можете выбрать mixpanel, kissmetrics или собственный сервер. Подробнее об этой библиотеке можно узнать здесь: