Большие данные и машинное обучение до сих пор остаются самыми популярными ИТ-трендами: спрос на специалистов по Data Science растет, а о Big Data и Machine Learning говорят даже на правительственных конференциях. Тем не менее, при всех достоинствах данных технологий, далеко не каждая компания использует их на практике: профессионалы в этой сфере стоят очень дорого. При этом невозможно точно предсказать, когда вернутся потраченные инвестиции. Однако, бизнесмены хотят четко понимать, какую реальную пользу принесут те или иные инструменты.
С точки зрения бизнеса любая технология – это лишь средство повышения его эффективности. Машинное обучение (Machine Learning, ML) – не исключение. На практике новые алгоритмы и нетривиальные модели интересны только ML-специалисту, аналитику или data scientist’у. Бизнесу нужны деньги и показатели, которые помогают их контролировать, например, количество посетителей сайта, продолжительность визитов, индекс лояльности потребителей, средний чек, конверсия, показатель отказов и т.д. В статье рассмотрено, как оценивать эффективность прогнозирования оттока (Churn Rate) посетителей сервиса с помощью ML.
ML или более дешевые альтернативы: что нужно бизнесу?
Перед внедрением машинного обучение в какой-то бизнес-процесс нужно ответить на несколько простых вопросов:
- Каков ожидаемый прирост бизнес-метрики в денежном выражении или процентах? Например, рост прибыли, повышение конверсии, увеличение среднего чека или снижение оттока.
- Какой прирост ML-метрик нужно обеспечить для улучшения бизнес-показателей? Как, например, улучшение точности прогноза повлияет на реальной увеличение дохода компании?
- Каковы затраты на машинное обучение: зарплату специалистов, оборудование, время на поиск и адаптацию профессионалов, налоги и другие расходы?
- Какие есть альтернативы и сколько они стоят? Например, можно сегментировать потребителей с помощью RFM-анализа, вручную прописать правила для формирования рекомендаций по предложению товаров, а для фильтрации спама в электронной почте нанять человека, который будет просматривать письма быстро, качественно и недорого.
Выбирать 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):
- Если модель машинного обучения верно предсказывает, что пользователь хочет уйти в отток, то, предложив клиенту скидку (Discount, D), бизнес может заработать на нем сумму, равную пожизненной ценности клиента (LifeTime Value, LTV) минус размер скидки;
- Если ML прогнозирует уход в отток, а пользователь остается, бизнес теряет размер предложенной скидки;
- Если по ML-модели клиент остается, а на самом деле он ушел в отток, бизнес теряет все деньги, которые мог бы на нем заработать – LTV.
- Если пользователь остался, как и предсказала модель ML, в этом конкретном случает от машинного обучения бизнесу нет ни убытка, ни прибыли.
Таблица 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-го рода не большие. С другой, как перевести оценку в реальные деньги? Обратите внимание, простое перемножение точности прогноза на значение доходов в соответствующих ячейках не даст правильного ответа.
Как оценить результат от внедрения ML?
Чтобы правильно измерить эффективность модели, нужно оценить, какой процент пользователей из тех, что собирались уйти в отток, примут скидку и после этого останутся в сервисе. Для нужно запустить А/В-тест:
- вариант А – скидки никому не раздаются, но при этом мы прогнозируем, будет ли клиент в оттоке или останется с помощью мер на основе ML-рекомендаций;
- вариант В – скидки раздаются тем пользователям, которые собираются в отток по прогнозу ML.
Результаты А/В-теста показаны в таблице 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, где:
- X – это разница вариантов А и В в процентах пользователей, которых удалось удержать благодаря ML;
- Y- число процентов пользователей, которые получили скидку и остались.
Экономический эффект для этого примера равен: (2%*LTV-8%D)*U – С,
где U – число пользователей сервиса, а C – затраты на внедрение, учитывая все расходы, понесенные на это мероприятие: А/В-тест, команду, ML-инструменты и т.д.
Первое, на что стоит обратить внимание, что если LTV в 4 раза меньше, чем размер скидки, то проект автоматически становится убыточным. Чтобы доказать это, рассмотрим простой пример.
Допустим, имеем следующие цифры:
- LTV=7 000 рублей;
- скидка D=500 рублей;
- расходы на внедрение ML составили 2 млн. рублей.
С такими значениями показателей нужно как минимум 20 000 пользователей, чтобы просто окупить проект. На рисунке 2 показан пример корреляции графиков оттока клиентов с числом пользователей.
Вместо заключения
Стоит помнить, что LTV – очень «длинные» деньги, которые приходят от клиента постепенно. Поэтому необходимо тщательно подбирать размер скидки, чтобы данная мера удержания клиентов не ухудшила общий размер выручки.
Иногда задача прогнозирования оттока с помощью ML, несмотря на всю ее понятность и привлекательность, может просто не окупиться. Поэтому, прежде чем запустить такой проект, оцените его целесообразность. Например, раздайте скидку небольшой группе пользователей и посмотрите, сколько процентов ее принимают и как это улучшает ваш бизнес.
Таким образом, мы снова возвращаемся к тому, с чего начали эту статью: специалисту по машинному обучению необходимо понимать бизнес и считать деньги, которые может заработать или сэкономить бизнес на внедрении ML. И лишь после того, как предварительные расчеты докажут, что применение Machine Learning для решения конкретной прикладной проблемы экономически обосновано и потенциально выгодно, стоит запускать этот ИТ-проект.