Или как превратить набор продуктовых моделей склонности и оттоков в полноценный инструмент прогнозирования продуктового состояния клиента.
В чём специфика задачи оценки СLTV в банке? К каким математическим задачам она сводится? Как их решить и почему стандартные способы, например, модель регрессии, не работает? И чем здесь поможет комплексный подход?
Привет, меня зовут Мария Самоделкина, я senior Data Scientist в Хабе Юридических Лиц Альфа-Банка - лидирую расчет CLTV в нашей команде. В статье расскажу что это за задача CLTV и для чего ее нужно решать банкам.
![](https://habrastorage.org/getpro/habr/upload_files/48f/8bf/f6f/48f8bff6f7079288aade7f37c5b032cf.png)
В чем состоит задача CLTV?
CLTV — это числовой показатель, который описывает финансовую ценность клиента для банка на всём сроке его жизни.
В качестве ценности могут выступать различные показатели. Мы используем операционную прибыль — сумму всех доходных и расходных операций по клиенту (доходы минус расходы).
Следовательно, задача поиска CLTV сводится к прогнозированию оперприбыли.
Почему мы прогнозируем именно операционную прибыль? Она позволяет определять потребности клиента и расширять его профиль доходности. Мы можем превентивно работать с оттоком, а также влиять на траекторию развития клиента. Например, для юридических лиц основной продукт — это расчетно-кассовое обслуживание или РКО, но мы также можем предложить торговый и интернет эквайринг, кредиты, зарплатные проекты и другие продукты, которые увеличат активность клиента в Банке.
Основная цель прогнозирования оперприбыли — выявление тех групп клиентов, которые генерируют наибольшую потенциальную прибыль для Банка, а также выявление ключевых траекторий развития клиентов. Для оценки операционной прибыли мы должны решить несколько математических задач прогнозирования.
№1. Ранжирование клиентов по доходности или определение их категории доходности.
№2. Определение сценариев развития клиента — подсчёт всех возможных вероятностей перехода. Переходы могут быть между различными категориями доходности или между продуктовыми наборами.
№3. Интерпретация итогового результата или if-else анализ. С помощью такого анализа мы можем отвечать на вопрос: а что будет, если клиенту предложить определённый набор продуктов, как изменится его операционная прибыль, увеличится или уменьшится доход клиента, возрастёт ли проникновение в бизнес клиента, и как вообще ведёт себя показатель оттока.
Решив эти задачи, мы можем не только найти саму оперприбыль, но и ответить бизнесу на вопрос «Почему у конкретного клиента именно такое значение операционной прибыли?». Например, потому что у клиента выявлена высокая склонность к определённым продуктам и низкая вероятность оттока с текущих продуктов.
А теперь перейдем от вопроса «Что мы ищем?» к вопросу «Как?»
Как решать задачу определения оперприбыли?
Самый простой подход — получить значение оперприбыли для клиента на основе исторических данных, а для клиентов, по которым нет исторических значений, взять среднее по группе, например, выделив группу клиентов по выручке или продуктовому набору.
Но здесь мы опираемся только на исторические значения и ничего не прогнозируем. Такой подход не принесет большой пользы бизнесу. Но что более ценно, так это возможность прогнозирования ожидаемого дохода. А вот уже эту задачу можно решать бОльшим количеством способов.
Стандартный (базовый) способ — построить модель регрессии или мультиклассификации, где таргетом будет операционная прибыль или категория доходности клиента.
При этом в такой модели ключевым показателем будет доходность клиента за предыдущие периоды. Ведь клиенты, по большей части, стабильны на небольшом горизонте прогнозирования, а прогнозировать какое-то значение, лучше отталкиваясь уже от какого-то известного.
Однако такая модель позволяет нам получить оперприбыль клиента только на каком-то одном горизонте прогноза.
Чтобы получить прогноз на всем сроке жизни нам понадобится дополнительная компонента — модель прогнозирования остаточного срока жизни. Иными словами, для определения полноценного CLTV нам нужна информация о том, как долго компания будет приносить прибыль банку. И тогда итоговая ценность клиента формируется как перемножение компоненты доходности на компоненту срока жизни.
Основное преимущество подхода — простота реализации и возможность применить множество готовых алгоритмов для достижения максимальной точности. Казалось бы, задача решена — мы можем ранжировать и определять группу доходности клиента?
Не совсем.
Ведь стандартными методами задача не решается.
С помощью такого подхода мы не можем моделировать сценарии развития клиента и интерпретировать итоговый результат в явном виде (в том, в каком мы проговорили при постановке задачи прогнозирования).
Подход не объясняет, почему у клиента изменится прибыль и как на это влиять (решение само по себе не интерпретируемое), а также не учитываются изменения доходов на всем сроке жизни клиента, например, в связи с появлением нового продукта или закрытием существующего.
Также стоит отметить недостатки подхода, связанные именно с моделью мультиклассификации. Это важно, поскольку с использованием модели регрессии качество может получиться существенно ниже, чем при построении модели мультиклассификации.
Модель мультиклассификации не даёт возможности ранжировать клиентов внутри категории доходности.
Разбиение по категориям доходности нельзя менять динамически.
Соответственно, если у нас появится какой-то новый бизнес-сценарий, требующий более детального разбиения или каких-то других групп, то нам потребуется новая модель. А если сценариев много — то потребуется отдельная модель под каждый.
Всё это наталкивает на мысль, что нам требуется какой-то комплексный подход, который позволит для каждой требуемой математической задачи задать свою компоненту.
Особенности процесса
Кроме комплексного подхода мы также будем учитывать некоторые особенности процесса, которые будут влиять на итоговое решение.
№1. Большая вариация доходов клиента
Есть некоторые клиенты, по которым от месяца к месяцу мы видим существенные изменения операционной прибыли, и иногда она может изменяться в сотни раз. Конечно, это мешает построению стабильной модели и создаёт сложности в прогнозировании оперприбыли.
![Нестабильная динамика оперприбыли по клиентам может выглядеть так. Нестабильная динамика оперприбыли по клиентам может выглядеть так.](https://habrastorage.org/getpro/habr/upload_files/ce4/3a2/040/ce43a2040ae43dbdabf15e1575faa317.png)
Нестабильная динамика может быть обусловлена как нерегулярностью доходов клиента, сезонностью, так и внешними макроэкономическими причинами. Кроме того, одной из причин нестабильности может быть отчётность, из которой мы как раз-таки берём данные операционной прибыли — корректировки по МФСО, содержащиеся в отчетности, мешают получить истинную динамику пользования клиента продуктом.
Но мы можем использовать из операционной прибыли только содержательные компоненты: рисковый, пассивный, комиссионный доход, который отражает уже истинную динамику пользования продуктом. Компоненты, которые нарушают структуру дохода, мы будем учитывать на следующих этапах, которые не включают в себя моделирование.
Однако только с помощью выделения содержательных компонент из отчетности нельзя полностью решить проблему с нестабильностью доходов, поэтому, чтобы в дальнейшем наши модели были более стабильными, мы также усредняем оперприбыль за несколько периодов.
№2. Продуктовая специфика
Базируется на понятии продуктового кластера клиента. Характеризует наличие у клиента банка определённого набора продуктов и определённую структуру дохода. В зависимости от продуктового кластера клиенты будут характеризоваться разным распределением дохода.
Например, в таблице у нас представлено распределение рискового, пассивного и комиссионного дохода для различных наборов продуктов. Оно существенно отличается для различных кластеров.
Продуктовый кластер | ОП Риск | ОП Пассив | ОП КД |
РКО | 0% | 33% | 67% |
РКО + Депозит | 0% | 65% | 35% |
РКО + Лизинг | 76% | 10% | 14% |
РКО + ЭБГ | 32% | 45% | 22% |
На гистограмме ниже мы видим распределение оперприбыли по определённым кластерам. Для одного кластера у нас может быть высокая доля околонулевой оперприбыли, а для другого околонулевой оперприбыли практически нет, и длинный хвост распределения справа.
![](https://habrastorage.org/getpro/habr/upload_files/274/437/b0d/274437b0d3516b1bac8a26c4cdc60b7a.png)
Кластер клиента — его ключевая характеристика. Это та величина, которая является одним из основных параметров распределения оперприбыли. Поэтому в своём подходе мы будем в качестве ключевой характеристики клиента использовать именно его кластер.
Также для учета продуктовой специфики и большей гибкости решения прогноз оперприбыли мы хотим получать в разрезе отдельных продуктов.
№3. Структурные взаимосвязи
Описывают изменение структуры дохода при переходе из одного кластера в другой.
На картинке представлен пример перехода из кластера РКО в кластер РКО+ЭБГ, когда у клиента появляется продукт, который генерирует только рисковую оперприбыль. До этого у клиента был только пассивный и комиссионный доход и появился рисковый, по которому мы и видим основной прирост относительной доли. При этом относительные доли пассивного и комиссионного дохода уменьшились.
![](https://habrastorage.org/getpro/habr/upload_files/272/c81/a5e/272c81a5e803a181cd0f3d9f864b38f6.png)
Но что будет, если мы посмотрим на абсолютные значения? На абсолютных значениях мы видим прямой эффект от появления продукта, как раз-таки за счёт нового рискового продукта. Косвенный эффект проявляется в виде прироста, и в пассивной, и в комиссионной компоненте доходности, на которые напрямую наш новый рисковый продукт клиента не влияет.
![](https://habrastorage.org/getpro/habr/upload_files/7eb/041/682/7eb041682709df5afd93b5050b53ef60.png)
Мы хотим учесть эти структурные взаимосвязи (косвенный эффект) в своём итоговом подходе. Для этого будем использовать коэффициенты изменения прибыли — их мы можем вычислить для всех клиентов, которые совершают какой-то определённый переход на заданном горизонте прогноза.
№4. Коэффициенты изменения прибыли
Коэффициенты рассчитываются на исторических данных для конкретного продукта и перехода, в котором этот продукт участвует, а затем применяются к текущим данным как константа для всех клиентов с соответствующим продуктом и переходом.
Коэффициент изменения прибыли — это относительное увеличение оперприбыли по продукту при переходе, то есть оперприбыль по продукту ПОСЛЕ перехода делится на оперприбыль по продукту ДО перехода. Вычислим такой продуктовый коэффициент для всего множества клиентов с соответствующим переходом, и, получив некое распределение, возьмём оттуда медиану. Эта медиана, собственно, и будет характеризовать основную тенденцию структурных изменений для продукта в заданном переходе.
На картинке ниже представлен пример стабильного перехода, когда клиент на определенном горизонте наблюдения остается в том же самом кластере — РКО и ТЭ (торговый эквайринг). На гистограмме мы видим распределение относительных изменений по продукту РКО для группы клиентов с таким стабильным переходом.
![](https://habrastorage.org/getpro/habr/upload_files/c36/a4a/fdf/c36a4afdf0f9a7b6873b4c964c2642f5.png)
У распределения большие хвосты с левой и правой сторон. Такой разброс относительных изменений можно объяснить нестабильностью доходов по клиентам даже при сохранении кластера. К тому же, на графике видна существенная доля клиентов с отрицательным изменением – это происходит, когда знаки оперприбыли по продукту разные до и после перехода.
Примечание. Клиенты с исходной отрицательной оперприбылью не рассматривались.
Оранжевой линией на графике отмечена медиана относительных изменений. Видно, что она находится около единицы — оперприбыль по данному продукту не меняется при стабильном переходе. Небольшое отклонение медианы от единицы можно объяснить сезонными колебаниями или макроэкономическими причинами.
Далее у нас пример повышающего перехода: из кластера РКО в кластер РКО и зарплатный проект, то есть открытие нового продукта. Здесь также рассматривается относительное изменение по продукту РКО. И мы видим, что медиана изменений существенно больше единицы — прирост оперприбыли по РКО при приобретении зарплатного проекта +27%. Также можно заметить, что в данном примере практически нет отрицательных изменений опеприбыли.
![](https://habrastorage.org/getpro/habr/upload_files/7e5/86b/ce9/7e586bce9f490364ab5dfd1f7cbbb7d7.png)
Рассмотрим пример понижающего перехода: переход из кластера РКО и Торговый эквайринг в кластер РКО, то есть закрытие одного из продуктов. На графике видно, что медиана изменений оперприбыли заметно меньше единицы — при закрытии ТЭ доходы по РКО в среднем уменьшаются в 3 раза.
![](https://habrastorage.org/getpro/habr/upload_files/c94/1ae/533/c941ae533b1dc9bcac2f57e7fc86efc4.png)
Три кита комплексного подхода
Чтобы решить задачу с учетом перечисленных сложностей, необходимо перейти к прогнозу ожидаемой величины, верной для определенной группы клиентов.
Важно понимать, что в точности до копейки мы никогда не сможем предсказать доход клиента. Это просто невозможная задача, даже сам клиент не знает, какие операции он будет совершать в следующем месяце.
Но для определённой группы клиентов наш прогноз может быть достаточно точным. Это становится возможным именно из-за концепции «ожидаемости» или так называемого вероятностного подхода. Возьмём, к примеру, игральные кости. Среднее значение на их гранях — 3,5. Но никогда в единичном броске мы не получим 3,5. Только если мы проведём серию бросков и усредним эксперименты, то с достаточно высокой точностью получим 3,5.
Вернёмся к задаче — нам нужно произвести декомпозицию подхода на составные части. Это поможет детально контролировать этапы расчета и добавлять необходимые экономические предпосылки. Для реализации многокомпонентного подхода к расчету ожидаемого CLTV нам понадобятся три ключевые части — три «кита».
№1. Матрица переходных вероятностей — позволяет прогнозировать все возможные траектории развития клиента (подробнее о матрице в следующем разделе).
Это ключевая модельная часть подхода. Она используется для прогнозирования траекторий перехода. Именно эту компоненту рассчитываем мы в департаменте продвинутой аналитики на основе продуктовых моделей склонности и оттока.
№2. Средняя величина фактических доходов. Может быть вычислена как на индивидуальном уровне, так и на уровне группы клиентов.
Эта аналитическая компонента призвана учесть предпосылку о том, что нам важны исторические доходности. Прогноз ожидаемого CLTV будет отталкиваться именно от этих значений. А средняя величина фактических доходов позволяет учитывать исторические значения как ключевые предикторы в модели.
№3. Коэффициенты переходов — отражают изменение прибыли при переходе между различными продуктовыми кластерами. Вычисляются за счет усреднения фактических коэффициентов перехода.
Как мы уже проговорили, они позволяют учитывать структурные взаимосвязи.
При объединении всех трех компонентов мы можем получить ожидаемый итоговый CLTV.
Небольшая ремарка — средняя величина фактических доходов и коэффициенты переходов рассчитываются коллегами из Департамента Финансов.
Как объединить компоненты и получить итоговый CLTV
Как получить из этих трех компонентов итоговый CLTV?
Примерная схема, состоящая из нескольких частей, ниже. Давайте по ней изучим взаимосвязь всех компонент и подробно разберём каждую из составных частей.
![](https://habrastorage.org/getpro/habr/upload_files/042/cc8/43a/042cc843a1f40e2d8d0f2182647930d5.png)
№1. Входные данные.
![](https://habrastorage.org/getpro/habr/upload_files/719/537/33f/71953733f6c8d2131d08ae5cbf3bf212.png)
В качестве входных данных нам поступают: сводная информация по клиентам, индивидуальная фактическая оперприбыль, усреднённая фактическая оперприбыль. Всего получается три таблицы.
Сводная информация по клиентам содержит данные о текущем кластере клиента (основная характеристика) и информацию о группе клиента. Группа клиента может быть получена с помощью различных характеристик компании, таких как группа доходности, род деятельности, срок жизни и других.
Индивидуальная фактическая оперприбыль рассчитывается для клиента и продукта также на основе исторических данных. Но она есть не для всех клиентов и всех продуктов, поскольку какой-то информации у нас просто может не быть.
Усреднённая фактическая оперприбыль рассчитывается для каждой группы и каждого продукта. В целом, такая усреднённая информация менее точна, чем индивидуальная. Но при отсутствии последней может иметь достаточно хорошее приближение.
Далее, с помощью отдельного алгоритма, вычисляется матрица переходных вероятностей.
№2. Матрица переходных вероятностей.
Оценивает вероятность перехода клиента во всевозможные продуктовые состояния.
Сумма всех вероятностей перехода должна равняться 100%.
Содержит вероятность клиента остаться в том же самом кластере (выделена цветом).
Включает вероятность попадания в кластер предоттока — состояние, когда у клиента не будет никакой операционной прибыли ни по какому продукту.
![](https://habrastorage.org/getpro/habr/upload_files/9a5/d42/390/9a5d42390364302e6b6bf1ddf5978e54.png)
Параллельно рассчитывается компонента доходов.
№3. Компонента исторической доходности.
Эта таблица представляет собой комбинацию индивидуальной оперприбыли и усредненной, если соответствующей индивидуальной информации нет (усредненная информация о доходах выделена отдельным цветом).
![](https://habrastorage.org/getpro/habr/upload_files/832/56c/784/83256c78406bd502802c18ea05d36ec7.png)
Отдельное внимание стоит обратить на коэффициенты изменения прибыли.
№4. Коэффициенты изменения прибыли.
![](https://habrastorage.org/getpro/habr/upload_files/d2a/8e6/228/d2a8e62288fc93578172f48eba7e55df.png)
Рассчитываются для для каждого возможного перехода между кластерами (переход - это пара стартового и конечного кластера) и продукта. При этом продукт должен быть и в стартовом, и в конечном кластере, чтобы мы смогли посчитать по нему изменение доходности.
Коэффициент может быть больше единицы, то есть показывать повышение доходности. Свойственен, в основном, для повышающих переходов, когда клиент приобретает какой-то продукт.
Коэффициент может быть меньше единицы — характеризует снижение доходности и свойственен для переходов когда какой-либо продукт закрывается.
№5. Итоговый ожидаемый доход.
![](https://habrastorage.org/getpro/habr/upload_files/362/107/5dd/3621075dd19a9615863d8759328a290c.png)
Вычисляется для каждой компоненты кластера.
Для стабильных переходов мы используем вероятность клиента остаться в том же самом кластере, и доходность в этом кластере (стабильные переходы выделены красным цветом).
Есть понижающие переходы, когда клиент закрывает какой-либо продукт — оранжевые ячейки. В них дополнительно используется коэффициент изменения доходности (понижающий).
Голубым цветом выделены ячейки, которые характеризуют повышающий переход. В них, помимо прочего, добавляются компоненты доходности по новому приобретаемому продукту.
Компонента предоттока — она здесь нулевая — характеризует то, что клиент перейдёт в этот кластер и не будет приносить нам никакой доходности. Особенность, в отличии от базового подхода, заключается в том, что эта компонента учитывает в себе затухание срока жизни клиента. В качестве отдельной вырожденной компоненты она здесь не требуется, и естественно интегрирована в этот подход.
Итоговую доходность можно вычислить с помощью суммирования всех компонентов в строке по клиенту.
Однако мы опять же получим прогноз только на какой-то определённый период. Чтобы получить прогноз на более длительный период, такую операцию нужно будет повторить несколько раз по количеству периодов. При таком подходе матрица переходных вероятностей будет различной для разных периодов прогноза.
Как получить матрицу переходных вероятностей
Перейдём к обсуждению отдельной компоненты нашего расчёта — матрицы переходных вероятностей.
Матрица переходных вероятностей — это вероятности перехода каждого клиента из текущего кластера во все возможные кластеры.
Но перед тем, как перейти к расчетам, поговорим немного про кластера. Для решения задачи нам придется ограничивать множество всех возможных кластеров наиболее часто встречающимися, поскольку у нас может быть большое множество продуктов. В результате получится большое множество кластеров, модели для которых могут быть низкого качества, например, из-за низкой доли таргета.
У нас было 11 продуктов, соответственно, только различных пар можно насчитать 55. А могут быть ещё и тройки и четвёрки продуктов. Но оказалось так, что 16 кластеров достаточно, чтобы покрыть больше 90% всех продуктовых состояний.
И ещё важный момент — для расчёта кластера мы также будем использовать усреднение, чтобы стабилизировать наш подход. Так, для формирования кластера мы используем факт наличия оперприбыли за последние 3 месяца.
Итак, матрицу вероятностей можно получить несколькими способами.
№1. Самый очевидный способ, классический, с помощью модели мультиклассификации. Целевой переменной будет кластер клиента на определенном горизонте прогноза.
№2. Вариант посложнее — построить каскад моделей бинарной классификации и получить нашу матрицу. Здесь будет отдельная модель для склонности и оттока по каждому продукту. Целевой переменной будет или открытие, или закрытие продукта, в зависимости от типа поведения.
Но этот подход сложнее тем, что нам будет нужен какой-то дополнительный алгоритм, который из разрозненных модельных вероятностей позволит получить итоговую матрицу.
И, собственно, перед нами стоял выбор — построить более простую модель мультиклассификации или обучить большое множество моделей. Сравнив, мы выбрали каскад.
Мультикласс | Каскад |
— Изменения по одному продукту влияют и на остальные продукты | + Независимое добавление и изменение модели продукта |
— Ограниченная возможность роста качества | + Широкие возможности для улучшение качества модели продукта |
— Проблемы с признаками влияют сразу на все модели | + Большая стабильность моделей при проблемах с признаками |
+ Легко выводить в прод и скорить | — Сложность вывода в прод и скоринга |
+ Простота концепции и реализации | — Сложность реализации и доп. алгоритм |
+ Относительно быстрое обучение | — Более долгое обучение |
У каскада моделей есть свои сложности, например, трудоёмкость вывода в прод или длительность обучения. Но все сложности можно отнести к разовым и нерегулярным, и они меркли перед существенным преимуществом — свойством независимости: мы можем независимо добавлять и изменять модели по какому-либо продукту, при этом не влияя на скоры по другим моделям.
Каскад моделей имеет более широкий потенциал для роста качества, поскольку какую-то отдельную модель, например, с несбалансированным классом, можем отдельно подтюнить и получить качество лучше, чем единым подходом в модели мультиклассификации. Также каскад моделей позволяет для каждой отдельной модели использовать свой набор признаков, стабилизировать и расширять возможности для роста качества.
Как мы вывели порядка сотни моделей в прод, опишем в другой статье, а я продолжу и расскажу о том, как для какого-то конкретного клиента и определённого перехода получить вероятность перехода — некий кусочек всего алгоритма.
Алгоритм получения матрицы
Чтобы сформировать элемент матрицы вероятностей — вероятность для отдельного клиента перейти в определенный прогнозный кластер — необходимо знать:
стартовый кластер клиента (его текущие продукты);
прогнозный кластер клиента (продукты, которыми клиент будет пользоваться);
а также вероятности склонности по всем продуктам, которых у клиента нет;
и вероятности оттока по всем продуктам, которые есть у клиента.
Таким образом, при получении элемента матрицы для клиента, задействовано по одной вероятности склонности или оттока для всех возможных продуктов.
Рассмотрим пересечение множества продуктов в стартовом кластере клиента и в прогнозном кластере.
![](https://habrastorage.org/getpro/habr/upload_files/954/dac/cc1/954daccc1fbb8f44dacb5fb32235f84c.jpg)
Жёлтым цветом отмечены те продукты, которые есть только в стартовом кластере. По ним нам нужно оценить вероятность оттока, то есть событие, когда клиент закрывает этот продукт.
Оранжевым цветом отмечены продукты, которые есть и в стартовом, и в конечном кластере. По ним нам требуется вероятность не оттока — то есть вероятность того, что клиент продолжить пользоваться продуктом
Красным выделены продукты, которые есть только в конечном кластере — то есть клиент их приобретает. По ним нам нужно оценить вероятность склонности.
Серая зона — оставшиеся продукты. По ним мы оцениваем вероятность несклонности: их нет ни в стартовом, ни в прогнозном кластере.
Чтобы получить вероятность перехода, нам нужно все эти вероятностные компоненты перемножить. Рассмотрим более детально на примере — рассчитаем вероятность перехода из кластера РКО и торговый эквайринг в кластер РКО и лизинг.
Для этого нам потребуется перемножить:
вероятность не закрыть РКО;
вероятность закрыть торговый эквайринг;
вероятность открыть лизинг;
вероятность не открыть никакие другие продукты.
P(РКО+ТЭ → РКО+Л) = (1 - P₃(РКО)) ✕ P₃(ТЭ) ✕ P₀(Л) ✕ (1 - P₀(...)) ✕ (1 - P₀(...)) …
Оценка качества
Поскольку компонент у нас несколько, то нам важно оценивать качество каждой из составных частей:
модели бинарной классификации;
задачи мультиклассификации;
калибровки;
ожидаемого CLTV.
№1. Оценка каскада моделей бинарной классификации.
Все достаточно стандартно:
классическая метрика ROC AUC;
precision;
стабильность метрик на валидации относительно обучающей выборки.
№2. Задача мультиклассификации.
Здесь тоже можно использовать стандартные метрики оценки качества:
матрицы смежности факта и прогноза;
accuracy;
ROC AUC.
Результаты можно оценивать в различных разрезах: можно смотреть в разрезе стартового или прогнозного кластера, можно смотреть в разрезе категории доходности или типов оперприбыли.
Сильным бейзлайном для небольших горизонтов прогнозирования в таком подходе будет модель, которая всегда предсказывает текущий кластер клиента.
№3. Качество калибровки.
Мы используем калибровку для моделей бинарной классификации и для кластеров. Калибровка моделей бинарной классификации нужна, чтобы можно было перемножать между собой скоры моделей. А калибровка кластеров нужна для обеспечения соответствия порядков ожидаемого и прогнозного дохода - такая калибровка проводится итеративно для каждого кластера.
Сложности добавляет то, что калибровать скоры нам нужно на несколько периодов прогноза вперед и часть этих периодов находится очень далеко в будущем. Поэтому использование исторических данных, например, о доле клиентов с продуктом годичной давности может дать очень неточный результат. Мы применяем простую аппроксимирующую функцию, которая показывает рост накопленной доли таргета со временем. А коэффициенты этой функции подбираем на актуальных, еще не устаревших данных.
Для подсчета метрики качества калибровки мы разбиваем наш скор на равномерные интервалы или на группы равного размера, и в каждой группе смотрим, насколько факт соотносится с прогнозом (абсолютное и относительное отклонения).
№4. Самая интересная часть — анализ точности итогового ожидаемого CLTV.
Казалось бы, ничего сложного — это обычная задача регрессии и можно использовать классические метрики машинного обучения для оценки качества этой задачи.
Но у нашего подхода есть ключевая особенность — концепция ожидаемости. Поэтому мы не можем сравнивать конкретный факт и конкретный прогноз доходности по клиенту. Мы используем метрики, которые соответствуют концепции ожидаемости, понятны и интерпретируемы для бизнеса.
Первая метрика — это матрица точности.
Для её получения разбиваем прогнозный доход на равномерные интервалы или группы равного размера.
Затем для каждой группы вычисляем долю попадания в соответствующую фактическую группу.
Доли можно вычислять в зависимости от размера групп, тогда сумма вероятностей по всей матрице будет равна 100%.
Или вне зависимости от размера групп, тогда сумма по каждой строке будет равна 100%.
В итоге мы можем вычислить некоторую агрегирующую метрику, например, среднее попадание в конкретный бакет клиента, который находится на главной диагонали. Или на главной диагонали и двух соседних, поскольку ошибка на один бакет - это тоже не так уж и плохо.
![](https://habrastorage.org/getpro/habr/upload_files/91d/ef9/c8e/91def9c8e2519be79af30126f78ff58c.png)
Вторая метрика — оценка точности по бакетам дохода.
Здесь также прогнозную операционную прибыль разбиваем на бакеты.
В каждом бакете вычисляем медиану факта и медиану прогноза. Визуализация приведена на левом графике: видно, что при увеличении прогноза факт также растёт.
Затем в каждом бакете можем вычислить относительное отклонение прогноза от факта и тогда получим результат, который представлен на правом графике.
В качестве итоговой агрегирующей метрики вычисляем усреднённую ошибку по бакетам.
![](https://habrastorage.org/getpro/habr/upload_files/868/966/79b/86896679b0f253b123d445b9f2244cbd.png)
Итого
CLTV — уникальных подход на стыке технологии, методологии и даже идеологии. Это механизм, позволяющий принимать решения с максимальной персонификацией, подлинно клиентоцентричный подход, которому нет реализованных аналогов на рынке.
В данном подходе учитывается множество предпосылок, которые нельзя учесть в обычной модели “из коробки”. Это еще не предел, данный подход можно и нужно расширять по мере погружения в тонкости процесса.
CLTV уже начал применяться в пилотных процессах Банка: в активации и удержании клиентов, управлении ценообразованием, развитии программ лояльности и управлениями коммуникациями. Нам предстоит большая работа в части внедрения CLTV в бизнес-процессы, но в качестве промежуточных результатов уже можно отметить эффективность использования CLTV.
Благодарности
Выражаем благодарность всем причастным к созданию модели CLTV для юридических лиц.
Команда Департамента Продвинутой Аналитики: Дмитрий Рузанов (руководитель Хаба ЮЛ), Мария Самоделкина, Дарья Пирожкова, Дарья Садыкова, Мария Жарова, Максим Тюриков
Коллеги Департамента Финансов: Виталий Коржик (руководитель проекта CLTV), Юлия Кобыльская