На главную Контакты Карта сайта Версия для печати
ПОИСК
О компании Партнеры Продукты Услуги Клиенты Пресс-центр Форум

Филиалы, данные, анализ

Автор: Ольга Заратуйченко
Издание: Банковские технологии, январь 1998

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

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

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

Этот список требований к “идеальной” Системе Анализа можно еще продолжать, но гораздо интереснее рассмотреть конкретное решение на примере работающей Системы Анализа. В данной статье описываются основные принципы, на которых базируется новая версия модуля “Финансовый анализ и отчетность”, работающая в составе Банковской Интегрированной Системы БИСКВИТ.

Для решения аналитической задачи необходимо иметь три составляющие:

  • Методику, разработанную с учетом специфики работы анализируемых подразделений;
  • Данные, на которых основывается анализ;
  • Инструментальные средства анализа данных, которые далее будем называть Системой Анализа.

Система Анализа представляет собой программный продукт, по существу независимый от разрабатываемой нами банковской системы, способный обрабатывать информацию из различных источников. По существующему проекту, База Данных интегрированной банковской системы состоит из транзакционной и аналитической составляющих и Система Анализа может непосредственно работать с транзакционной составляющей в качестве одного из модулей. Существует возможность ее работы вместе с архивными Базами Данных, совокупность которых играет роль Хранилища Данных (то, что принято обозначать термином Data Warehouse). Помимо непосредственного доступа к информации рабочей базы данных, Система обладает возможностью импорта данных от филиалов, других подразделений и организаций. Это обуславливает возможность Системы Анализа работать независимо, без подключенной транзакционной базы данных, а также обрабатывать информацию различной природы из различных источников. Анализируемыми данными могут служить как внутренние финансовые данные банка и филиалов, так и внешние данные различного содержания (рейтинги, оценки, статистика и т. д.).

Рис.1. Структурная схема Системы Анализа.

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

Что собой представляет система анализа?

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

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

В результате исследования проблемы, мы пришли к идее представления данных в виде логической многомерной структуры, которая была реализована возможностями реляционной базы данных и языка 4-го поколения Progress 4GL, на котором написана ИБС БИСКВИТ.

Основные принципы многомерной организации данных.

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

Работа с многомерными структурами данных получила название OLAP (on-line analytical processing). Определением этого понятия служат 12 основных требований к средствам реализации OLAP, которые были сформулированы Э.Коддом. Приведу их для сведения:

  1. Многомерное представление данных на концептуальном уровне (средства должны поддерживать многомерный взгляд на данные);
  2. Прозрачность (пользователь не должен знать о том, какие конкретно средства используются для хранения и обработки данных, как данные организованы и откуда они берутся);
  3. Доступность (средства должны сами выбирать и связываться с наилучшим для формирования ответа на данный запрос источником данных);
  4. Согласованная производительность (производительность практически не должна зависеть от количества Измерений в запросе);
  5. Поддержка архитектуры клиент-сервер (средства должны работать в архитектуре клиент-сервер);
  6. Равноправность всех измерений (ни одно из измерений не должно быть базовым, все они должны быть равноправными(симметричными));
  7. Динамическая обработка разреженных матриц (неопределенные значения должны храниться и обрабатываться наиболее эффективным способом);
  8. Поддержка многопользовательского режима работы( средства должны обеспечивать возможность работать с данными более чем одному пользователю);
  9. Поддержка операций на основе различных измерений (все многомерные операции должны единообразно и согласованно применяться к любому числу любых измерений);
  10. Простота манипулирования данными (средства должны иметь максимально удобный, естественный и комфортный пользовательский интерфейс);
  11. Развитые средства представления данных (средства должны поддерживать различные способы визуализации данных);
  12. Неограниченное число измерений и уровней агрегации данных (не должно быть ограничений на число поддерживаемых Измерений).

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

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

  • измерение (dimension) - это множество однотипных данных, образующих одну из граней гиперкуба. В многомерной модели данных измерения играют роль индексов, используемых для идентификации конкретных значений (показателей), находящихся в ячейках гиперкуба;
  • показатель (measure) - это поле, значения которого однозначно определяются фиксированным набором измерений.

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

Наша реализация объединяет лучшие черты Поликубического и Гиперкубического подхода. Его можно назвать подходом Вложенных Гиперкубов: жестко определен один внешний гиперкуб с иерархическими измерениями “Подразделение” и “Время” (фиксированными в силу предметной области), в каждой же его ячейке может существовать неограниченное количество гиперкубов с любыми иными измерениями, самостоятельно определяющимися пользователем в словаре данных. Так как поступающая на анализ информация имеет не только разную форму, но и различный экономический смысл, каждый внутренний гиперкуб характеризуется своими собственными измерениями, определяющими структуру хранимых данных, а также имеет собственный набор показателей. Совокупность конкретных значений всех измерений однозначно определяет значения показателей данного гиперкуба.

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

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

Физическая организация многомерной структуры данных.

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

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

  • Все данные, независимо от их экономического смысла, источников получения и свойств лежат в единой структуре данных. Вследствие этого все операции по доступу к данным, их обработке, детализации, агрегации, просмотру, валидации предельно унифицированы, что положительно влияет на скорость их проведения.
  • Предельно облегчается репликация данных, а также доступ к ним посредством SQL-запросов и запросов, специально организованных средствами Системы Анализа.
  • Достаточно просто организуется анализ данных методами, применяющими подход slice & dice, то есть просмотр данных в различных разрезах, комбинациях и пoрядке следования.

Логическая структура организации данных для анализа и хранения.

Логическая организация Системы, предназначенной для анализа разнородной информации базируется на трех типах иерархических объектов :

  • Временные периоды. Иерархические отношения этого типа объектов носят вложенный характер. Для нашей реализации системы он представляет собой ряд Год? Квартал? Месяц? Декада? Пятидневка? День. Данные, лежащие на более высоком уровне, должны соответствовать детализированным данным по более низким уровням иерархии.
  • Подразделения или объекты анализа. Их иерархическая структура определяется сложной структурой, которая характерна для предприятий корпоративного типа. В Системе Финансового Анализа основным анализируемым объектом будет, несомненно, банк с филиальной сетью: Весь банк? Группа филиалов? Филиал, а второстепенными могут быть другие банки, биржи или предприятия. Возможна и более глубокая детализация объектов анализа.
  • Наиболее важную для организации логической связанности данных в системе анализа играет Иерархический справочник Типов данных, который имеет сложную древовидную структуру. Самый нижний узел любой ветви в иерархии данных представляет собой класс данных и объединяет под собой ряд сходных по экономическому смыслу и способам обработки финансовых показателей. Причем каждому классу соответствует свой определенный набор показателей и измерений, определяющих их значения. Результаты любой операции по манипулированию данными могут представлять собой как отдельное значение (например, нормативный показатель), так и таблицу, составляющую единое целое. Это представление данных определяется свойствами конкретного класса данных. Формально, структуру этого справочника нельзя считать древовидной, она предстает такой лишь в пользовательском интерфейсе. На самом деле, одни показатели могут использовать в своем составе другие показатели, и зависят от их рассчитываемых значений. Нетрудно заметить, что изменение значения одного показателя в данной точке внешнего гиперкуба делает неверными все рассчитанные там значения показателей, которые его используют. Подобные коллизии должны четко отслеживаться Системой Анализа без запроса пользователя-аналитика, который из-за большого количества классов данных не способен вручную отследить все связи, и заноситься в легко просматриваемые журналы нарушений. Справочник Иерархической структуры типов данных содержит детальное описание и характеристики измерений и показателей для каждого класса данных. Они определяют характер операций, проводимых над этими данными.

Основные операции манипулирования данными.

Рассмотрим основные операции манипулирования данными, доступные Системе Анализа:

  1. Просмотр данных по типу slice&dice, то есть возможность доступа к данным в любом разрезе и порядке следования. Пользователя редко волнуют все возможные комбинации значений измерений. Более того, никто практически не работает одновременно сразу со всем гиперкубом данных. Подмножество гиперкуба, получившееся в результате фиксации значения одного или нескольких измерений, называется срезом. Таким образом, мы имеем возможность получать всевозможные срезы данных, необходимые для проведения анализа.
  2. Операция детализации, которая применяется для доступа к данным, лежащим на более низком уровне иерархии. Эта операция приводится в действие двумя различными механизмами:
  • если операция детализации относится к классу данных, как к объекту воздействия, то осуществляется просмотр информации, находящейся в системе анализа по иерархии любого измерения, допустимого для данного класса данных;
  • в противном случае, если операция детализации относится не к классу, а к измерению или показателю, то существует возможность вывода справочной или уточняющей информации по данному объекту, которая берется либо из самой системы анализа, либо из доступной и релевантной транзакционной базы данных.
  1. Операция агрегации данных. Эта операция может производиться над любым классом данных и по любому измерению. Причем для любого свода любых анализируемых данных используется одна процедура, но для каждого показателя указываются операторы агрегации по каждому измерению, которые должны выполняться при своде. Наиболее часто используемыми операторами агрегации являются: Сумма (Sum), Минимум (Min), Максимум (Max), Среднее арифметическое (Avrg), Последнее и Первое значение (Last и First) для агрегации по датам.

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