К содержанию
Работа

Subscription Control — банковский модуль управления подписками

Модуль внутри мобильного банка читает историю операций клиента и превращает непонятные строки выписки в список подписок: кто списывает, сколько, как часто, когда спишет в следующий раз и можно ли это остановить. Ключевое слово — объяснимость: банк показывает не вердикт, а причину вывода, и даёт его исправить. Отмена сделана как отслеживаемый процесс с доказательствами, а не как кнопка, после которой непонятно, что произошло.

Главный экран проекта Нажмите, чтобы рассмотреть

Интерфейс воссоздан по описанию; исходные экраны не публикуются.

Subscription Control — банковский модуль управления подписками 01 / 06
Subscription Control — банковский модуль управления подписками — Главный экран проекта
Клиент
Финтех-компания
Индустрия
Финтех
Срок
9 месяцев
Команда
7 человек

Задача

Банк видит все операции клиента, но клиент не видит в них подписок. `VIDSTREAM*PREMIUM`, `VDS*MONTHLY PLAN` и `VIDSTRM LONDON GB` — один и тот же сервис, но в выписке это три разные покупки, и ни одна из них не подсказывает, что за ней стоит действующий договор.

Дорого обходится именно незаметное: платная подписка после бесплатного триала; годовое продление, о котором забыли одиннадцать месяцев назад; несколько тарифов одного поставщика; мелкие суммы, растворяющиеся среди повседневных трат; тихое повышение цены; списания, которые продолжаются после того, как сервис заявил об отмене. Отдельная сложность — доказать, когда именно клиент попросил отменить.

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

Решение

Нормализация продавца. Первый шаг — привести строку выписки к узнаваемому сервису. Merchant resolution собирает разные написания одного поставщика в один кластер и строит карточку: понятное имя, категория, сайт, канал поддержки, возможные тарифы, способы отмены, связанные дескрипторы и уверенность сопоставления. Если уверенности не хватает, приложение не выдаёт догадку за факт: подписка помечается как требующая проверки, а клиент может подтвердить сервис, скрыть поток или указать правильное название.

Распознавание регулярности. Похожие операции группируются, и по группе оценивается повторяемость: тот же продавец, та же или допустимо меняющаяся сумма, интервал между списаниями, недельная, двухнедельная, месячная или годовая периодичность, категория и тип операции, индикатор recurring, пропущенный или сдвинутый платёж, разница между выходным днём и датой обработки, появление нового дескриптора внутри существующего кластера. В паре работают правила и статистическая модель: детерминированные признаки дают прозрачность, оценка модели вытягивает неидеальные даты, конвертацию валют и плавающую сумму.

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

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

Четыре пути отмены. Отмена запускается из карточки и идёт одним из путей: прямой запрос через доступную интеграцию сервиса; сценарий на стороне поставщика с понятной инструкцией; блокировка будущих recurring-платежей этого продавца средствами банка или карточной сети; обращение в поддержку банка, если нужна ручная проверка. Перед подтверждением приложение объясняет разницу между отменой услуги и остановкой платежа: остановка списаний не всегда прекращает договорные отношения с поставщиком. Само действие подтверждается банковской аутентификацией, а экран подтверждения фиксирует продавца, сумму, последний платёж, выбранный способ, дату и затронутую карту.

Что происходит после. Модуль продолжает следить за потоком продавца. Списание после отмены — отдельное событие с датой, суммой, ссылкой на исходный запрос и быстрыми действиями: связаться с продавцом, остановить будущие платежи, оспорить операцию. В спор уходит уже собранный контекст — операция, история подписки, время запроса отмены, подтверждение, повторное списание, — поэтому поддержка получает связную временную линию, а клиенту не приходится собирать доказательства заново.

Результат

Клиент видит месячную сумму подписок и прогноз на год, ближайшие списания, новые обнаруженные сервисы и те, где выросла цена, — в приложении, которым и так пользуется каждый день. Годовые платежи приводятся к среднемесячной величине для общей оценки, но в карточке всегда остаётся реальная периодичность.

Непонятная строка выписки превратилась в объект с историей: первое и последнее списание, сумма за период, изменение цены, карта, доступные способы отмены. Вместо поиска операций по всей выписке — таймлайн, на котором виден весь паттерн.

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

Банк, в свою очередь, получил механику, которую можно защищать: объяснимая причина каждого распознавания, неизменяемый аудит отмен и остановок платежа, идемпотентность чувствительных запросов, ручная проверка спорных случаев и обогащение продавцов, которое не раскрывает данные одного клиента другому.

11 состояний жизненный цикл подписки от первого признака до списания после отмены
4 способа отмены от прямой интеграции до блокировки будущих списаний через банк
4 периодичности недельная, двухнедельная, месячная и годовая
9 месяцев срок разработки модуля
Ещё

Похожие проекты

Всё портфолио
ИИ-коллектор — голосовой агент для работы с задолженностью
Работа Финтех-компания

ИИ-коллектор — голосовой агент для работы с задолженностью

Голосовой агент для разговоров с клиентами, у которых возникла задолженность. Он принимает входящие звонки и сам выполняет исходящие, понимает естественную речь, берёт разрешённый контекст из банковских систем и ведёт диалог от приветствия до зафиксированного результата. Главное архитектурное решение — разделить речь и полномочия: модель свободно формулирует, но не имеет права ни рассчитать условие, ни озвучить предложение, которого не подтвердил отдельный policy engine.

ИИ-сотрудники
RAGNLP
Betald — площадка факторинга с обратным аукционом инвесторов и интеграциями с бухгалтерскими системами
Работа Frenns

Betald — площадка факторинга с обратным аукционом инвесторов и интеграциями с бухгалтерскими системами

Betald — британская площадка факторинга: компания, которой должны денег по выставленному счёту, не ждёт срока оплаты, а продаёт счёт и получает деньги сразу. Отличие от классического факторинга в том, что финансирует не один банк по своей ставке, а множество частных инвесторов, которые торгуются между собой на понижение. Продавец собирает нужную сумму из комбинации предложений, а площадка рассчитывает единую взвешенную ставку сделки.

Кастомная система
MagentoLaravelPHPPython
Green Dot DAMS — внутренняя система управления маркетинговыми материалами
Работа Green Dot

Green Dot DAMS — внутренняя система управления маркетинговыми материалами

Внутренняя система управления цифровыми материалами для маркетинга Green Dot: одна библиотека брендовых файлов с версиями, правами, согласованием и очередью подготовки вместо вложений в почте и папок на сетевом диске. Ключевая деталь — утверждение привязано не к файлу, а к конкретной его версии, поэтому «одобренный макет» всегда означает один определённый файл.

DAMS — управление цифровыми активами
SymfonyPHP
Первый разговор — бесплатно

Расскажите, что хотите изменить

За одну встречу уточним задачу и предложим следующий шаг, даже если вам нужен другой подрядчик.

Что будет на встрече
  1. 01 Опишите задачу своими словами
  2. 02 Уточним цель и ограничения
  3. 03 Предложим решение и следующий шаг
длительность 45–60 мин