Начало работы с прогнозами Firebase

Firebase Predictions применяет машинное обучение к вашим данным Google Analytics для Firebase, чтобы создавать группы пользователей на основе прогнозируемого поведения. Эти группы обновляются ежедневно и могут использоваться для таргетинга с помощью уведомлений, удаленной настройки и многого другого. По умолчанию Firebase Predictions создаст группы пользователей, которые, как считается, уйдут, скорее всего, не откажутся, скорее всего потратят и, скорее всего, не потратят. Если вы отслеживаете аналитику конверсий, вы также можете создавать прогнозы для этих событий. В этой статье я расскажу вам о прогнозах Firebase, о том, как их настроить, как это работает и как вы можете создавать и отслеживать свои собственные прогнозы.

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

За прогнозами Firebase стоит TensorFlow, фреймворк Google для машинного обучения. Он использует контролируемое обучение, когда мы читаем аналитическую активность вашего приложения за последние 100 дней и используем это для создания набора функций - входных данных для модели машинного обучения. На основе этих функций создается модель для прогнозирования их вывода (метки на языке машинного обучения) с четырьмя встроенными метками, упомянутыми выше. Так, например, при прогнозировании оттока пользователя программа Predictions будет анализировать поведение всех пользователей за последние 100 дней и использовать это, чтобы узнать о пользователях, которые оттолкнулись в течение этого периода времени. Затем модель поможет определить, какие пользователи могут уйти в ближайшие 7 дней. См. Рисунок 1.

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

Начиная

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

Шаг 1. Добавьте Google Analytics в свое приложение
Predictions получает данные из Google Analytics для Firebase. Реализовать это очень просто и не требует кода, что дает вам готовый набор общих аналитических инструментов.

Для Android добавьте это в свой файл build.gradle:

compile 'com.google.firebase:firebase-core:11.6.0'

Для iOS добавьте это в свой подфайл:

pod 'Firebase/Core'

Чтобы узнать больше, в том числе о том, как использовать код для написания пользовательской аналитики для ваших собственных аналитических событий, ознакомьтесь с документацией по адресу: https://firebase.google.com/docs/analytics/

Шаг 2. Включите прогнозы
При использовании Firebase в ваших приложениях у вас есть проект в облаке, который используется для всего администрирования. Вы получаете доступ к нему через Firebase Console. Итак, если вы никогда раньше не писали приложение Firebase и вам нужен проект на консоли Firebase, ознакомьтесь с этой статьей (iOS / Swift) или этой (Android), чтобы показать вам, как начать работу. Консоль разработана на основе принципов Firebase - разработка приложений, их стабилизация, их измерение с помощью аналитики и их развитие. Прогнозы считаются технологией роста, поэтому вы найдете ее в этом разделе. См. Рисунок 2.

Выберите Прогнозы, и вы увидите сообщение с просьбой согласиться с подробностями о том, как это работает. Обратите внимание, что в настоящее время он лучше всего работает для приложений, у которых не менее 10 000 активных пользователей в месяц. Выберите Да, я в курсе, и вы активируете Прогнозы. См. Рисунок 3.

Теперь вы увидите экран с 4 готовыми прогнозами. Поскольку вы только начали, прогнозов пока нет. На его создание уходит в среднем 24 часа, и больше, если вы не были активны в течение как минимум 100 дней или у вас менее 10 000 пользователей.

Понимание прогнозов

Через некоторое время ваши карты прогнозов заполнятся. Так, например, на рисунке 4 вы можете увидеть карту оттока для популярного приложения. В этом случае ожидается, что 20% пользователей приложения уйдут в течение следующих 7 дней. Это тревожная статистика, и полезно знать об этом до того, как это произойдет.

Обратите внимание на ползунок, который используется для установки допуска прогноза. Когда вы выбираете Низкая устойчивость к риску, как показано, вы отправляете сигнал о том, что хотите избежать ложных срабатываний в максимально возможной степени и получить доступ только к тем пользователям, у которых очень высокая вероятность совпадения прогноза. Существует три уровня допуска - низкий, средний и высокий, при этом сеть пользователей расширяется по мере продвижения по уровням с более высоким риском ложных срабатываний.

Вы можете проверить точность, открыв ползунок внизу карточки. В этом случае вы можете видеть, что прогноз оттока очень точен - обычно в диапазоне 95%. См. Рисунок 5.

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

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

Действуя на основе прогнозов

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

Возможны следующие варианты действий в отношении пользователей:
Использование Remote Config, технологии, в которой поведение приложения можно изменять удаленно, задав значение для отдельной группы пользователей. Так, например, группа пользователей, попавших в прогноз, может получить другое значение, чем все остальные.

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

Примеры прогнозов в действии

Halfbrick Studios
Отличным примером этого являются игры Halfbrick, которые уже реализовали Firebase Remote Config в своей игре Dan the Man и экспериментировали с предсказаниями пользователей, которые откатились бы, чтобы посмотреть, смогут ли они увеличить показатель удержания. Они решили подарить пользователям внутри приложения валюту, которая была предсказана для двух групп пользователей: тех, кто превзошел уровень 3 своей игры, и тех, у кого был предсказан отток в соответствии с прогнозами Firebase.

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

Результаты показывают, что не было никакой разницы в удержании при предоставлении вознаграждения пользователям, завершившим уровень 3, но было увеличение 7-дневного удержания на 20% для тех, кто, как предполагалось, откажется от получения подарка.

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

С этой целью Firebase Predictions также позволяет создавать прогнозы на основе настраиваемой аналитики. Мы обсудим это более подробно ниже.

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

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

Пользователи, попавшие в группу прогнозируемых расходов, получали Сундуки вверху экрана и Кристаллы внизу. Путем экспериментов они обнаружили, что это увеличило доход на 25%.

Пользователи, попавшие в группу предсказанных не тратить, получали кристаллы вверху экрана и сундуки внизу. Точно так же эта группа увеличила расходы на 24%.

Эксперименты, которые позволили получить упомянутые выше сравнительные доходы, были проведены путем объединения прогнозов Firebase с Firebase A / B Testing для сравнения гипотезы размещения экрана для прогнозируемой аудитории с контрольными группами.

Concrete Software
Многие приложения и игры используют покупки в приложениях и рекламу в приложениях для получения дохода, и Concrete Software хотели улучшить их пользовательский опыт, одновременно увеличивая свои доходы. Их гипотеза: пользователи, которые тратят деньги в приложении, не должны получать рекламу. Поэтому они использовали прогноз will_spend в Firebase Predictions для создания группы пользователей и предоставили обновление тем пользователям, которые отключили межстраничную рекламу. Для этих пользователей они увидели увеличение дохода от покупок через приложение на 21%.

Использование уведомлений

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

Чтобы ваше приложение получало и отображало уведомление, оно должно использовать SDK Firebase Cloud Messaging, инструкции по реализации которого находятся здесь (Android) и здесь (iOS).

Создание собственного прогноза

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

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

Затем на экране "Прогнозы" нажмите кнопку Создать прогноз, и вы увидите экран Создать прогноз, который позволяет вам назвать свой прогноз и выбрать нужное событие аналитики. для прогнозирования и выберите, прогнозируете ли вы, что пользователь совершит это событие или не сделает это событие. См. Рисунок 10, где я настраиваюсь, чтобы предсказать, какие пользователи собираются приобрести новый уровень игры.

Затем со временем карта будет заполнена прогнозами, и вы сможете настроить их так же, как и готовые. На рисунке 11 показаны мои результаты для пользователей, которые покупают новые уровни!

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

Советы и подсказки

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

  1. Используйте готовые прогнозы как можно скорее. Они есть, и они бесплатные. Вам следует сразу же начать изучать их. Возможно, вам не нужно предпринимать какие-либо действия с ними немедленно, но хорошо, по крайней мере, знать приблизительный процент вашей аудитории, которая соответствует этим категориям, чтобы вы могли лучше понять будущее своего приложения.
  2. Если вы не хотите сразу менять что-либо для отток / потраченных средств, вы все равно можете использовать эти группы пользователей, чтобы понять свою аудиторию. Например, вы можете установить значение в Remote Config для людей, которые собираются уходить. Затем во время выполнения вы считываете это значение и используете его для определения других ваших аналитических данных - например, вы можете отслеживать потенциальных оттоков по уровням вашей игры (отличая их от всех), чтобы получить представление о том, где отталкивают оттоки, и помочь вам избегайте этого в будущем, вместо того чтобы просто гадать, в чем может быть проблема.
  3. Совместите с Firebase A / B Testing, чтобы проводить эксперименты. Это было очень успешно реализовано в играх, о которых я упоминал выше, где вместо того, чтобы вносить изменения для каждого пользователя, который, как предполагалось, будет отток, можно проверить динамическую группу на основе прогнозов.
  4. Учитывайте настраиваемую аналитику, которую вы собираете. Слишком мало, и вы не получите большого понимания. Слишком много, и информация может быть потеряна во всех данных. Как всегда, повторяйте, повторяйте, повторяйте и не бойтесь пробовать что-то новое, исключая те, которые вам не подходят.

Резюме

В этой статье вы познакомились с прогнозами Firebase и увидели, что они собой представляют, как работают и как применяют технологию машинного обучения к вашей аналитике. Вы увидели, как вы можете создавать свои собственные прогнозы на основе событий конверсии в своей аналитике, а также как действовать в соответствии с прогнозами - устанавливая переменные Remote Config или повторно вовлекая пользователей с помощью уведомлений. Вы можете узнать больше о прогнозах Firebase на странице https://firebase.google.com/products/predictions/.