Меня зовут Юлия Суханова и я принимаю участие в разработке продуктов на базе хранилища «ПрограмБанк.БизнесАнализ» в компании ПрограмБанк на позиции аналитика.
В этой статье я опишу как при помощи Self‑service инструментов без программирования настроить бюджетирование по OPEX и CAPEX, какие алгоритмы расчета показателей можно при этом использовать, опишу несколько вариантов планирования расходов, получение факта и его расчет. Что дают детализирующие таблицы для плановых и фактических показателей. Как можно получать данные, их обрабатывать и выгружать для дальнейшей аналитики. И, в конце, посмотрим на готовые таблицы для план-факторного анализа.
Моя статья заинтересует специалистов по управленческой отчетности, сотрудников планового отдела, финансовых аналитиков и аналитиков данных, хорошо владеющих MS Excel, но не являющихся программистами.
Мои коллеги уже писали статьи на хабре про наш новый продукт-конструктор для аналитики с помощью Self-service инструментов. Продукт примечателен тем, что это платформа для создания работающих бизнес-приложений без разработчиков силами самих пользователей. То есть, никакого кода от слова совсем. Даже не low code, а именно no code. Формульный язык платформы адаптирован для обычного пользователя и схож с языком в MS Excel, который применяется повсеместно. Все возможные справочники, витрины, формы просто собираются как конструктор за минимальное время. Не нужно тратить время на написание и согласование технического задания, ждать разработки, тестирования, внедрения. Просто накидал мышкой все, что тебе нужно и работай, получай аналитику в том виде, который ты захотел.
В качестве примера будем рассматривать бизнес-процесс ведения бюджета в коммерческом банке. На первом этапе мы уже сделали приложение Бюджет, его настройку с нуля вы можете посмотреть в нашей предыдущей статье. В нем у нас есть необходимые справочники и витрина по кредитному портфелю. В созданных формах этого приложения мы уже можем анализировать все, что связано с кредитованием физических и юридических лиц. Бизнес-процесс запущен, приложение работает. Вторым этапом мы хотим автоматизировать формирование смет по административно-хозяйственным расходам (АХР) и получать по ним отчеты план-факт. Для этого нам необходимо выполнить всего 5 действий:
Скопировать существующее приложение;
Создать витрину данных с оплатами по АХР;
Добавить типовой справочник сотрудников, для планирования затрат на выплату заработной платы и страховых взносов;
Создать и настроить две многомерные формы для затрат по OPEX и CAPEX;
Отредактировать мастер-бюджеты, добавить в них новые формулы для затрат по OPEX и CAPEX. Добавить шаги и этапы в бизнес-процесс, раздать права на формы и показатели группам пользователей.
1. Создаем новое приложение с помощью копирования
Копируем приложение Бюджет и, в созданном, получаем те же самые справочники, витрины и многомерные формы с аналогичными настройками и параметрами, как и в исходном приложении, но без данных. Если для дальнейшей работы понадобятся данные предыдущего приложения, то существует возможность скопировать их целиком или взять частично, обращаясь к ним через формулы в показателях.
2. Создаем витрину данных с оплатами по административно-хозяйственным расходам
Витрина данных будет необходима для загрузки значений по фактическим затратам на АХР из внешних хранилищ (например, АБС или КХД). Это даст возможность проводить план-факторный анализ в многомерных формах и анализировать отклонения от плановых значений.
В нашем примере витрина данных будет загружаться из внешней базы данных через бизнес-словарь. Бизнес-словарь позволяет пользователям собрать запрос к внешней базе без знания языков программирования. В дальнейшем данные в витрину будут загружаться в ручном или автоматическом режиме по расписанию, в зависимости от настроек. Так же витрина может заполняться через настройку загрузки данных из внешней системы напрямую в таблицу витрины, загрузкой из MS Excel или ручным вводом.
Пользователь, с помощью преднастроенного бизнес-словаря, выбирает необходимый набор полей из внешней базы данных, в которой хранятся произведенные платежи. Существует возможность ограничить фильтрами выборку, чтобы получить необходимый объем данных по фактически произведенным затратам по АХР. Если требуются какие-то расчеты полученных внешних данных можно добавить в витрину расчетный столбец с пользовательской формулой. Эти данные можно использовать в формах или автоматизировать выгрузку в MS Excel, BI-платформы для аналитики и отчетности.
3. Добавляем справочник сотрудников, для планирования затрат на выплату заработной платы и страховых взносов
Настраиваем справочник: добавляем наименования полей, типы данных, устанавливаем ключи на поля с уникальными данными. Заполнять его можно ручным вводом или файловой загрузкой. С помощью списка сотрудников мы будем планировать расходы по заработной плате в OPEX.
Выстроенная иерархия в справочниках позволит структурировать записи и облегчит их поиск.
4. Добавляем две многомерные формы для затрат по OPEX и CAPEX
Для форм по оплатам по АХР мы используем меньшее количество параметров, чем в многомерных формах по кредитным продуктам, так как для затрат по OPEX и CAPEX нам не нужен такой параметр как Банковский продукт.
Итак, в параметрах формы указываем:
Центр финансовой ответственности
Валюта
По строкам – показатели по типам значений (План, Факт, Отклонение), по столбцам – месяцы финансового года. Указываем, что для показателей необходимы итоговые значения.
Наполняем многомерную форму из репозитория. В нем уже есть ранее сохраненные уникальные показатели, но, при необходимости, можно добавить новые вручную или загрузить целым списком. Формируем наш будущий отчет, располагая показатели в дереве в несбалансированной иерархии, в соответствии с требованиями. Для каждого из них необходимо настроить алгоритмы в разрезах типов значений. Это может быть ручной ввод, детализирующая таблица или формула. В свою очередь, формулы могут быть обращены:
к показателям внутри формы;
к показателям других многомерных форм;
к типовым справочникам;
к витринам данных.
В конце статьи я подробнее опишу используемые алгоритмы для показателей.
5. Редактируем мастер-бюджеты, бизнес-процесс, назначаем права на формы и показатели
Добавляем новые формулы для затрат по OPEX и CAPEX в соответствующие показатели мастер-бюджетов BS и PL.
Формы для планирования и аналитики у нас готовы. Но еще необходимо скорректировать скопированный бизнес-процесс в соответствии с теми изменениями, которые мы сделали выше. Бизнес-процесс состоит из этапов и их шагов. Этапы - логическое разделение процесса на планирование, согласование, аналитику отчетов план-факт. Шаги - конкретные задачи для групп пользователей в рамках этапов. Внесем необходимые нам изменения в процесс и назначим ответственные группы пользователей по шагам, а также абсолютный или относительный срок выполнения. После запуска бизнес-процесса его уже нельзя редактировать и пользователи увидят свои первые шаги-задачи по этому бизнес-процессу. Если срок исполнения шага просрочен, то он выделяется красным цветом.
Пока не выполнены предыдущие шаги и этапы, последующие в задачах пользователя появляться не будут.
И не забудем определить права на новые формы и показатели для групп пользователей, чтобы они видели или могли редактировать только те данные, которые находятся в пределах их компетенций (можно разделить по ЦФО или в целом по показателю, например, “Заработная плата”). В целом, настройки разграничения прав очень гибкие и детализированные.
Алгоритмы для показателей
Теперь пришло время подробнее описать используемые в формах алгоритмы показателей.
Показатели с ручным вводом выделяются желтым цветом. Визуально также помечены ячейки, в которых доступна детализация.
Для показателя “Заработная плата” в разрезе типа значений План установлен алгоритм детализирующая таблица. С помощью детализирующих таблиц мы можем планировать расходы построчно, настраивать для столбцов формулы. Получается таблица в таблице, а значение суммируемого столбца (выделен розовым цветом) попадает прямо в ячейку основной формы.
Значения для ячеек детализации можно вводить вручную или выбором из справочника.
А вот фактическое значение показателя “Заработная плата” рассчитывается функцией СуммЕсли() по витрине данных с оплатами АХР. Детализация для функций типа СуммЕсли() в многомерных показателях строится автоматически. Если в настройках для показателей витрины указать справочники-параметры многомерной формы, то дополнительно их в формуле указывать не нужно. В нашем примере Год, ЦФО, Валюта определяются автоматически, а статья расходов по ее наименованию.
В любой момент пользователь приложения может посмотреть все детали по его расчету: формулу, детализацию.
Также, в этом приложении, мы использовали метод планирования от факта предыдущего периода с учетом драйвера. Берем фактический расход по показателю “Связь” в прошлом финансовом периоде и увеличиваем его на плановый размер инфляции. Формула для показателя будет выглядеть так:
[["Типы значений по умолчанию"='Факт', Предыдущий Год "Календарь"]] * "Макропоказатели#Инфляция, % годовых"
В первой части формулы мы указываем параметры, которые нам нужны - факт предыдущего года, а во второй части просто умножаем на процент инфляции. Проще придумать сложно. Даже в MS Excel необходимо писать формулу для каждой ячейки, а тут указываем только тип значения и период. Для каждого месяца расчет будет сделан автоматически.
План-факт отчеты
Для настройки многомерных план-факторных отчетов можно использовать типы значений по умолчанию с преднастроенными формулами для отклонений, либо создать локально типы значений для приложений, установив в них уже свои формулы для расчета. При этом можно настроить какие показатели “разворачивать” по типам значений, а какие не нужно.
Так как формы многомерные, то для аналитики можно их формировать по конкретным параметрам, объединять по группам или просматривать в целом по организации. В объединенных многомерных формах доступен просмотр детализации агрегированных (по времени) и консолидированных (остальные случаи) значений показателей аналогично детализации для формул. Алгоритмы для объединения данных в многомерных формах могут быть самыми разными: сумма, количество, среднее, средневзвешенное и даже формула, указанная пользователем.
Итак, мы с Вами без написания технического задания и привлечения разработчиков создали совершенно новое, работающее приложение, причём исключительно под поставленные требования. В нем нет излишних показателей, которые не пригодятся в работе, а только те, которые мы в нем хотели увидеть. Все показатели рассчитываются так как нам надо, как мы для себя их настроили. Как видите, процесс создания прост и не требует больших затрат времени. С удовольствием расскажу Вам больше про этот удивительно удобный продукт, отвечая на Ваши вопросы в комментариях.
Другие статьи по этой же теме:
1. Автоматизация бюджетирования в коммерческом банке без привлечения разработчиков
2. No-code автоматизация ALM (Управление активами и пассивами)
3. Опыт быстрого старта MIS в коммерческом банке на базе self-service платформы