О персонализации Remote Config

Персонализация использует машинное обучение, а именно контекстный алгоритм многорукого бандита, чтобы определить оптимальный вариант для отдельных пользователей и достичь цели. В нашем случае цель – оптимизировать общее количество или общее значение параметра определенных событий Google Analytics.

Что такое контекстный алгоритм многорукого бандита?

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

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

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

Что это значит для моего приложения?

Рассмотрим, что означает алгоритм многорукого бандита в контексте вашего приложения. Предположим, вы оптимизируете клики по объявлениям. В этом случае "руками" персонализации будут альтернативные значения, которые вы указываете для представления различных баннеров, которые вы хотите показывать пользователям. Клик по баннеру – это вознаграждение, которое называется целью.

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

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

Отслеживание дополнительных показателей

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

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

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

Как работают результаты персонализации

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

Чтобы посмотреть результаты персонализации, выполните следующие действия:

  1. В консоли Firebase перейдите на страницу DevOps & Engagement (DevOps и взаимодействие) > Remote Config > Personalizations (Персонализации).

  2. Выберите нужную персонализацию. Вы можете найти нужную персонализацию по названию или цели, а также отсортировать по названию, времени начала или общему приросту.

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

На странице результатов также показаны текущий статус персонализации, ее атрибуты и интерактивная диаграмма, которая:

  • Показывает подробные данные за день и за весь период о том, насколько персонализация эффективна по сравнению с базовым вариантом.

  • Показывает, насколько эффективно каждое значение в контрольной группе.

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

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

Что нужно знать об удалении персонализации

Удалить персонализацию можно в консоли Firebase или убрав параметр персонализации из шаблона с помощью Firebase Remote Config API. Удаленные персонализации нельзя восстановить. Подробнее об удалении данных…

Вы также можете удалить персонализации, откатив изменения или импортировав шаблон.

Откаты

Если в текущем шаблоне есть персонализации, а вы выполните откат к шаблону, в котором их нет, то персонализации будут удалены. Чтобы вернуться к предыдущему шаблону, используйте консоль Firebase или roll back с помощью Firebase Remote Config API.

Если вы удалите персонализацию и вернетесь к предыдущему шаблону, в консоли Firebase появится ссылка на эту недействительную персонализацию. Вы можете удалить недопустимую персонализацию в консоли Firebase, изменив ее на вкладке "Параметры" страницы Remote Config.

Импорт

Если вы импортируете шаблон, в котором нет ваших текущих персонализаций, они будут удалены. Чтобы импортировать шаблон, используйте консоль Firebase или REST API Remote Config.

Дальнейшие действия