惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

U
Unit 42
N
News and Events Feed by Topic
S
Schneier on Security
G
GRAHAM CLULEY
Scott Helme
Scott Helme
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CERT Recently Published Vulnerability Notes
T
The Exploit Database - CXSecurity.com
C
Cisco Blogs
T
The Blog of Author Tim Ferriss
Cisco Talos Blog
Cisco Talos Blog
P
Privacy & Cybersecurity Law Blog
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
博客园 - 司徒正美
Blog — PlanetScale
Blog — PlanetScale
Project Zero
Project Zero
MyScale Blog
MyScale Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
Apple Machine Learning Research
Apple Machine Learning Research
小众软件
小众软件
The Last Watchdog
The Last Watchdog
Vercel News
Vercel News
The Cloudflare Blog
C
Check Point Blog
Help Net Security
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
AI
AI
Simon Willison's Weblog
Simon Willison's Weblog
云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
Stack Overflow Blog
Stack Overflow Blog
腾讯CDC
NISL@THU
NISL@THU
S
Security @ Cisco Blogs
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
S
SegmentFault 最新的问题
MongoDB | Blog
MongoDB | Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
T
Threatpost
AWS News Blog
AWS News Blog
Cloudbric
Cloudbric
N
News and Events Feed by Topic
PCI Perspectives
PCI Perspectives
S
Securelist
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
Vulnerabilities – Threatpost
S
Secure Thoughts

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Next Best Action: от задолженности к прибыли через персонализацию коммуникаций
OutOfTheBag · 2026-04-20 · via Все публикации подряд на Хабре

Привет, Хабр! На связи — Ольга Кравченко, техдиректор по разработке моделей Газпромбанк.Тех. Сегодня я поделюсь кейсом, как наша команда создала инструмент, позволяющий нам продвигаться от просроченной задолженности к прибыли через персонализацию коммуникаций. Эта статья основана на моём выступлении на HighLoad++.

В нашем коллективе 11 человек: дата-сайентисты, дата-инженеры и специалисты автоматизации. Мы отвечаем за работу блока взыскания. Всё, что связано с просрочками, должниками, колл-центром, возвратом невозвратного — это наша вотчина для оптимизации и моделирования.

Зачем банку взыскание

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

Какое это имеет значение в моменте:

  • Снижение резервов — нет необходимости замораживать дополнительные средства на возможные потери.

  • Экономия ресурсов — можно избежать затрат на суды, сократить расходы на коллекторов, минимизировать потери времени колл-центра.

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

  • Улучшение показателей — качество кредитного портфеля и финансовые показатели банка повышаются, а нагрузка на капитал снижается.

Как это работает в долгосрочной перспективе:

  • Сохранение репутации банка в глазах клиентов, партнёров, конкурентов.

  • Поддержание лояльности клиентов — корректное и персонализированное взыскание помогает клиентам оставаться, возвращаться и идти на контакт.

  • Развитие инструментов помощи клиентам (рефинансирование, реструктуризация).

  • Основа для будущих прибыльных операций — там, где нравится одному, может понравиться многим.

Всё это звучит хорошо, но есть проблема: сложно организовать процессы так, чтобы было одновременно дёшево, быстро и качественно.

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

В центре находится плюс-минус идеальный процесс возврата средств. Есть семь условий, с помощью которых этого удаётся достичь:

  1. Доля урегулирования — это про деньги. Здесь важно начинать коммуникацию как можно быстрее, потому что время — деньги, как для банка, так и для клиента.

  2. Объём урегулирования — это про клиентов, которые, как говорят в банке, «выздоровеют» и выйдут из стадии просроченной задолженности.

  3. Лояльность клиентов — это главная опора банка, поэтому коммуникации должны быть персонализированными.

  4. Нагрузка на колл-центр. Работники колл-центров — святые люди, но их мало, а работы у них много.

  5. Затраты на коммуникации. Чем меньше денег мы тратим на СМС и звонки, тем лучше.

  6. Стоимость решения. Часто, когда начинаются большие проекты, вносится дополнительное ПО и железо, но хорошо, если можно обойтись собственной инфраструктурой.

  7. Дополнительные человеческие ресурсы. Здесь нам ничего не надо, у нас всё хорошо 🙂

Мы стали искать решение, которое бы соблюдало все эти условия. 

В первую очередь разделили все хотелки на две части:

Оказалось, что сделать быстро, с минимальной стоимостью и своими ресурсами — это про архитектуру, а сделать эффективно, оптимально и без потери лояльности — про моделирование. 

Мы приступили к реализации.

Про архитектуру

Начали с архитектуры. Чтобы понимать, как в банке хранятся и обрабатываются данные, лучше обратиться к платформе данных — комплексу автоматизированных систем хранения и обработки информации. Вот как она выглядит:

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

Банк использует множество источников данных, которые, если обобщать, можно разделить на два типа: внешние и внутренние. Загрузка производится пакетами или потоково. Любая автоматизированная система может поставлять данные на платформу данных и являться для неё источником. 

В области хранения сырых данных у нас лежит автоматизированная система операционного хранилища данных.

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

В область детального слоя данные попадают уже в детальном, нормализованном, консолидированном и очищенном виде. Здесь у нас находится корпоративное хранилище данных (КХД) — предметно-ориентированная база, построенная по принципу DWH (data warehouse) для управления большими объёмами структурированных данных. Она имеет двухслойную архитектуру:

  1. Область Stage хранит детальные данные в разрезе системы источников и является технической. 

  2. Область Core — детальные консолидированные данные, т. е. данные в одном экземпляре с исключением дублей по клиентам, счетам и договорам. 

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

Здесь в КХД находится пользовательская область с данными, view и процедурами, и различные витрины данных, где происходит расчёт показателей, агрегация и обогащение необходимых данных для потребителей. Отдельным блоком лежат OLTP-витрины (online transaction processing), чтобы убрать OLTP-нагрузку с основного хранилища. 

В правой части схемы — область применения. Здесь находятся потребители данных: функциональные подсистемы, автоматизированные системы и в целом любые сотрудники банка.

Текущие и архивные записи операционного хранилища, областей Core и Stage КХД реплицируются в фабрику данных — корпоративную информационную платформу (здесь происходит сбор, хранение, обработка, аналитика супербольших объёмов данных, в том числе и неструктурированных). Здесь же лежат витрины Hadoop, на которых обучаются модели — о них расскажу подробнее ниже.

Для моделей, которые являются онлайн-сервисами, данные обрабатываются потоково и выгружаются в витрины операционного слоя.

Отдельным стеком располагаются платформы гео-, текстовой и графовой аналитики со своими визуальными интерфейсами.

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

После того как данные будут очищены и преобразованы, на них выстраиваются онлайн- и офлайн-ML-пайплайны. Для онлайн-варианта применение происходит по единичным запросам или в потоке, для офлайн — механизмами пакетного регламентного расчёта. 

Для применения моделей поднимаются контейнеры с необходимыми наборами библиотек и компонент. Для регистрации этапов жизненного цикла моделей, их мониторинга и корректировок используется система управления моделями (СУМО).

Теперь детально рассмотрим витрины Hadoop.

Здесь у нас единая витрина данных. Это огромная совокупность знаний обо всех физических и юридических клиентах и их продуктах. Глобально она  состоит из двух областей:

  • Область детальных данных для анализа данных в разрезе ключа сущности из источника. 

  • Область унифицированных данных для анализа поведения глобального клиента и истории жизни договора.

На основе единой витрины данных и Stage КХД формируются витрины для моделей машинного обучения: после проведения проверок готовности источников, загрузки точек, просрочек и айдишников, происходит предагрегация, например на клиента и на просрочку, и рассчитываются переменные для моделей на так называемый закрытый операционный день. Это день, когда все филиалы нашей банковской распределённой сети закрывают учёт и отправляют нам данные. Расчёт происходит параллельно в определённое время с помощью сателлитов — больших блоков SQL-кода. Когда сателлиты готовы, формируется итоговая витрина для моделирования.

Очевидно, все эти процессы занимают много времени.

Следуя регламенту загрузки Stage, репликации, а затем расчёта единой витрины данных (что занимает до семи часов), мы имеем значительный лаг между источниками и скорингом модельных данных. Всё это время бизнес простаивает. 

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

Чтобы её решить, мы погрузились в источники бизнеса — в автоматизированную бизнес-систему Collection (АБС Collection).

В общем виде АБС Collection представляет собой совокупность бизнес-модулей, каждый из которых содержит сложные ветвящиеся схемы различных процессов. На этих схемах есть квадратики — это так называемые работы (плюс-минус крупная единица), чуть более мелкие элементы — задачи, которые спускаются непосредственно на сотрудников колл-центра, и условные переходы между ними. Бизнес-процессы могут запускаться по различным объектам (физлицу, юрлицу, судебному делу и так далее).

В простейшем варианте бизнес-процесс выглядит так:

Но, конечно, в жизни всё сложнее. 

И при этом мы предложили сделать ещё один страшный бизнес-процесс, который помог бы нам оптимизировать работу с данными. Естественно, нам отказали, потому что Collection является нагруженной системой, и если мы инициируем ещё один процесс, то вылетим из требования по нагрузке. 

Найти решение помогли коллеги из бизнеса. Они объяснили, что работы бывают двух видов: ручные и автоматические. Автоматические работы выполняются непрерывно. Их не надо инициировать много раз на дню. Одной из таких работ является информирование как раз на этапе возникновения просроченной задолженности — то, что нам нужно. Мы решили, что нам необходимо подключиться к моменту запуска этого процесса, не создавая новый. Для этого использовали подсистему репликации данных из бизнеса в наш Hadoop — ETL Framework. 

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

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

Про моделирование

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

У нас есть четыре типа модели:

  1. Модели, которые предсказывают вероятности, например выхода в заданную просроченную задолженность.

  2. Модели, которые помогают нам принимать решения, например какой дисконт мы можем предоставить по амнистии. 

  3. Модели определения событий, например станете ли вы банкротом. 

  4. Модели помощи заёмщикам, рефинансирования и реструктуризации. 

Применяем мы их так: систематизируем все договоры в цветной светофорной матрице, которая называется Balance at Risk (BaR). Клиенты в ней в зависимости от суммы долга, находящегося под риском, распределены на сегменты Low, Medium и High. 

Чем выше у клиента вероятность задолженности и чем выше баланс, тем большая коммуникация на него будет направлена. Происходит это последовательно: отправка пуша, СМС, звонок робота и так далее. 

Мы решили отказаться от сегментации в пользу прямой рекомендации канала коммуникации. Для первых просрочек используем подход First Best Action, то есть выбираем для первого взаимодействия наилучший инструмент коммуникации. Затем следующий по оптимальности и так до самого дефолта. Дефолт — это выход в 90 дней. 

После того как мы попытались создать огромные бизнес-процессы, коллеги нам опять напомнили, что персонализированные коммуникации — это не всё. Нужно оглядываться на нагрузку на колл-центр и на бюджет, на СМС и звонки. 

М-м-маркетинг!

В результате ресёрча мы решили попробовать то, что никогда во взыскании не применялось, — маркетинговые инструменты. 

С точки зрения реакции на взаимодействие клиенты делятся на четыре типа:

  1. Клиенты «Не беспокоить». Такие граждане при попытке коммуницировать с ними сигнализируют о том, что им это не нравится. 

  2. Лояльные клиенты. Независимо от характера и активности коммуникации, лояльный клиент выполняет целевое действие. В случае маркетинга, например, нажмёт кнопку, перейдёт по ссылке, в нашем случае — заплатит по кредиту. 

  3. Потерянные клиенты. В противоположность лояльным, они не совершат целевого действия, несмотря ни на что. 

  4. Убеждаемые клиенты. Самый интересный и нужный тип клиента, который реагирует положительно только при коммуникации с ним.

С точки зрения моделирования есть три крупных подхода:

  • Look-alike-модель — поиск клиентов, похожих на тех, которые уже совершали целевое действие.

  • Response-модель, когда мы коммуницируем со всеми и смотрим на эффект.

  • Uplift-модель (то, на чём мы остановились) — поиск чистого эффекта от коммуникации, то есть тех самых убеждаемых клиентов.

После выбора подхода и сферы нам предстояло расписать этапы реализации.

Этапы реализации

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

Начали с архитектуры пилота. Там, где был один тег, мы сделали два. 30% всего потока пошло на пилотирование, а остатки разделились пополам на скоринг по старому процессу с раскрашенной матрицей и на наши новые модельки. Накопление данных происходило на разных этапах просроченной задолженности, как на таймлайне. Здесь были случайно разбитые равные группы в зависимости от того, какие коммуникации доступны. 

Например, на схеме выше на розовом поле расписан этап First Best Action. Здесь нам доступны SMS, пуши, e-mail, звонки оператора и звонки робота. Потом полученные данные выгружались во View, и мы забирали ETL-фреймворком данные в Data Factory на скоринг.

Что такое победа? Разберём по критериям, которые мы учитываем.

  • Доля урегулирования — любимая метрика финтех-бизнеса Gini, чтобы оценивать, как модели сегментируют и перформят.

  • Объём урегулирований — через нашу раскрашенную матрицу Balance at Risk смотрим, как мы разносим наших клиентов по модельному риску относительно балансов.

  • Затраты на коммуникации — нагрузка на колл-центр хорошо оценивается Uplift-метриками, например Uplift на топ-30% выборки наиболее убеждаемых клиентов.

  • Лояльность — здесь мы выбрали метрику Qini. Она бывает положительная и отрицательная и позволяет оценить попадание в тех клиентов, которые, если им звонить, будут реагировать негативно. 

  • Стоимость решения — используем Time To Market, чтобы отследить, какая разница во времени внедрения получится относительно наших классических моделей и уложимся ли мы в типовой жизненный цикл.

  • Любимый дополнительный человеческий ресурс. Здесь главная метрика — это улыбка заказчика 🙂

После того, как определились с метриками, мы пошли искать модельные подходы. Их можно разделить на три категории:

  1. Одна модель (Solo) с признаком коммуникации, с пересечением признаков или с трансформацией классов.

  2. Две модели, зависимые или независимые, зависимые перекрестно или по данным.

  3. Одна модель с множественным классом или множественным тритментом. 

Самый простой подход — это обучаться одновременно на двух группах:

  • Тестовой, она же тритмент, — то есть обучаться там, где мы производим воздействие.

  • Контрольной — там, где мы воздействие не производим.

В случае solo-модели с признаком коммуникации флаг коммуникации выступает как дополнительный признак. Здесь искомый Uplift — это просто разница предиктов.

Её «дочка» — соло-модель с пересечением признаков:

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

Чуть более интересный и математически обоснованный подход — соло-модель с трансформацией классов.

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

Две независимые модели — самый популярный подход, которым пользуются все:

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

Чуть более интересный вариант — две зависимые модели.

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

Ещё чуть интереснее — это две перекрёстно зависимые модели:

В этом случае сначала обучаются две независимые модели, затем делаются предсказания наперекрёст: модель, обученная на контроле, делает предикт на тесте, а обученная на тесте — на контроле. Далее таргеты в группах преобразуются с учётом этих перекрёстных предсказаний, и на изменённых таргетах обучаются две новые модели. Взвешенная сумма предсказаний с некоторым коэффициентом, который зависит от размера групп, и будет нашим Uplift.

Последний вариант — это модель с множественным классом или тритментом:

Мы снова возвращаемся к клиентам, которые либо любят нас, либо кричат. Только из них уже переходим к четырём классам в зависимости от действия в результате воздействия: CR, CN, TR, TN. Где C — Control; T — Treatment; R/N — Responder/Non-responder (отвечает ли клиент на воздействие).

Получили четыре класса, обучили многоклассовый классификатор. Вероятности, которые содержат нужных нам убеждаемых клиентов, — складываем, а негативно реагирующих — вычитаем.

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

Что выбрать?

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

Оптимизатор получает на вход накопленные данные на определённом этапе просроченной задолженности, обучает все модели, тюнит их и взвешивает на все метрики, о которых я рассказала, с учётом любимой метрики Gini, BaR, и ограничения на колл-центр и на бюджет коммуникаций.

В результате мы получаем на каждом этапе просроченной задолженности топ наиболее хорошо перформящих моделей, согласовываем. Например, для этапа FBA работает две Uplift-модели (оператор и робот), которые напрямую рекомендуют канал коммуникаций. Для того, чтобы смотреть на перформанс Uplift-моделей под капотом, у нас есть ещё три модели контроля качества на всей выборке и по одной модели для каждой группы.

Дальше — CTRL-C/CTRL-V: берём оптимизатор и на каждом этапе просроченной задолженности получаем наиболее хорошо перформящие модели. Так и сделали, осталось только наблюдать.

Получилось три группы:

  1. Модель текущей стратегии с бизнес-рулами и сегментами.

  2. Uplift-модели, которые мы так старательно делали.

  3. Случайное взаимодействие, чтобы оценить, насколько полученный эффект статистически значим.

Round One, Fight!

Накопление данных мы начали в конце 2024 года. Сейчас уже готовы показать первые результаты. Вот что из этого вышло:

  • Time to market. Четыре месяца мы копили данные, ещё два потребовалось на разработку и внедрение — ни днём больше, чем наш стандартный жизненный цикл.

  • Доля урегулирования. Самый классный показатель здесь — мы стали урегулировать просроченную задолженность на 25% лучше относительно текущей стратегии, что составляет от 15 до 32% профита по каналам коммуникации.

  • Gini — она тоже выросла. И всё это произошло при тотальном снижении нагрузки на колл-центр.

  • Нагрузка на колл-центр. Операторы колл-центра стали совершать на 73% меньше звонков за счёт того, что мы просто стали им говорить, кому нужно звонить.

  • Затраты на коммуникацию снизились на 10% на одного клиента.

  • Лояльность клиентов приросла. Лично я ненавижу, когда мне звонят из банков. Но здесь люди стали отвечать лучше на 5% при звонке оператором и на 11% — при звонке роботом. 

Основная банковская метрика — это, конечно, финансовый эффект.

Мы получили более 3 млрд сохранённых балансов на каждые 20 тысяч договоров, и это только за один месяц и только по First Best Action. Общая оценка компании от бизнеса, как у сеньора на перформанс-ревью, — выше всяких ожиданий 🙂

Но наша главная оценка — это любовь заказчика или, как у джуна на перформанс-ревью, — всё хорошо, ты молодец! 🙂

С докладом на эту тему я выступала на конференции HighLoad++ 2025. Следующее крупное событие для разработчиков высоконагруженных систем — конференция Saint HighLoad++ 2026, она пройдёт в Санкт-Петербурге в июне. Участников ждут не просто доклады — «Онтико» в этом году переворачивает рынок IT-мероприятий! Подробнее — на сайте. Вас ждёт много интересного и необычного :) Присоединяйтесь!