Введение


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

Приложение, про которое, собственно, буду писать ниже, выполнено на базе платформы iDVP (Interactive Data Visualization Platform).



Итак, начнем!


Задача, которую мы решали и которую я собираюсь описать в этой статье, была сформулирована следующим образом:
Банк выдает кредиты крупным юридическим лицам – заемщикам. Количество крупных заемщиков в один момент времени не превышает 1 000. Руководству банка необходим удобный инструмент, с помощью которого можно было бы видеть (выполнять мониторинг) целостную картину кредитного портфеля банка. При этом должна быть возможность переходить от взгляда на кредитный портфель в целом до детальной информации по каждому из заемщиков.

В каких условиях находится руководитель и что ему необходимо?

  1. Руководство хочет тратить минимум усилий на работу с приложением, на трактовку визуальной информации, на анализ данных.
  2. Руководство хочет видеть состояние кредитного портфеля сразу, просто открыв приложение, не совершая ни одного клика мышью.
  3. Информация должна быть представлена «максимально» — на одном экране, без необходимости скроллинга. Уже на первом экране пользователь должен увидеть, какие заемщики «проблемные», насколько «проблемные» и какова их доля в портфеле в количественном и стоимостном выражении.
  4. Инструменты фильтрации и группировки данных должны быть удобными и интуитивно понятными.
  5. Экраны приложения должны быть «красивыми», чтобы руководство с помощью него могло «эффектно» презентовать свои отчеты перед учредителями и акционерами.

Аналитики банков, а также вендоры BI-инструментов пытаются создать решения, которые соответствовали бы всем указанным требованиям, но не все требования удается выполнить в полной мере, и в итоге созданные программные решения не всегда нравятся руководству. Мы решили пойти своим путем и спроектировать такое решение, которое удовлетворяло бы всем требованиям с максимально возможным качеством.

О нашем подходе к задачам по анализу данных я уже рассказывал в предыдущей статье, если есть желание – можете ее почитать.

Основные тезисы этой статьи
  1. При обследовании заказчика мы всегда стараемся выявить ту боль (проблему) заказчика, которую можно решить с помощью анализа данных. И создаем такое приложение, которое полностью решает эту проблему.
  2. Для анализа данных мы используем не «обычные» BI-отчеты, а трехмерные приложения. В этих приложениях визуализация аналитической информации выполняется в виде 3D-объектов, объединенных в тематические интерактивные сцены (экранные формы), связанные между собой логическими переходами.
  3. Создаваемые нами решения имеют в своем фундаменте три принципа:

  • Наглядное представление картины бизнеса заказчика. Уже при первом знакомстве с приложением, на первом же экране, пользователь должен увидеть все интересующие его части своего бизнеса.
  • Раскрытие причин проблемы. Выбрав проблемную точку, пользователь должен иметь возможность воспользоваться функцией drill down, которая позволяет провалиться глубже в проблемную зону, и на следующих экранных формах увидеть причины возникновения проблем.
  • Техническая эстетика. Приложение должно вызывать wow-эффект, т.е. должно быть привлекательным, интуитивно понятным и удобным.

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

Напомню наши этапы проектирования приложений:

  1. Постановка задачи и начало работы;
  2. Обследование заказчика и работа с открытыми источниками;
  3. Анализ, формирование требований и документирование;
  4. Формирование итогового документа «Описание приложения».

Дальнейшее описание структурировано по этим этапам.

Постановка задачи и начало работы


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

Естественно, приложение должно удовлетворять всем специфическим требованиям руководства банка, перечисленным выше.

Обследование заказчика и работа с открытыми источниками


В ходе обследования была получена следующая картина данного направления бизнеса банка.

Основной заработок большинства банков состоит в предоставлении кредитов компаниям и населению.

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

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

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

Аналитики банка также собирают информацию о движение денежных средств (cash flow) заемщика и другие показатели, строят cash flow – модели. Информация собирается из нескольких информационных систем банка.

По итогам анализа собранной информации производится выявление проблем у заемщика и отнесение заемщика к одной из 5-ти «зон проблемности», используемых в банке для группировки заемщиков:

  1. Зеленая зона – к этой зоне относят заемщика, у которого не выявлено проблем, которые могут повлиять на возврат кредита;
  2. Желтая зона – у заемщика выявлены некоторые проблемы;
  3. Красная зона – у заемщика выявлены существенные проблемы;
  4. Черная зона – заемщик с вероятностью, близкой к 100 процентам, не выплатит кредит;
  5. Белая зона – проблемность заемщика еще не рассчитана.

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

Также аналитики банка выполняют анализ просроченной задолженности заемщика (NPL – Non-performing loans). По итогам анализа заемщика относят к одной из 4-х зон NPL:

  1. Зеленая зона — выплаты по кредиту заемщиком не просрочены или просрочены на срок до 4-х дней;
  2. Желтая зона – просрочка составляет от 5 до 29 дней;
  3. Красная зона — от 30 до 89 дней;
  4. Черная зона — от 90 дней и выше.

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

По каждому кредиту отслеживается своевременность платежей и выполнение других условий кредитного договора.

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

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

Анализ, формирование требований и документирование


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

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

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

Также, чтобы приложение было удобным для руководства банка, мы решили сделать не только десктопную версию для Windows, но и для Mac OS, iOS и Android. Тем более, что платформа, на которой мы разрабатываем эти приложения, позволяет это делать, что называется, «в одно касание».

По итогам анализа были определены следующие показатели, которые необходимо отслеживать по каждому заемщику:

  1. Объем задолженности
  2. Зона проблемности
  3. Зона NPL
  4. Сумма резерва
  5. Рейтинг заемщика

Приложение должно позволять пользователю:

  1. Увидеть всех заемщиков на одном экране; при этом необходимо помнить, что одновременно банк обслуживает до 1000 крупных заемщиков;
  2. Отфильтровать заемщиков по объему задолженности;
  3. Отфильтровать заемщиков по зонам проблемности;
  4. Отфильтровать заемщиков по зонам NPL;
  5. Отфильтровать заемщиков по филиалам банка, выдавшим им кредиты;
  6. Отфильтровать заемщиков по отраслям промышленности;
  7. Отфильтровать заемщиков по проблемностям, выявленным у них.

Попробуйте представить себе отчет (или несколько отчетов), которые будут соответствовать этим требованиям, а также требованиям, указанным в самом начале статьи. Представили? А теперь я предлагаю вам ознакомиться с нашим решением.

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

В результате у нас получился вот такой главный экран приложения iDVP.Банки.Кредитные процессы (см. рисунок ниже).



С первого взгляда экран кажется довольно насыщенным, но при этом вся информация распределена по зонам, что облегчает восприятие. Какие же зоны получились в итоге?

Центральная зона




В этой зоне в виде разноцветных планет (шаров) представлены заемщики банка. Размер планеты соответствует объему задолженности по кредиту у данного заемщика. Цвет планеты соответствует зоне проблемности заемщика. При этом заемщики одного цвета сгруппированы вместе, чтобы можно было визуально оценить их долю (количественно и по сумме задолженности) в кредитном портфеле. Таким образом, мы решили задачу «увидеть всех заемщиков на одном экране».

В этой же зоне присутствует фильтр по размеру планет (обратите внимание на шкалу и круг, расположенные справа от планет). С помощью этого фильтра можно указать минимальный и максимальный размер задолженности для отображаемых заемщиков. Можно оставить на экране только крупных заемщиков, например. Задача «отфильтровать заемщиков по объему задолженности» решена.

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



Задача «переход от общей картины кредитного портфеля к конкретному заемщику" для разбора ситуации должен производиться с минимальным количеством кликов» решена.

В начальном состоянии экрана планеты малого размера не всегда удобно кликать – в них просто трудно попасть мышью илив случае с touch-интерфейсами — пальцем. Чтобы компенсировать эту трудность, в центральной зоне имеется возможность приблизить и отдалить (zoom-in и zoom-out) любую часть планетной системы. Это делается либо с помощью колеса мыши, либо, если используется touch-экран, с помощью действия «pinch».

Зона фильтров слева




В этой зоне содержится фильтр по цветовым зонам проблемности заемщиков. Можно нащелкать/отщелкать нужные/ненужные зоны проблемности. В результате в центральной зоне останутся только планеты-заемщики нужных пользователю цветов. Задача «отфильтровать заемщиков по зонам проблемности», «отфильтровать заемщиков по зонам NPL» решена. Внимательный читатель наверняка спросит, как мы фильтруем заемщиков по зонам NPL с помощью этого инструмента, ведь он фильтрует только зоны проблемности. Все просто: в верхней левой части экрана присутствует текст «ОСТАТОК ЗАДОЛЖЕННОСТИ» – это, на самом деле, выпадающий список выбора режимов отображения заемщиков. Для выбора доступны следующие режимы:

  1. ОСТАТОК ЗАДОЛЖЕННОСТИ – в этом режиме размер планет определяется размером задолженности, а цвет планет – зоной проблемности;
  2. ОБЪЕМ NPL – в этом режиме размер планет определяется размером просроченной задолженности, а цвет планет – зоной NPL;
  3. РЕЗЕРВ – в этом режиме размер планет определяется размером резерва, а цвет планет – зоной проблемности;
  4. РЕЙТИНГ – в этом режиме размер планет определяется значением рейтинга, а цвет планет – зоной проблемности.

Вот в режиме «Объем NPL» фильтр слева и становится фильтром по цветовым зонам NPL.

Зона фильтров справа




В этой зоне содержится элемент фильтрации «аккордеон», в котором содержится три фильтра:

  1. ЦА+ТБ (центальный аппарат + территориальные банки) – с помощь этого фильтра можно оставить на экране только заемщиков, кредиты которым выдал центральный аппарат (головной офис банка) или территориальные банки (филиалы).
  2. ОТРАСЛИ – позволяет фильтровать заемщиков определенных отраслей промышленности.
  3. ПРОБЛЕМНОСТИ – этот фильтр позволяет оставить на экране только тех заемщиков, у которых аналитиками банка были выявлены те или иные проблемности.

Особенностью элемента «аккордеон» является то, что в один момент времени развернут только один фильтр (на эскизе развернут фильтр «ПРОБЛЕМНОСТИ»). Остальные фильтры при этом находятся в свернутом состоянии.

Задача «отфильтровать заемщиков по филиалам банка, по отраслям промышленности, по проблемностям» решена.

Зона нижнего графика




В этой зоне размещен график, в котором отображается изменение соотношения зон проблемности или зон NPL во времени. Для этого используется тип графика «линейный график с накоплением». Цвета графика соответствуют зонам проблемности или зонам NPL.

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

Ниже прикрепляю остальные экраны приложения: эскизы и названия. А у вас будет возможность их изучить, проанализировать самостоятельно. Если будут вопросы по содержимому – задавайте их в комментариях, обязательно отвечу.


Главный экран с включенным отображением круговой диаграммы распределения цветовых зон проблемности


Главный экран с отфильтрованными по объему задолженности заемщиками (на шкале слева от планет нижняя граница отображения установлена на уровне 20% от максимума)


Главный экран. Приближение планет (zoom-in)


Карточка заемщика


Карточка заемщика. Зоны проблемности заемщика


Табличное представление кредитного портфеля


Распределение кредитного портфеля по зонам проблемности и изменение их объема


Динамика перехода заемщиков между двумя зонами проблемности (на эскизе отображен переход между красной и черной зонами проблемности)


Динамика выполнения задач, направленных на устранение проблемностей у заемщиков


Отображение кредитного портфеля банка по отраслям промышленности

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

Формирование итогового документа «Описание приложения»


По итогам анализа, проектирования решения и отрисовки эскизов был подготовлен документ «Описание приложения», структура и содержимое которого подробно описаны в предыдущей статье.

  1. По этому документу в настоящее время продолжаются работы по проекту, а именно:
  2. Формирование постановки на визуальную часть приложения;
  3. Формирование постановки на загрузку и обработку данных приложения;
  4. Разработка 3D-компонентов (компонент «планеты» уже разработан нами);
  5. Верстка приложения;
  6. Тестирование и приемка приложения.

Заключение


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

Наверняка у вас появились при прочтении вопросы. Готов ответить на них в комментариях. Пишите!

Спасибо, что дочитали до конца!

Комментарии (6)


  1. nikola_sa
    22.02.2018 13:28

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


    1. boyarskiy Автор
      22.02.2018 13:32

      Скорость отрисовки экранов зависит от того, есть готовые визуальные компоненты, из которых выполняется верстка экрана или нет.
      Если они есть — такие экраны верстаются за 1-2 дня. Если их нет — разработка компонентов может длится от пары дней до нескольких недель, в зависимости от сложности компонета.

      Построено на платформе iDVP (idvp.info). В качестве 3d движка используется Unity3D.


  1. robotobor
    22.02.2018 13:28

    Здравствуйте. Какие технологии вы используете для приложения, какие фреймворки? Xamarin? Какие 3d библиотеки? Я далек от мобильной разработки, если не считать адаптивные веб-приложения и десктоп (вообще я больше в бэкэнде), но примерно понимаю принцип построения мобильных приложений (читал и пробовал кое-что). Интересно, с чего можно стартануть в таком же графическом оформлении… Просто, я вижу, что вы работаете с какими-то готовыми шаблонными объектами. Вы их сами с нуля разрабатывали или какой-то фреймворк кастомизировали под себя?


    1. boyarskiy Автор
      22.02.2018 13:35

      Построено на платформе iDVP (idvp.info). В качестве 3d движка используется Unity3D.
      Как я ответил в предыдущем комментарии, такие экраны верстаются из готовых визуальных компонентов. Базовые библиотеки компонентов есть в платформе. Более сложные визуальные компоненты мы разрабатываем под проекты, и по возможности, переиспользуем в следующих проектах.


  1. FenixFly
    22.02.2018 13:29

    У вас дизайнер переиграл в "Космические Рейнжеры 2". Почему такой ярко-синий? Зачем отражения на шариках? Пожалели бы людей, им же с этим ПО работать (наверно).


    1. boyarskiy Автор
      22.02.2018 13:37

      Дизайнеры у нас в разные игры играют на досуге. Так они видят, а нам нравится их вижн.
      Людям, действительно, с этим ПО работать, но не по 8 часов в день, поэтому некоторые яркости цветов и отражения здесь вполне уместны и не наносят вред здоровью и психике пользователей.