Машинное обучение в банковском ценообразовании. VBP
Привет, Хабр!
Современные банки накапливают и агрегируют данные о пользователях и своем взаимодействии с ними. Это помогает им лучше понимать потребности отдельного клиента и его склонность к открытию того или иного банковского продукта. А с помощью современных технологий коммуникации банк может провзаимодействовать с каждым клиентом точечно, направив ему персональное предложение. Как машинное обучение помогает решать такие задачи, поговорим в данной статье.
Введение
Растущее количество и сложность кредитных продуктов приводят к необходимости решать сложную задачу оптимального выбора между большим количеством предложений (и для банка, и для клиента!). Появляется необходимость в более тонких настройках, которые бы, с одной стороны, помогли максимально заработать банку при контролируемом уровне клиентской задолженности, с другой — дали клиенту положительный опыт выбора.
Чтобы добиться этого и сконструировать максимально подходящее для клиента предложение, нужен переход от так называемой предиктивной аналитики к предписательной. Другими словами, вместо прогноза одной ключевой величины, конверсии или вероятности дефолта, нужно настроить эффективную работу целого каскада прогнозов.
Для DS на практике это, как правило, задачи оптимизации. Верхнеуровнево для постановки задачи оптимизации необходимо задать следующие сущности:
KPI или бизнес-метрика продукта, которую нужно максимизировать или минимизировать при осуществлении выбора. Такой метрикой может быть NPV или доходность.
Ограничения, которые должны учитываться при принятии решения. Например, основная метрика — рост выручки, но накладывается ограничение на предельно допустимый уровень дефолта или задолженности.
Управляемые параметры или неопределенность. Это как раз то, что влияет на ключевую метрику, и то, что мы крутим для осуществления финального выбора.
Для выдачи кредита такими параметрами могут быть конверсия и ее зависимость от атрибутов кредитного предложения (например, процентная ставка, лимит, срок и прочее), так называемая «эластичность». Именно эти параметры мы моделируем и оркестрируем для расчета основного KPI.
В зависимости от потребности бизнеса и механики продукта, для решения задачи NBA/NBO мы можем выбрать разные оптимизационные фреймворки.
Далее, на примере решения конкретных индустриальных задач, мы разберем разные подходы и обсудим тонкости их настройки для кредитных продуктов.
Постановка задачи
Механика офферинга: банк зарабатывает на проценте от выдач кредитов и на стоимости обслуживания карт. Этими параметрами он может управлять.
KPI по продукту может быть различным, но часто включает в себя компоненты, на которые влияют регулируемые банком параметры, например:
При снижении стоимости обслуживания растет конверсия (вероятность покупки), но может упасть выручка.
При повышении стоимости снижается конверсия, зато выручка растет.
Отсюда следует, что управлять стоимостью продукта можно, основываясь как на размере убытка, так и на склонности клиента к покупке. Для этого используем два фреймворка: VBP и RBP.
В VBP (Value Based Pricing) цена на продукт формируется, исходя из его ценности для покупателя. Неопределенность для VBP — это склонность клиента к кредитному предложению.
В RBP (Risk Based Pricing) цена на продукт определяется, исходя из размера потенциального убытка в случае дефолта клиента. Соответственно, неопределенность для RBP — это размер ожидаемых потерь для того или иного предложения.
Далее подробно разберем первый фреймворк. Покажем, как с помощью обученной модели рассчитать влияние стоимости продукта на готовность клиента его приобрести.
Подбор стоимости годового обслуживания (ГО) банковской карты с помощью VBP фреймворка
Часто KPI — это совокупность доходности и количества продаж. В таком случае нужно максимизировать продажи и, в то же время, учесть ограничение на снижение доходности.
Логично предположить: чем больше клиентов получат скидку на обслуживание карты, тем больше покупок они сделают. Однако не стоит забывать, что у разных клиентов разная склонность к дефолту. Поэтому если банк выдает стандартное предложение для всех, то условия для менее склонных к дефолту потенциально ухудшаются. Это связано с тем, что в предложение дополнительно закладывается премия за риск (подробнее про структуру стоимости см. в статье ML и DS оттенки кредитного риск-менеджмента).
В противном случае нужно отсекать дополнительно клиентов по PD (прогноз вероятности дефолта) скору. Альтернативным способом может быть отсечка по прибыльности, учитывающая и конверсию, и ожидаемые потери по клиенту. Тогда мы получаем win-win ситуацию, когда банк может сформулировать предложение для большего числа клиентов за счет привлечения более рискованных и «эластичных» клиентов — тех, кому можно заложить дополнительную премию за риск, зная, что это не повлияет драматическим образом на привлекательность предложения для клиента.
Однако сначала важно научиться прогнозировать, насколько вообще тот или иной клиент склонен взять карту при разных стоимостях обслуживания.
Для этого построим две гипотезы. Сначала рассмотрим ситуации, когда размер ГО влияет на покупку банковской карты, затем — когда стоимость обслуживания не принципиальна и не является важным критерием при выборе кредитной карты.
Чтобы подтвердить первую гипотезу, можно провести A/B тест. Для этого нужно:
разбить клиентов случайным образом на группы;
предложить разным группам различные стоимости обслуживания карт;
сравнить отклики на карты в этих группах.
Для простоты предположим, что мы можем предложить клиентам одну из двух стоимостей обслуживания карты. Вот как это будет выглядеть:
Стоимость обслуживания, руб./год | Отклик, % |
Если с уменьшением стоимости отклик растет (
Теперь проверим вторую гипотезу. Ее суть в том, что есть определенное множество клиентов, для которых стоимость обслуживания кредитной карты не принципиальна. Такие ситуации возможны, когда срочно нужны деньги на крупную покупку. Наша задача — найти таких клиентов.
Для этого построим модель бинарной классификации, где в качестве прогнозируемой переменной выступит отклик на продукт. При этом вероятность отклика для каждого клиента будет прогнозироваться при определенной стоимости ГО для карты.
Признаки клиента | Стоимость ГО карты, руб. | Вероятность отклика | |
Клиент 1 | ... | 0.05 | |
Клиент 1 | ... | 0.03 | |
Клиент 2 | ... | 0.15 | |
Клиент 2 | ... | 0.13 |
В обучающую выборку отберем клиентов, участвовавших в A/B тесте (помните, мы использовали его для проверки первой гипотезы (табл. 1)). При этом в качестве признаков для обучения модели будем использовать векторы следующего вида:
где
N-мерный вектор [Customer] — признаковое описание клиента в момент проведения A/B теста, которое может включать в себя различные агрегаты по его транзакциям, данным из БКИ и мобильного приложения банка, социально-демографические показатели (пол, возраст) и так далее;
а Service Price — стоимость обслуживания карты, которую предложили данному клиенту при проведении A/B теста.
Тогда в качестве целевой переменной будем использовать 0, если клиент не откликнулся на продукт, и 1 — если откликнулся.
Обучив модель, имеем:
Model — обученная модель бинарной классификации;
[Customer] — признаковое описание клиента;
Service Price — одна из возможных стоимостей обслуживания для кредитной карты
Обученную модель можно рассматривать как функцию k+1 переменных, где:
k — количество признаков, описывающих клиента, которые вошли в модель в результате обучения;
+1 признак — это стоимость обслуживания (предполагается, что он имеет достаточно высокую важность и также вошел в модель).
Эта функция возвращает некоторый скор S, который можно трактовать как вероятность того, что конкретный клиент откликнется на продукт с конкретной стоимостью обслуживания (предполагается, что модель откалибрована):
Фиксируя клиента (его признаковое описание) и варьируя значения
В соответствии с бизнес-логикой, с падением стоимости обслуживания
Однако у разных клиентов скорость роста будет разной. Поэтому наша задача — отыскать клиентов, у которых при уменьшении стоимости обслуживания рост скора будет значительным, и предложить им более дешевую карту.
Типы ограничений
Нужно учесть, что у бизнеса могут быть определенные ограничения. Например, ограничение на выдачу дешевых карт или ограничение на ожидаемую доходность. Рассмотрим каждое из них более подробно. А также разберем несколько подходов настройки для кредитно-платежных продуктов.
Ограничение банка на выдачу дешевых карт
Допустим, у банка есть ограничение K на количество выдач карт с самой низкой стоимостью обслуживания
Для каждого j-го клиента имеем два скора
Есть несколько подходов для решения данной задачи.
Подход 1
Разобьем клиентов на бакеты
Анализируя, как меняется номер бакета
Подход 2
Более простой подход заключается в том, чтобы отсортировать клиентов по дельте скора
Подход 3
Суть данного подход состоит в том, чтобы напрямую максимизировать отклик при ограничениях на количество выдач карт со стоимостью
Подход 4
Задача этого подхода — максимизировать ожидаемую доходность. Предположим, что для каждого j-го клиента и i-го продуктового условия нам известна доходность карты
Если у j-го клиента
Тогда при ограничении на количество выдач карт со стоимостью обслуживания
Ограничение на ожидаемую доходность
Допустим, в качестве ограничений от бизнеса стоит требование гарантии определенного уровня доходности при подборе стоимости обслуживания карт. Тогда для определения стоимости обслуживания конкретного клиента можно попытаться максимизировать отклик при ограничении снизу на доходность.
Где
Подытожим
Мы разобрали подход VBP применительно к задаче подбора стоимости обслуживания банковской карты. Рассказали, как с его помощью оптимизировать и персонализировать предложение по разным параметрам кредитного продукта и/или каналу коммуникации, что позволяет существенно увеличить охват клиентской базы и прибыль с заявки. А также показали, как эту задачу можно решить с помощью методов машинного обучения и математической оптимизации с учетом различных бизнес ограничений.
Над статьей работали @Lazarev_Adrian, @abv_gbc, @alisaalisa, @vagonoff
P.S. В ближайшую среду 19 января в 17:00 мы соберемся на онлайн семинар, на котором частично обсудим содержание статьи. Следите за информацией в чате или в канале: