Перейти к основному содержимому Перейти к дополнительному содержимому

Применение упорядоченной структуры на примере оттока клиентов

В данном примере пошагово рассматривается процесс формулирования задач машинного обучения. Здесь объясняется, как использовать бизнес-опыт в сочетании с такими понятиями, как триггер события, цель, точка прогнозирования и признаки, чтобы четко сформулировать задачу.

Отправной точкой является бизнес-сценарий: «Уйдет ли клиент?» С помощью упорядоченной структуры этот сценарий будет сведен к чему-то более конкретному, что может спрогнозировать алгоритм машинного обучения.

Триггер события

Триггер события — это действие или событие, которое инициирует создание нового прогноза. Триггером события в данном случае является оформление подписки клиентом. Это отображается в данных как создание нового клиента. Цель — спрогнозировать на уровне клиентов, отменят ли они подписку, поэтому каждый клиент должен быть представлен в отдельной строке.

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

Триггером события является оформление подписки новым клиентом. На горизонтальной шкале отмечено количество дней с момента оформления подписки.

Временная шкала нового клиента.

Цель

Цель — это результат, который необходимо спрогнозировать. В данном случае нужно спрогнозировать отток, поэтому общая цель: понять, уйдет ли клиент. Однако для создания качественной модели машинного обучения требуется более конкретный подход к решению этой бизнес-задачи. Для начала давайте определимся, что «отток» — это когда клиент звонит нам, чтобы отменить свою подписку.

Целевым результатом является звонок клиента с просьбой отменить подписку.

Временная шкала клиента с целью.

Затем необходимо определить временной интервал (горизонт), в течение которого клиент должен сделать звонок с просьбой об отмене подписки. При анализе нескольких клиентов, которые отменили подписку, можно заметить, что их временные шкалы не совпадают. Некоторые клиенты отменили подписку через 45 дней, а другие — гораздо позже, через 110 дней.

Количество дней с момента оформления подписки до звонка клиента с просьбой отменить ее. Каждая шкала представляет отдельного клиента.

Временные шкалы, на которых показано количество дней до отмены подписки клиентом.

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

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

Распределение звонков об отмене подписки по количеству дней с момента ее оформления. В большинстве случаев клиенты отменяют подписку примерно через 90 дней после ее оформления.

Гистограмма, на которой показано количество дней до отмены подписки клиентом.

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

Горизонт в 90 дней после оформления подписки

Гистограмма с отмеченным 90-дневным горизонтом.

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

Горизонт в 110 дней после оформления подписки

Гистограмма с отмеченным 110-дневным горизонтом.

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

  1. Получение состояния клиента из Salesforce.

  2. Извлечение состояния, даты создания клиента и даты отмены подписки.

    Таблица с образцами данных.

  3. Очистка и преобразование извлеченных данных в целевой столбец.

    Таблица с образцами данных.

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

Триггером события является оформление подписки новым клиентом (1), целевым результатом — звонок клиента, чтобы отменить подписку (2), а горизонтом — 110 дней после оформления подписки (3).

На временной шкале показаны триггер события, цель и горизонт.

Точка прогнозирования

Точка прогнозирования — это заданное время, когда прекращается сбор данных признаков и выполняется прогнозирование цели для каждой строки. Точка прогнозирования может находиться в любом месте между триггером события (день оформления подписки) и горизонтом (110-й день после оформления подписки). Чтобы выбрать отправную точку, подумайте о том, какое действие вы хотите предпринять.

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

Точка прогнозирования (2) установлена на 80-й день, между триггером события (1) и горизонтом (3).

На временной шкале отмечена точка прогнозирования.

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

Окно сбора данных — это время между триггером события и точкой прогнозирования.

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

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

Окно для действий — это время между точкой прогнозирования и горизонтом.

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

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

Распределение звонков об отмене подписки с окном сбора данных и окном для действий.

Гистограмма с отмеченной точкой прогнозирования и горизонтом.

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

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

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

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

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

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

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

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

Признаки

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

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

Существует две категории признаков.

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

  • Признаки, зависимые от окна, немного сложнее. Это признаки, которые определяются на основе данных, собранных между моментом наступления события и точкой прогнозирования. Важно убедиться, что используются только данные, известные на момент прогнозирования, в противном случае при обучении модели может произойти утечка данных. (Для получения дополнительной информации см. раздел Утечка данных.)

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

Если точка прогнозирования находится в 0-м дне, у нас есть 0 дней на сбор данных, при этом использовать можно только постоянные признаки, которые известны в день 0. Окно для действий составляет целых 110 дней.

Гистограмма с точкой прогнозирования в 0-м дне.

Результирующий набор данных будет выглядеть примерно так:

Данные для обучения только с постоянными признаками

Таблица с образцами данных.

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

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

Гистограмма с точкой прогнозирования в 60-м дне.

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

Образцы данных с признаками, зависимыми от окна

Таблица с образцами данных.

Обратите внимание, что в данном примере признаки охватывают все окно сбора данных. Они также могут охватывать меньший интервал. Например, можно определить количество входов в систему за первые 10 дней или с 30-го по 60-й день при условии, что признаки не содержат данных, которые станут известны после точки прогнозирования.

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

Результирующая формулировка задачи машинного обучения

Отправной точкой в данном примере является простой сценарий использования: «Уйдет ли клиент?» Затем был определен триггер события как «Новый клиент оформил подписку», поскольку необходимо было выполнить прогнозирование на уровне отдельного клиента.

Мы также определили цель с конкретным результатом — «Клиент позвонил, чтобы отменить свою подписку» («Да» или «Нет») — и установили горизонт в 110 дней, так как именно в течение этого времени большинство клиентов отменяют свою подписку после пробного периода.

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

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

В результате была сформулирована следующая задача машинного обучения: «Позвонит ли клиент после первых 60 дней подписки с просьбой отменить ее до 110-го дня?»

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

Образцы данных с постоянными признаками (1), признаками, зависимыми от окна (2), и целью (3)

Таблица с образцами данных.

Помогла ли вам эта страница?

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