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

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

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

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

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

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

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

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

Триггером события является оформление подписки новым клиентом. На горизонтальной шкале отмечено количество дней с момента оформления подписки. ![Временная шкала нового клиента.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-1.png)

## Цель

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

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

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

Целевым результатом является звонок клиента с просьбой отменить подписку. ![Временная шкала клиента с целью.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-2.png)

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

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

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

Количество дней с момента оформления подписки до звонка клиента с просьбой отменить ее. Каждая шкала представляет отдельного клиента. ![Временные шкалы, на которых показано количество дней до отмены подписки клиентом.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-3.png)

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

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

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

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

Распределение звонков об отмене подписки по количеству дней с момента ее оформления. В большинстве случаев клиенты отменяют подписку примерно через 90 дней после ее оформления. ![Гистограмма, на которой показано количество дней до отмены подписки клиентом.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-4.png)

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

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

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

Горизонт в 90 дней после оформления подписки ![Гистограмма с отмеченным 90-дневным горизонтом.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-5.png)

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

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

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

Горизонт в 110 дней после оформления подписки ![Гистограмма с отмеченным 110-дневным горизонтом.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-6.png)

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

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

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

   ![Таблица с образцами данных.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-table-2.png)

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

   ![Таблица с образцами данных.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-table-3.png)

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

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

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

Триггером события является оформление подписки новым клиентом (1), целевым результатом — звонок клиента, чтобы отменить подписку (2), а горизонтом — 110 дней после оформления подписки (3). ![На временной шкале показаны триггер события, цель и горизонт.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-7.png)

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

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

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

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

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

Точка прогнозирования (2) установлена на 80-й день, между триггером события (1) и горизонтом (3). ![На временной шкале отмечена точка прогнозирования.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-8.png)

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

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

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

Окно сбора данных — это время между триггером события и точкой прогнозирования. ![На временной шкале показано окно сбора данных между триггером события и точкой прогнозирования.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-9.png)

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

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

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

Окно для действий — это время между точкой прогнозирования и горизонтом. ![На временной шкале показано окно сбора данных между точкой прогнозирования и горизонтом.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-10.png)

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

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

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

Распределение звонков об отмене подписки с окном сбора данных и окном для действий. ![Гистограмма с отмеченной точкой прогнозирования и горизонтом.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-11.png)

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

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

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

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

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

Клиенты, которые отменили свою подписку до точки прогнозирования, не будут включены в данные для обучения. ![На гистограмме показана доля клиентов, отменивших свою подписку до точки прогнозирования.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-12.png)

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

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

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

При перемещении точки прогнозирования на 60-й день окно сбора данных уменьшается, а окно для действий увеличивается. Благодаря этому меньшее количество клиентов будет исключено из данных для обучения. ![Гистограмма с более ранней точкой прогнозирования и более продолжительным окном для действий.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-13.png)

## Признаки

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

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

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

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

* Признаки, зависимые от окна, немного сложнее. Это признаки, которые определяются на основе данных, собранных между моментом наступления события и точкой прогнозирования. Важно убедиться, что используются только данные, известные на момент прогнозирования, в противном случае при обучении модели может произойти утечка данных. (Для получения дополнительной информации см. раздел [Утечка данных](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Sense_Hub/AutoML/data-leakage.htm).)

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

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

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

Если точка прогнозирования находится в 0-м дне, у нас есть 0 дней на сбор данных, при этом использовать можно только постоянные признаки, которые известны в день 0. Окно для действий составляет целых 110 дней. ![Гистограмма с точкой прогнозирования в 0-м дне.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-14.png)

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

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

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

Данные для обучения только с постоянными признаками ![Таблица с образцами данных.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-table-4.png)

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

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

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

Точка прогнозирования в 60-м дне означает, что у нас есть 60 дней на сбор данных и 50 дней на то, чтобы предпринять какие-либо действия. ![Гистограмма с точкой прогнозирования в 60-м дне.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-figure-13.png)

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

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

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

Образцы данных с признаками, зависимыми от окна ![Таблица с образцами данных.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-table-5.png)

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

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

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

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

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

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

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

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

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

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

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

Образцы данных с постоянными признаками (1), признаками, зависимыми от окна (2), и целью (3) ![Таблица с образцами данных.](https://help.qlik.com/ru-RU/cloud-services/Subsystems/Hub/Content/Resources/Images/AutomatedMachineLearning/customer-churn-table-6.png)