Есть много инструментов, которые можно использовать для сбора данных о пользователях. В этой статье я использовал Firebase Analytics - инструмент, основанный на событиях. Приложение отправляет события в FA, когда пользователь выполняет какое-либо действие (например, нажимает кнопку, выбирает вариант).

Пример 1. Раздражающее всплывающее окно

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

void trackPopupUserExperiance(bool userSkippedPopup, String popupId) {
  Bundle params = new Bundle();
  params.putString("popupId", popupId);
  params.putBool("userSkippedPopup", userSkippedPopup);
  mFirebaseAnalytics.logEvent("popup", params);
}

Вот и все! Выпустите приложение и дождитесь результатов. Через некоторое время вы соберете достаточно данных, чтобы решить, что делать со всплывающими окнами. Вы можете:

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

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

Пример 2: Отслеживание выбранных опций

В этом разделе я хотел бы спросить - можем ли мы что-то изменить в приложении, чтобы помочь пользователям делать то, что они хотят, быстрее и проще?

Я на 100% уверен, что в вашем приложении есть много мест, где пользователь должен выбрать один из предложенных вариантов, верно? Что, если 90% пользователей выберут тот же вариант? Давай проверим!

void trackOptionUserExperiance(String selectedOption, String category) {
  Bundle params = new Bundle();
  params.putString("selectedOption", selectedOption);
  mFirebaseAnalytics.logEvent(category, params);
}

Теперь вы будете знать, какие действия можно предпринять:

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

Пример 3: Профилирование клиентов

Давайте рассмотрим приложения, которые продают какие-то товары или услуги. Вы можете показать весь каталог продуктов со всеми категориями, группами, подгруппами… и надеяться, что у пользователей хватит терпения найти то, что может быть им интересно. Можем ли мы им как-нибудь помочь? Почему нет :)

void trackOrder(User user, String productId) {
  Bundle params = new Bundle();
  params.putString("productId", productId);
  params.putString("gender", user.getGender());
  params.putString("age", user.getAge());
  params.putString("city", user.getAddress().getCity());
  mFirebaseAnalytics.logEvent("order", params);
}

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

Вы все еще не уверены в значении этого экрана? Не угадайте, проверьте еще раз!

void trackRecommendedProducts(String productId, bool isRecommended) {
  Bundle params = new Bundle();
  params.putString("productId", productId);
  params.putBool("isRecommended", isRecommended);
  mFirebaseAnalytics.logEvent("recommendedProduct", params);
}

Через некоторое время вы узнаете, помог ли этот экран вам заработать больше денег.

Пример 4: перекрестный анализ рынка

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

void trackOrder(String[] productIds) {
  Bundle params = new Bundle();
  for (int i = 0; i < productIds.count(); i++) {
    params.putString(String.valueOf(i), productIds[i]);
  }
  mFirebaseAnalytics.logEvent("order", params);
}

Теперь, когда пользователь добавляет товар в корзину, вы можете показать экран «Люди также смотрели» с товарами, соответствующими выбранному. Все просто, правда?

Заключение

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

Каково твое мнение? Это кажется полезным? Напишите в комментариях :)

Спасибо за прочтение!

Присоединяйтесь к 30 000+ людям, которые читают еженедельную рассылку Машинное обучение, чтобы понять, как ИИ повлияет на их работу и жизнь.