Мы все сделали это. Вы сделали это. Я сделал это.

Отмена подписки. Худший возможный исход для компании, которая предлагает вам свои услуги.

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

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

Сделать каждого клиента счастливым?

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

Это может относиться к вам. Но для большого сотрудничества невозможно позаботиться о клиентах индивидуально.

Spotify имеет более 280 миллионов активных пользователей по состоянию на апрель 2020 года. Около 130 миллионов активных подписчиков.

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

Весь код можно найти в мой git.

Аналитика данных в помощь

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

Этот пост в блоге посвящен вымышленному сервису паровой обработки «sparkify». Это упражнение является частью программы наностепени udacity.

Чтобы понять поведение клиентов, у нас есть лог-файл взаимодействия пользователей с сервисом.

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

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

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

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

И вот здесь начинают возникать проблемы. Люди плохо разбираются в шаблонах. Особенно не в больших и сложных наборах данных.

Улучшаем нашу игру

Именно здесь вступают в игру машинное обучение и передовые методы анализа данных.

Компьютеры особенно хороши в понимании и сортировке шаблонов в больших наборах данных. Намного лучше, чем может быть лучшая команда аналитиков данных.

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

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

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

Поехали!!!

После подготовки данных я начинаю с оценки различных алгоритмов. Я посмотрел на:

  • Логистическая регрессия
  • Случайный ЛесКлассификатор
  • Дерево решенийКлассификатор
  • Наивный Байес
  • OneVsRest

Чтобы выбрать лучший алгоритм, я сравниваю:

  • Точность на тренировочном наборе
  • Точность на тестовом наборе
  • F1-значение
  • Время примерки

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

Посмотрев на эти матрицы, я решил перейти к «Логистической регрессии» и «RandomForestClassifier».

Настройте

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

После оптимизации параметров мы получаем лучшие результаты для обоих алгоритмов. Однако «RandomForestClassifier», похоже, начинает переобучать. Это может измениться с большими наборами данных. Но на данный момент я предлагаю перейти к «Логистической регрессии».

Заключение и следующие шаги

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

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

Я объяснил, как создать и оптимизировать проект по анализу данных и прогнозированию.

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

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