Главная / Статьи / Пропагатор инженера Мареева

Пропагатор инженера Мареева


Опубликовано в журнале "Автоматизация бухгалтерского учета" № 9

"Все так странно в Вашем мире…"
(Из письма инопланетянина)
инженер Мареев

ПОСМЕРТНЫЙ АНАЛИЗБ

Кто из читателей не хотел бы стать капитаном Титаника! Никто не хотел бы? В 8-ом номере мы обсуждали в одноименной статье один из "эффектов Титаника". Точнее было бы назвать "синдром Титаника", так как количество организационных и конструктивных просчетов, которые это судно вобрало в себя, трудно даже сосчитать. На примере Титаника можно было бы подготовить хороший курс переподготовки руководителей предприятий.

Сегодня мы рассмотрим еще один синдром Титаника. Это "Разрыв между возможностями системы навигации и управляемостью". Увернуться от препятствия на пути можно при соблюдении одного из двух условий: а) Заметить препятствие заблаговременно, б) Двигаться достаточно медленно, чтобы при имеющейся массе и системе управления можно было эффективно маневрировать. Наращивать массу на высокой скорости движения, как это делают многие успешные российские фирмы, можно, но надо одновременно учиться видеть дорогу впереди. Не спроста многие руководители называют анализ "текущего" состояния фирмы "посмертным анализом".

ЧТО ГОВОРИТ НАУКА?

Рассмотрим простейшую схему (почти по Марксу):

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

Теперь рассмотрим систему шаблонов проводок (подобных бухгалтерским), которые привязываются к нашим регистрам:

Кредит Дебет Сумма Условие
П1 "Наши деньги" "Деньги у поставщика" СП "Наши деньги">СП
П2 "Товар поставщика" "Наш товар" СП Через две недели после П1
П3 "Наш товар" "Товар у клиента" ДП*Т "Наш товар" > ДП*Т
ДП: "Дневной объем продаж"
П4 "Деньги клиента" "Наши деньги" ДП*Т Через неделю после П3
П5 "Наши деньги" "Расходы" СР*Т СР:"Ежедневные расходы"

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

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

Ri+1 = Пi * Ri

где R – очередное (i-ое) состояние системы, П – соответствующее значение пропагатора, а операция * означает "воздействовать пропагатором на главный регистр".

Даже на такой простой модели видны ее основные особенности. При соблюдении определенных условий (условий "гармоничности пропагатора") действие пропагатора линейно, и пропагаторы могут суммироваться (то есть квартальный бюджет является суммой трех соответствующих месячных бюджетов). Пропагаторы не коммутируют друг с другом, то есть от перестановки слагаемых сумма изменяется. Пропагатор определяет значение Главного Регистра, но, вместе с тем, значение Пропагатора задается соответствующим значением Регистра. Например, если задержать заказ товара, то не будет продаж, это вызовет уменьшение притока средств и не позволит в следующий раз сделать заказ в полном объеме, и так далее. В более сложной модели зависимости еще более тесные, например увеличение расходов на рекламу приводит к увеличению объема продаж, но лишь при условии наличия достаточного ассортимента, который уменьшается, так как расходы уменьшают объем оборотных средств. В коммерции все эти вещи хорошо известны.

В реальных информационных системах Главный Регистр структурируется сложным образом и содержит десятки тысяч составляющих. В частности, категория "Товар" разбивается на отдельные товарные позиции и группы товаров, "Наши деньги" – структурируются в соответствии со статьями баланса "Актив", деньги поставщиков и клиентов, расходы – в соответствии со статьями "Пассив", появляются структурированные дебиторская и кредиторская задолженности и так далее. Аналогичным образом формируется и структура Пропагатора. К этому вопросу мы еще вернемся.

Впервые термин "пропагатор" ввел в физику (сформулировав основные принципы квантовой механики на основе континуальных интегралов) Ричард Фейнман в конце сороковых годов. Это может показаться странным, но существует очень глубокая аналогия между формализмом квантовой механики Гейзенберга-Фейнмана и моделированием работы корпорации на основе обобщенного бухгалтерского учета:

  • Наличие сложного многомерного фазового пространства-модели.
  • Статистический (вероятностный) характер пропагатора.
  • Аналогия между гамильтонианом квантовой системы и балансом (управленческим) коммерческого предприятия.
  • Причинно-следственное "самодействие" системы (неабелевость пропагатора, об этом мы говорили), которое не позволяет применять дистрибутивную (булеву) логику взаимодействия событий. Логическая структура (решетка), которая действует в рассматриваемых категориях – ортомодулярная.

Последний пункт означает, что реализация описываемой методологии в предикатных база данных (то есть, реляционных, таких как Оракл или Дбейс) может встретить серьезные затруднения. В то время как базы данных класса RISC, построенные на идеях теории категорий (с фиксированием структуры абстрактных морфизмов, а не логики запросов), специально конструировались для решения задач такого уровня. К таким СУБД относятся американская PIK и российская ЕМЕ-ДБ.

ГЛАВНЫЙ РЕГИСТР И ПЛАН СЧЕТОВ

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

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

ТЕНЗОРНОЕ ПРОИЗВЕДЕНИЕ В ПЛАНЕ СЧЕТОВ

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

Другое дерево:

Имеются следующие запросы к базе данных:

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

При попытке объединить в одном плоском дереве обе структуры (например, вставить дерево баланса в каждый филиал) мы должны были бы построить очень громоздкую конструкцию:

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

Для решения этой проблемы в СУБД ЕМЕ-ДБ имеется специальный механизм, который называется Тензорное произведение древовидных структур. Несмотря на сложную внутреннюю конструкцию, для пользователя данный механизм вполне очевиден: для объединения двух деревьев имеется две взаимосвязанные записи, которые отображаются на одном экране:

Знак A означает "выполнить тензорное произведение деревьев". Теперь подразумевается, что каждая строка дерева "Вся фирма" содержит баланс, а каждая строка дерева "Баланс" содержит разбивку в соответствии со структурой филиалов.

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

Кроме тензорного произведения имеется возможность создать в правом окне структуру, общую для некоторых ветвей дерева. Эта операция называется "Структурное сложение" и обозначается A . Такая операция применяется, например, при кодировании структуры накладных расходов, которая должна совпадать с частью структуры "Движение денежных средств".

Для создания структуры Главного Регистра не требуется квалификация программиста, эта работа выполняется специалистами в области финансовой аналитики.

Изменение структуры Главного Регистра может быть выполнено в любой момент времени (как в смысле сворачивания аналитики, так и углубления ее). Естественные ограничения накладываются лишь финансовыми соображениями: изменение аналитики в течение отчетного периода не позволяет выполнить сравнительный анализ работы в различные периоды времени.

ПРОПАГАТОР: БЮДЖЕТЫ, ФАКТИЧЕСКИЕ ДАННЫЕ И OLAP

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

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

Программа непосредственно связана с другими подсистемами КИС и автоматически собирает данные финансового движения по первичным документам и по данным бухгалтерского учета. Таким образом, фактический Пропагатор вычисляется автоматически и накапливается в базе данных.

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

Структура Главного Регистра и Пропагатора в совокупности и составляет то, что мы назвали Регистры OLAP в статье "Эффект Титаника" в 8-ом номере.

МОДЕЛИРОВАНИЕ БЮДЖЕТОВ

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

В базе данных хранятся все необходимые состояния Главного Регистра (то есть, балансы и финансовые показатели), как по фактическим данным, так и по планируемым.

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

Как Главный Регистр, так и Пропагатор, позволяют подключать к любой своей строке внешнюю программу из библиотеки алгоритмов Метапроекта (см. статью "Дилемма на заказ" в 7-ом номере). Такие программы разрабатываются для наиболее сложных операций автоматического расчета данных. Например, сбор фактических данных по первичным документам, импорт данных из бухгалтерского учета, утилиты, облегчающие подготовку прогнозов и бюджетов.

Для того, чтобы проверить "действие" бюджета в реальных условиях, запускается процедура моделирования, которая получает на вход некоторый баланс (один из вариантов оптимистичного или пессимистичного прогноза или фактические данных за истекший период) и один из заготовленных бюджетов или отчетов. Строки-проводки "исполняются" в порядке заданном датами. В результате работы процедуры формируется прогнозный баланс, прогнозные финансовые отчеты, а также отчет о кассовых "разрывах" и других ситуациях дефицита/избытка средств на счетах (ограничивающие параметры кодируются в Главном Регистре).

ЧТО ЖЕ ВИДНО НА ЭКРАНЕ КОРПОРАТИВНОГО РАДАРА?

Система моделирования на основе гармонического пропагатора выполняет следующие функции:

Управление оборотными средствами. Анализ финансового цикла, управление запасами, управление дебиторской задолженностью.

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

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

Управление ассортиментом производимых и продаваемых товаров. Точка безубыточности отдельных товаров, анализ безубыточности групп товаров. Сравнительный анализ и построение структуры объемов продаж и рентабельности товарных позиций.

Бюджетирование. Планирование объемов продаж, денежных потоков, планирование производства и затрат.

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

ГРЕБЕНЧАТАЯ СХЕМА КОНСОЛИДАЦИИ ДАННЫХ

На рынке уже имеется несколько программ анализа и планирования коммерческой работы. Как правило, в этих программах анализируемые и моделируемые категории (статьи баланса и коммерческие операции) заранее зафиксированы, а данные не имеют связи с реальными базами данных, или такая связь возможна лишь в ограниченном объеме. В результате, практическое применение таких систем ограничивается, по сути, обучающими функциями. В 8-ом номере мы уже рассказывали о построении "общей шины" данных, которая при помощи регистров OLAP и сетей телекоммуникации (Интернет) позволяет объединять все филиалы крупной корпорации в единое информационное пространство. Для решения этой задачи в СУБД ЕМЕ-ДБ имеет уникальный механизм объединения данных, ноу-хау фирмы ЕМЕ, который называется "Гребенчатая схема консолидации данных".

Свое название этот механизм получил по аналогии с двумя гребешками, которые можно вставить зубьями один в другой, не сломав при этом. Описание конструкция механизма – предмет отдельной публикации. Отметим только основные отличия от схем репликации данных в других СУБД:

Уникальные физические ключи записей (строк таблиц) БД для всей системы. Ключи недоступны программисту или пользователю и применяются для совмещения записей.

Многопотоковый метод фиксации изменений данных. Пересылается всегда минимальный объем данных, изменившихся с момента последней пересылки. Это позволяет (и делает желательным) иметь малый интервал между сессиями консолидации данных: вплоть до 5-10 минут!

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

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

Гребенчатая схема позволяет строить распределенную схему корпоративного банка данных с произвольным количеством пересекающихся (общих) таблиц БД.

ГАРМОНИЧЕСКИЕ СВОЙСТВА ПРОПАГАТОРАБ

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

Внутренняя согласованность присутствует, также, и в структурах Главного Регистра и Пропагатора. Мы уже говорили, что фактические данные, получаемые из реальных баз данных, фиксируются с максимальной детальностью. Например, понятие "Товарный запас" может быть представлено шестимерной тензоро-подобной структурой со следующими гранями-измерениями:

  • Товарная позиция (артикул)
  • Склад
  • Принадлежность юридическому лицу (филиалу)
  • Партия товара
  • Период реализации (в нормализованной форме, например: "просроченный", "критический", "нормальный")
  • Товарная группа

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

ПРОПАГАТОР И "МИССИЯ ФИРМЫ"

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

Смотрите также…