Большие данные и машинное обучение до сих пор остаются самыми популярными ИТ-трендами: спрос на специалистов по Data Science растет, а о Big Data и Machine Learning говорят даже на правительственных конференциях. Тем не менее, при всех достоинствах данных технологий, далеко не каждая компания использует их на практике: профессионалы в этой сфере стоят очень дорого. При этом невозможно точно предсказать, когда вернутся потраченные инвестиции. Однако, бизнесмены хотят четко понимать, какую реальную пользу принесут те или иные инструменты.
С точки зрения бизнеса любая технология – это лишь средство повышения его эффективности. Машинное обучение (Machine Learning, ML) – не исключение. На практике новые алгоритмы и нетривиальные модели интересны только ML-специалисту, аналитику или data scientist’у. Бизнесу нужны деньги и показатели, которые помогают их контролировать, например, количество посетителей сайта, продолжительность визитов, индекс лояльности потребителей, средний чек, конверсия, показатель отказов и т.д. В статье рассмотрено, как оценивать эффективность прогнозирования оттока (Churn Rate) посетителей сервиса с помощью ML.
Перед внедрением машинного обучение в какой-то бизнес-процесс нужно ответить на несколько простых вопросов:
Выбирать ML-решение целесообразно, если оно позволит получить существенно больше денег, чем более дешевые альтернативы, быстрее окупится, автоматизирует сложный бизнес-процесс или принесет какую-то другую практическую выгоду.
Важно также отметить, что оценить точные результаты до внедрения машинного обучения бывает затруднительно, поэтому дополнительно можно, например, сделать стресс-тест этого сценария.
Проблема оттока клиентов встречается повсеместно, от телекома до ритейла: в приложениях, интернет-магазинах и других сервисах. Оттоком считается поведение пользователя, когда он перестанет приносить пользу сервису, т.е. платить за получаемые услуги или просто пользоваться продуктом. В этом случае целью ML становится предсказать данную ситуацию еще до того, как она произошла. Как правило, если пользователь ушел в отток, его очень тяжело вернуть, практически невозможно. А, поскольку привлечение нового клиента обходится в несколько раз дороже, цель бизнеса – это совершить такие действия, которые удержат пользователя и не позволят ему уйти. Считается, что ML очень хорошо решает такие задачи.
Для построения модели сначала нужно определить проверяемую гипотезу: ушел пользователь в отток или остался (рис. 1). Рассмотрим типовую матрицу ошибок (Confusion matrix), которая поможет понять, как соотносятся значения прогнозируемых ситуаций и реальных случаев (таблица 1).
Таблица 1. Матрица ошибок
Прогноз | Реальная ситуация | |
+ Отток | - Нет оттока | |
+ Отток |
True Positive: прогноз совпал с реальностью, пользователь ушел в отток, как и было предсказано моделью ML | False Positive: ошибка 1-го рода, модель ML предсказала отток пользователя, а на самом деле он остался |
- Нет оттока |
False Negative: ошибка 2-го рода – модель ML предсказала , что пользователь уйдет, но на самом деле он остался | True Negative: пользователь остался, прогноз ML совпал с реальностью |
С точки зрения бизнеса, если пользователь хочет уйти в отток, необходимо его удержать: предложить подарок, скидку или что-то еще, чтобы он остался. А если клиент не собирается в отток, не стоит тратить время и средства на его удержание. Чтобы понять, какая ML-метрика лучше всего подходит для этой задачи, нужно опять посмотреть на проблему с точки зрения бизнеса, т.е. посчитать деньги. Здесь снова возможны 4 варианта (таблица 2):
Таблица 2. Расчет бизнес-метрик по матрице ошибок
Прогноз | Реальная ситуация | |
+ Отток | - Нет оттока | |
+ Отток |
True Positive: прибыль = LTV-D | False Positive: убыток = D |
- Нет оттока | False Negative: убыток = LTV | True Negative: ни прибыли, ни убытка от модели ML |
Далее в таблице 3 показаны результаты матрицы ошибок после валидации ML-модели.
Таблица 3. Результаты матрицы ошибок после валидации ML-модели
Прогноз | Реальность | |
ушли в отток | остались | |
ушли в отток | 27% | 6% |
остались | 2% | 65% |
В реальности возросла ошибка 1-го рода: на валидации модели 6% клиентов остались. Как оценить результат такого прогноза? С одной стороны, ошибки 1-го и 2-го рода не большие. С другой, как перевести оценку в реальные деньги? Обратите внимание, простое перемножение точности прогноза на значение доходов в соответствующих ячейках не даст правильного ответа.
Чтобы правильно измерить эффективность модели, нужно оценить, какой процент пользователей из тех, что собирались уйти в отток, примут скидку и после этого останутся в сервисе. Для нужно запустить А/В-тест:
Результаты А/В-теста показаны в таблице 4.
Таблица 4. Результаты А/В-тестирования
Прогноз |
Реальность |
|||
ушли в отток |
остались |
|||
(А) |
(В) |
(А) |
(В) |
|
ушли в отток |
28% |
25% |
6% |
8% (приняли скидку и остались) |
остались |
2% |
3% |
64% |
64% |
ИТОГО |
30% |
28% |
70% |
72% |
Итого, при отсутствии скидок (вариант А) в отток ушли 30% клиентов, при раздаче скидок (вариант В) – 28%. Таким образом, 2% (30-28=2) всех пользователей или 6,6% от тех, кто собирался в отток, удалось удержать с помощью ML и предложенных на основе модели рекомендаций. Реальный эффект в деньгах составит (2%*LTV-8%D) = X*LTV-Y*D, где:
Экономический эффект для этого примера равен: (2%*LTV-8%D)*U – С,
где U – число пользователей сервиса, а C – затраты на внедрение, учитывая все расходы, понесенные на это мероприятие: А/В-тест, команду, ML-инструменты и т.д.
Первое, на что стоит обратить внимание, что если LTV в 4 раза меньше, чем размер скидки, то проект автоматически становится убыточным. Чтобы доказать это, рассмотрим простой пример.
Допустим, имеем следующие цифры:
С такими значениями показателей нужно как минимум 20 000 пользователей, чтобы просто окупить проект. На рисунке 2 показан пример корреляции графиков оттока клиентов с числом пользователей.
Рис. 2. Пример оттока клиентов от числа пользователей
Стоит помнить, что LTV – очень «длинные» деньги, которые приходят от клиента постепенно. Поэтому необходимо тщательно подбирать размер скидки, чтобы данная мера удержания клиентов не ухудшила общий размер выручки.
Иногда задача прогнозирования оттока с помощью ML, несмотря на всю ее понятность и привлекательность, может просто не окупиться. Поэтому, прежде чем запустить такой проект, оцените его целесообразность. Например, раздайте скидку небольшой группе пользователей и посмотрите, сколько процентов ее принимают и как это улучшает ваш бизнес.
Таким образом, мы снова возвращаемся к тому, с чего начали эту статью: специалисту по машинному обучению необходимо понимать бизнес и считать деньги, которые может заработать или сэкономить бизнес на внедрении ML. И лишь после того, как предварительные расчеты докажут, что применение Machine Learning для решения конкретной прикладной проблемы экономически обосновано и потенциально выгодно, стоит запускать этот ИТ-проект.