Описание составлено по фактически построенной модели, загруженной на стенд, трём приложенным выгрузкам и независимому аудиту. Все суммы в сценарных таблицах приведены в миллионах рублей; исходные выгрузки хранят суммы в тысячах рублей, поэтому значения разделены на 1 000 и округлены до 0,01 млн ₽.
Решение превращает платёжный календарь из набора разрозненных файлов в контролируемую цепочку от документа и банковского движения до групповой денежной позиции. В одной модели связаны фактические движения, 4 800 денежных событий, доступность 16 инструментов финансирования, восемь валют, сценарные допущения и управленческие меры. На выходе финансовый директор получает остаток денежных средств, запас относительно неснижаемого уровня, потребность в финансировании, доступный лимит и непокрытый разрыв по каждой точке 13-недельного горизонта.
Фактически построен не исходный двухкубовый эскиз, а расширенный контур из 15 справочников и восьми кубов. Первые 28 дней рассчитаны поденно, недели 5-13 - понедельно. В модели четыре взаимоисключающих сценария: базовый, консервативный, стрессовый и сценарий с управленческими мерами.
| Объём построенного | Фактическое значение | Чем подтверждено |
|---|---|---|
| Справочники | 15 справочников, 5 364 элемента | Каталог фактически собранных справочников и загруженная структура |
| Кубы и показатели | 8 кубов, 222 показателя: 62 входных и 160 расчётных | Каталог кубов; 160 расчётных показателей дополнительно созданы на стенде по правилам |
| Правила расчёта | 311 из 311 приняты платформой | Протокол развёртывания на стенде |
| Загруженные данные | 556 568 адресов, отказов 0 | Журнал загрузки |
| Контрольные соотношения проекта | 83 вида контроля | Каталог C01-C83 |
| Проверочное чтение сводного куба | 1 924 из 1 924 значений совпали, расхождений и несопоставленных значений нет | Чтение отчётным способом; ВСЕ 1 924 контроля — на листовых координатах, узловых среди них нет |
| Независимый аудит приложенных выгрузок | 25 проверок пройдено; 3 не пройдено; 2 предупреждения; 2 не проверено | Независимый повторный расчёт, а не сравнение с описанием |
Главный подтверждённый вывод - при имеющемся наборе потоков и лимитов группа не закрывает 13-недельный горизонт ни в одном из четырёх сценариев.
| Сценарий | Минимальный запас до финансирования, млн ₽ | Пиковый непокрытый разрыв, млн ₽ | Точек с нарушением минимума из 37 | Остаток денег в P013, млн ₽ |
|---|---|---|---|---|
Базовый (BASE) | -4 622,75 | 2 307,93 | 19 | -4 159,94 |
Консервативный (CONSERVATIVE) | -5 092,73 | 3 170,36 | 24 | -4 600,11 |
Стрессовый (STRESS) | -6 186,78 | 5 639,07 | 27 | -5 605,10 |
С мерами (MITIGATED) | -5 363,86 | 4 318,73 | 23 | -4 837,82 |
Сценарий мер уменьшает стрессовый пиковый разрыв на 1 320,34 млн ₽, или примерно на 23,4 %, улучшает конечный остаток денежных средств на 767,28 млн ₽, сокращает число точек с нарушением минимума с 27 до 23 и число точек с непокрытым разрывом с 21 до 9. Но остаточный разрыв 4 318,73 млн ₽ сохраняется, поэтому меры в текущем составе недостаточны.
Граница результата также зафиксирована честно. Основная арифметика потоков, остатков, лимитов и группового разрыва прошла независимый пересчёт. Однако показатель дней выживания, переносимая ёмкость и два коэффициента покрытия имеют подтверждённые методологические дефекты. Поэтому демонстрация уже доказывает работоспособность ядра модели и сценарного анализа, но не должна представляться как полностью готовый промышленный процесс управления ликвидностью до исправления перечисленных показателей и завершения контрольного чтения остальных кубов.
Расчёт охватывает путь от первичного денежного события до итоговой позиции группы. Документ или движение получает счёт, контрагента, статью, дату, статус, приоритет и возрастную корзину. Затем применяются сценарные сдвиги и вероятности, строятся денежные потоки, разворачиваются кредитные линии, пересчитываются валюты, рассчитываются остатки и формируется отдельный групповой ряд без двойного сложения юридических лиц и предварительно рассчитанного группового итога.
| Объект расчёта | Фактический объём | Бизнесовый смысл |
|---|---|---|
| Юридические лица | 8 плюс отдельный групповой срез | Позиция видна по каждой компании и по группе в целом |
| Банковские счета | 32 листовых позиции: 24 реальных счёта и 8 технических нераспределённых | Остатки, ограничения, минимумы и целевые буферы считаются по счёту |
| Денежные события | 4 800 | Счета, заказы, налоги, зарплата, долг и иные ожидаемые поступления и платежи |
| Контрагенты | 180 листовых контрагентов | 70 покупателей, 80 поставщиков, 8 банков, 6 государственных органов, 4 группы сотрудников, 8 внутригрупповых компаний и 4 прочих |
| Статьи движения денег | 51 листовая статья | 16 статей поступлений, 32 статьи платежей и 3 технические статьи |
| Инструменты финансирования | 16 | Лимит, выборка, погашение, проценты, комиссия и доступность |
| Валюты | 8 | RUB, USD, EUR, CNY, AED, KZT, TRY и GBP |
| Сценарии | 4 | Базовый, консервативный, стрессовый и сценарий с мерами |
| Горизонт | 37 расчётных точек | D001-D028 - первые 28 календарных дней; P005-P013 - недели 5-13 |
| История качества прогноза | 8 фиксированных срезов и 16 строк прогноза | Сопоставление ранее опубликованного прогноза с фактом |
Решение считает пять взаимоисключающих источников движения денежных средств: фактическое движение, прогноз документных событий, поток по инструментам финансирования, ручную корректировку и эффект управленческого действия. Их сумма образует денежный поток по счёту, статье, периоду и сценарию. Отдельно контролируется, чтобы одно движение не попало одновременно в факт, документный прогноз и поток по кредитной линии.
Временная картина дефицита показывает не только итоговую сумму, но и момент возникновения проблемы. Обозначение D018 означает 18-й день горизонта, P008 - восьмую неделю.
| Сценарий | Первая точка нарушения неснижаемого остатка | Первая точка непокрытого разрыва | Точек нарушения из 37 | Точек непокрытого разрыва из 37 |
|---|---|---|---|---|
| Базовый | D018 | P008 | 19 | 6 |
| Консервативный | D014 | P007 | 24 | 7 |
| Стрессовый | D011 | D017 | 27 | 21 |
| С мерами | D015 | P005 | 23 | 9 |
| Сценарий | Потребность в финансировании в P013, млн ₽ | Доступный лимит в P013, млн ₽ | Непокрытый разрыв в P013, млн ₽ | Остаток денег в P013, млн ₽ |
|---|---|---|---|---|
| Базовый | 4 622,75 | 2 314,81 | 2 307,93 | -4 159,94 |
| Консервативный | 5 092,73 | 1 922,38 | 3 170,36 | -4 600,11 |
| Стрессовый | 6 186,78 | 547,71 | 5 639,07 | -5 605,10 |
| С мерами | 5 363,86 | 1 045,13 | 4 318,73 | -4 837,82 |
Во всех сценариях худшая позиция приходится на P013. Это означает, что текущий набор действий не переносит проблему за пределы горизонта, а лишь уменьшает её масштаб. Для финансового директора практический результат состоит в определении даты первого дефицита, размера дополнительного финансирования и величины остаточного разрыва после использования допустимых лимитов.
Модель состоит из 15 справочников. Числа ниже относятся к фактически собранной расширенной версии, а не к исходной постановке с двумя кубами.
| Справочник | Всего / листы / узлы | Фактически построенное содержание |
|---|---|---|
plq2_account - банковский счёт | 61 / 32 / 29 | 24 реальных счёта, 8 технических нераспределённых счетов, узлы восьми компаний и валютные подгруппы |
plq2_entity - юридическое лицо и группа | 19 / 9 / 10 | 8 листов собственных данных компаний и отдельный лист GROUP_SELF; два раздельных корня исключают двойной счёт |
plq2_period - горизонт ликвидности | 51 / 37 / 14 | 13 недель: 28 дневных листов и 9 недельных листов, а также недельные и итоговый узлы |
plq2_scenario - сценарий | 4 / 4 / 0 | BASE, CONSERVATIVE, STRESS, MITIGATED; сценарии не суммируются |
plq2_item - статья движения денег | 68 / 51 / 17 | 16 листов поступлений, 32 листа платежей, 3 технических листа и функциональные группы |
plq2_currency - валюта | 8 / 8 / 0 | Восемь валют; рубль является валютой отчётности, курс хранится как рублей за единицу валюты |
plq2_counterparty - контрагент | 205 / 180 / 25 | Покупатели, поставщики, банки, государственные органы, сотрудники, внутригрупповые и прочие контрагенты |
plq2_status - статус события | 11 / 8 / 3 | Факт, согласовано, обязательство, прогноз, вероятно, проект, отменено и вне горизонта |
plq2_priority - приоритет платежа | 9 / 8 / 1 | P0-P7: от платежей по закону, зарплате и критическому долгу до опциональных платежей |
plq2_age_bucket - возраст события | 13 / 10 / 3 | Текущие, наступившие сегодня и семь диапазонов просрочки; отдельное значение для неприменимости |
plq2_facility - инструмент финансирования | 37 / 16 / 21 | 16 кредитных линий и иных инструментов, сгруппированных по компании и валюте |
plq2_driver - управляющий параметр | 49 / 40 / 9 | 40 параметров в восьми группах: сбор денег, платежи, валюты, лимиты, политика ликвидности, сценарии, действия и точность |
plq2_snapshot - фиксированный срез прогноза | 8 / 8 / 0 | Текущий срез и семь предыдущих еженедельных срезов; закрытые срезы не переписываются |
plq2_forecast_line - строка точности | 21 / 16 / 5 | 5 строк поступлений, 7 строк платежей, 2 строки чистого потока и 2 строки запасов |
plq2_event - денежное событие | 4 800 / 4 800 / 0 | Уникальные документы и обязательства E000001-E004800 с исходной датой, сроком, системой-источником и ключом исключения дублей |
| Итого | 5 364 элемента | Полный набор справочников, использованный расширенной моделью |
Расчёты разнесены по восьми кубам. Это отделяет документный уровень, движение денег, запасы, финансирование, валюты, допущения и контроль точности друг от друга, но связывает их проверяемыми передачами данных.
| Куб | Назначение и зерно расчёта | Входных показателей | Расчётных показателей |
|---|---|---|---|
plq2_fx | Средний и конечный курс по валюте, периоду и сценарию | 3 | 6 |
plq2_event_register | Аудируемый регистр события по документу, счёту, контрагенту, статье, периоду, статусу, приоритету, возрасту и сценарию | 8 | 21 |
plq2_cashflow | Денежный поток по счёту, статье, периоду и сценарию | 10 | 18 |
plq2_liquidity | Остатки и ликвидность по счёту, периоду и сценарию | 9 | 38 |
plq2_facility_schedule | График 16 инструментов: лимит, выборка, погашение, проценты и комиссии | 11 | 31 |
plq2_summary | Управленческий свод по компании или группе, периоду и сценарию | 12 | 28 |
plq2_assumption | Версионированные сценарные и управленческие параметры | 4 | 6 |
plq2_accuracy | Ретроспективная точность прогноза по компании, строке, периоду и фиксированному срезу | 5 | 12 |
| Итого | 8 кубов, 222 показателя | 62 | 160 |
В модели применены четыре принципиальных ограничения, важные для корректности.
Первое - групповой срез хранится отдельно. GROUP_SELF является контролируемым предварительно рассчитанным итогом, а не узлом, который надо сложить с восемью компаниями. Поэтому итог группы не удваивается, а минимум запаса и пик разрыва считаются по единому временному ряду группы, а не как минимум или максимум восьми несопоставимых рядов.
Второе - суммы в валюте счёта не складываются на смешанных валютных узлах. На уровне группы используются рубли отчётности. Потоки пересчитываются по среднему курсу периода, запасы и лимиты - по курсу на конец периода; валютная переоценка выделяется отдельно.
Третье - переход от периода к периоду задан явной ссылкой на предыдущий лист. Увязка остатков не зависит от того, как пользователь перестроил иерархию отчёта. Первые 28 дней и девять недель образуют одну непрерывную последовательность.
Четвёртое - полная декартова сетка для 4 800 событий не строится. В регистр записываются только фактические координаты события по четырём сценариям. Это сохраняет документную детализацию без бессмысленного умножения 4 800 документов на все счета, контрагенты, статьи и статусы.
| Шаг | Бизнесовый смысл фактически построенного расчёта |
|---|---|
| 1. Фиксация версии | Для загрузки фиксируются дата среза, версия генератора и контрольная сумма нормализованного набора входов. Исторический срез можно связать с конкретными исходными данными и правилами. |
| 2. Нормализация и исключение дублей | Документы приводятся к единому знаку и формату. Дубликаты контролируются по системе-источнику, ключу документа и дате среза. Каждая ручная строка получает ровно одного владельца: строка с идентификатором события относится к регистру событий, строка без него - непосредственно к календарю потоков. |
| 3. Адресация по времени | После сценарного или управленческого сдвига событие попадает ровно в один из 37 листов. Дата после 91-го дня хранится технически в P013 со статусом «вне горизонта» и не участвует в прогнозе; исходная дата и применённый сдвиг сохраняются. |
| 4. Статус, приоритет и возраст | Возрастная корзина заново определяется по сроку платежа и дате среза. Приоритет берётся из договора, ручного исключения или статьи. Фактические движения не меняются между сценариями. |
| 5. Ожидаемая сумма события | Активная сумма равна сумме документа с документной корректировкой и документным действием, если событие включено. Ожидаемая сумма равна активной сумме, умноженной на эффективную вероятность. Вероятность должна находиться от 0 до 1, а для факта равна 1. |
| 6. Передача событий в платёжный календарь | В прогнозный поток попадают будущие события, не являющиеся фактом и не относящиеся к кредитным линиям. Проверка подтвердила отсутствие наложения факта, документного прогноза и потока по инструментам. Для переносимой ёмкости обнаружено отдельное нарушение классификации, описанное в разделе 5. |
| 7. Расчёт инструментов финансирования | Эффективный лимит равен номинальному лимиту после сценарного сокращения, блокировки и погашения инструмента. Выборка на конец равна выборке на начало плюс новая выборка минус погашение. Свободный лимит - положительная часть разницы между эффективным лимитом и выборкой. Проценты считаются от средней выборки, комиссия - от средней невыбранной части, пропорционально дням периода. |
| 8. Сбор денежного потока | Поток по координате равен сумме пяти источников: факт + прогноз событий + поток инструментов + самостоятельная ручная корректировка + самостоятельное действие. Для действия-переноса сумма по всему горизонту должна быть нулевой: меняется дата, а не общая сумма. |
| 9. Валютный пересчёт | Денежные потоки переводятся в рубли по среднему курсу периода, остатки, ограничения, минимумы, цели и лимиты - по конечному курсу. Увязка рублёвого остатка отдельно учитывает валютную переоценку. |
| 10. Увязка остатков по периодам | Остаток на начало первого листа задаётся входным остатком. Далее начало периода равно концу предыдущего листа. Остаток на конец равен остатку на начало плюс чистый денежный поток. |
| 11. Расчёт ликвидности | Доступные деньги равны конечному остатку за вычетом ограниченных денежных средств. Запас до финансирования равен доступным деньгам за вычетом неснижаемого остатка. Потребность в финансировании - положительная часть дефицита. После добавления допустимого лимита определяется остаточный непокрытый разрыв. |
| 12. Окно 30 дней | Поступления, платежи и переносимая сумма на 30 дней строятся из первичных датированных строк, а не сложением дневных и недельных листов. Это предотвращает двойное включение недели поверх уже учтённых дней. |
| 13. Дни выживания | Загрузчик разворачивает события на дневную сетку до 91 дня, применяет обязательные потоки, меры и допустимое финансирование и ищет первый день нарушения критерия. Эта последовательная симуляция не перенесена в язык правил. В текущем результате найдена ошибка последней точки, поэтому показатель временно не используется для управленческого вывода. |
| 14. Групповой свод и точность | По восьми компаниям формируются собственные ряды, а GROUP_SELF рассчитывается отдельным контролируемым слоем с внутригрупповой политикой. Для качества прогноза фиксируются восемь неизменяемых срезов и рассчитываются абсолютная ошибка, взвешенная ошибка, смещение и доля попаданий в допуск. |
| 15. Расчёт на платформе | Язык правил выполняет арифметику, переходы остатков, валютный пересчёт, контрольные разности и агрегацию. Для запасов, отношений, минимумов и максимумов созданы отдельные правила базового и агрегированного уровня, чтобы неаддитивный показатель не складывался как обычный поток. Всего принято 311 правил. |
Календарная арифметика, сдвиг координат, сортировка приоритетов, исключение дублей, 30-дневное окно, симуляция дней выживания, предварительно рассчитанный групповой итог и фиксация исторического среза выполняются при загрузке. Формулы над уже подготовленными координатами и их корректная агрегация выполняются правилами платформы. Такое разделение соответствует реальным возможностям языка правил и не переносит в него операции, которых в нём нет.
Проект содержит 83 вида контрольных соотношений. Независимый аудит дополнительно пересчитал приложенные выгрузки и получил следующие подтверждённые результаты.
| Проверка | Объём | Результат |
|---|---|---|
| Уникальность ключей | Три приложенные выгрузки | Дубликатов ключей нет |
| Плотность слоя ликвидности | 32 × 37 × 4 = 4 736 координат | Полная сетка без пропусков |
| Передача потока в ликвидность | 4 736 сравнений | Расхождений больше 0,01 тыс. ₽ - 0; максимальная машинная разница 0,000000058 тыс. ₽ |
| Базовые формулы свода | 37 296 сравнений | Расхождений - 0 |
| Групповые запасы | 740 сравнений с суммой восьми компаний | Расхождений - 0 |
| Внутригрупповые потоки в 30-дневном окне | Поступления, платежи и чистый поток | Встречные стороны исключаются равными противоположными суммами; чистый поток сохраняется |
| Сценарная последовательность | 37 из 37 точек GROUP_SELF | Стресс не лучше консервативного, консервативный не лучше базового; сценарий мер не хуже стресса |
| Технические остатки | Все листовые координаты | Доля технических статей не выше 0,030296 %, нераспределённых счетов - не выше 0,020527 % |
| Проверочное чтение сводного куба | 1 924 значения | Совпали 1 924 из 1 924 |
Эти проверки доказывают арифметическую связность ядра. Одновременно независимый аудит показал, почему одних равенств недостаточно: формула может сходиться с собственным входом, но вход может быть классифицирован неверно. Именно так в переносимую ёмкость попали уже совершённые платежи, а показатель дней выживания получил неверное значение на границе горизонта.
| Показатель | Как формируется словами | Фактический результат или статус |
|---|---|---|
cash_close_rc - остаток денег | Остаток на начало плюс чистый поток периода; для группы хранится отдельный рублёвый ряд | Проверен увязкой начального и конечного остатка. В P013: от -4 159,94 млн ₽ в базовом до -5 605,10 млн ₽ в стрессе |
restricted_cash_rc - ограниченные деньги | Часть конечного остатка, которой нельзя свободно покрывать платежи | На уровне счетов выполнено условие от нуля до положительной части конечного остатка; нарушений нет |
available_cash_rc - доступные деньги | Конечный остаток минус ограниченные деньги | Используется как фактическая база для сравнения с неснижаемым остатком |
minimum_cash_rc - неснижаемый остаток | Установленный политикой или договором минимум на конец периода | Проверено условие target >= minimum >= 0; нарушений нет |
target_cash_rc - целевой остаток | Желаемый буфер денежных средств | Избыток считается только над этим уровнем |
headroom_before_funding_rc - запас до финансирования | Доступные деньги минус неснижаемый остаток | Минимум группы: -4 622,75 млн ₽ в базовом сценарии и -6 186,78 млн ₽ в стрессе |
funding_need_rc - потребность в финансировании | Положительная часть отрицательного запаса до финансирования | В P013: 4 622,75 млн ₽ в базовом и 6 186,78 млн ₽ в стрессе |
facility_available_rc - доступный лимит | Допустимый эффективный лимит минус текущая выборка; отрицательное значение заменяется нулём | В P013: 2 314,81 млн ₽ в базовом, 547,71 млн ₽ в стрессе |
headroom_after_funding_rc - запас после лимитов | Запас до финансирования плюс доступный лимит | Отрицателен в конечной точке всех сценариев |
unfunded_gap_rc - непокрытый разрыв | Положительная часть отрицательного запаса после лимитов | Пик: 2 307,93 млн ₽ в базовом, 3 170,36 млн ₽ в консервативном, 5 639,07 млн ₽ в стрессе, 4 318,73 млн ₽ с мерами |
breach_flag, unfunded_flag | Признак нарушения неснижаемого остатка и признак остаточного разрыва после лимитов | В базовом сценарии 19 и 6 точек; в стрессе 27 и 21; с мерами 23 и 9 |
| Поступления и платежи 30 дней | Сумма допустимых датированных потоков в следующем 30-дневном окне | Метод окна построен без сложения дневных и недельных итогов; полный контрольный отчёт остальных кубов на стенде не завершён |
liquidity_coverage_30d_pct - покрытие 30 дней | Деньги плюс ожидаемые поступления плюс доступный лимит, делённые на модуль ожидаемых платежей | Арифметика воспроизводится, но показатель отрицателен в 128 из 1 332 листовых ячеек; минимум -7,634516. Требуется утверждённая трактовка отрицательного числителя |
deferrable_capacity_30d_rc - переносимая ёмкость | Сумма будущих платежей, допустимых к переносу | Не готов к управленческому использованию: в него попал факт по 85 уникальным координатам на 372,11 млн ₽ в базовом сценарии |
mandatory_outflow - обязательный платёж | Модуль ожидаемого отрицательного события с обязательным приоритетом | Есть конфликт методики: факт включён в 46 уникальных координат на 289,03 млн ₽ в базовом сценарии, хотя контроль и название описывают будущие платежи |
action_coverage_pct - покрытие разрыва переносом | Переносимая ёмкость, делённая на потребность в финансировании | Не готов к управленческому использованию: больше 10 раз в 87 ячейках, больше 100 раз в 15; максимум 1 095,575 раза из-за почти нулевого знаменателя и ошибки числителя |
survival_days - дни выживания | Первый день, когда после потоков, мер и допустимого финансирования нарушается критерий | Подтверждён дефект: во всех 36 координатах P013 отрицательный разрыв сочетается со значением 91 день; всего найдено 48 несогласованных листовых координат |
| Использование лимита | Выборка на конец, делённая на эффективный лимит в рублях | Формула и правила построены; отдельная полная отчётная выгрузка куба инструментов не выполнена |
| Полная стоимость финансирования | Проценты и комиссия в рублях относительно выборки с учётом дней | Формула и правила построены; фактическое итоговое значение в приложенных файлах отсутствует, поэтому в кейсе не приводится |
| Взвешенная ошибка прогноза | Сумма абсолютных ошибок, делённая на сумму абсолютного факта | Куб точности, 8 срезов и 16 строк построены; числовые результаты точности не подтверждены отдельной выгрузкой, поэтому не заявляются |
| Смещение и попадание в допуск | Отклонение от прогноза относительно абсолютного факта; число попаданий относительно числа наблюдений | Формулы построены, но фактические значения из отсутствующей выгрузки не выдумываются |
Для текущего управленческого решения надёжно использовать остаток денег, ограниченные и доступные деньги, неснижаемый и целевой остаток, потребность в финансировании, доступный лимит, запас после лимитов, непокрытый разрыв и момент возникновения нарушения. Именно эти показатели образуют подтверждённый сценарный вывод о дефиците группы.
Показатели дней выживания, переносимой ёмкости, покрытия разрыва переносом и 30-дневного коэффициента покрытия должны быть исправлены или методологически уточнены до включения в решение финансового директора. Сами дефекты не меняют приведённые выше суммы конечного остатка, потребности в финансировании, доступного лимита и непокрытого разрыва.
В подтверждённом контуре витрины существуют как срезы восьми кубов и как контрольные выгрузки. Они строятся из единого набора справочников, поэтому пользователь может перейти от группового разрыва к компании, счёту, статье, периоду, сценарию и, на документном уровне, к контрагенту, статусу, приоритету и возрасту задолженности.
| Витрина | Источник | Что видит финансовый директор |
|---|---|---|
| Групповая ликвидность | plq2_summary, фильтр GROUP_SELF | Остаток, ограничения, минимум, цель, доступный лимит, запас до и после финансирования, непокрытый разрыв и точки нарушения по четырём сценариям |
| Ликвидность юридического лица | plq2_summary по E##_SELF и plq2_liquidity | Позицию компании и детализацию до 32 счетов; смешанные валюты показываются в рублях отчётности |
| Платёжный календарь | plq2_cashflow | Поступления и платежи по 51 статье, 32 счетам, 37 точкам и четырём сценариям; разложение на пять источников движения |
| Регистр событий | plq2_event_register | Документ, контрагента, исходный срок, эффективную дату, статус, вероятность, приоритет, просрочку, корректировку и действие |
| Инструменты финансирования | plq2_facility_schedule | Номинальный и эффективный лимит, выборку, погашение, свободный лимит, проценты, комиссии, превышения и срок погашения по 16 инструментам |
| Валюты и допущения | plq2_fx, plq2_assumption | Средний и конечный курс, а также версионированные параметры сценария, политики ликвидности, платежей и действий |
| Точность прогноза | plq2_accuracy | Прогноз, факт, ошибку, взвешенную ошибку, смещение и попадание в допуск по восьми историческим срезам |
| Контроль и аудит | Контрольные показатели кубов, 83 соотношения и независимый пересчёт | Ошибки увязки остатков и передачи между слоями, полноту, дубли, нарушения диапазонов, сценарную последовательность и остатки после внутригрупповой политики |
Фактически переданы три выгрузки, достаточные для независимого пересчёта ядра:
| Файл или контур | Фактический объём | Что подтверждено |
|---|---|---|
EXPORT-plq2_cashflow.csv | 18 092 строки | Уникальность, знаки, отсутствие наложения источников, сценарная неизменность факта, нулевая сумма переносов по горизонту и передача чистого потока |
EXPORT-plq2_liquidity.csv | 4 736 строк | Полная сетка 32 счёта × 37 точек × 4 сценария, увязка начального и конечного остатка, ограничения денежных средств, политика минимума и цели, передача из календаря |
EXPORT-plq2_summary.csv | 1 040 строк широкого отчёта | 37 296 базовых формул, групповые запасы, сценарные результаты, внутригрупповая политика и независимые показатели разрыва |
Отчётное чтение plq2_summary на стенде | 1 924 контрольных значения | Совпали 1 924 из 1 924, ни одного расхождения и ни одного контроля без сопоставления |
Пакет содержит 2 518 ожидаемых значений для проверки стенда. После полного чтения сводного куба оставались 256 значений по валютам, 224 по ликвидности, 70 по точности, 32 по допущениям и 12 по остальным трём кубам. Их отчётное чтение не завершено: 8 августа 2026 года около 12:00 стенд перестал принимать операции записи и возвращал ошибку сервера. Это ограничение проверки, а не подтверждённое расхождение данных.
Расчётные показатели нельзя проверять обычной плоской выгрузкой фактов: по устройству платформы такая выгрузка отдаёт для них нули или пустые значения. Узлы иерархий также получают свод только при чтении с указанием иерархии. Поэтому корректная проверка выполняется отчётным способом с той же геометрией, что использует витрина. Именно так полностью подтверждён plq2_summary; для остальных кубов это чтение ещё требуется.
Отдельная завершённая пользовательская книга с оформленными листами в приложенном результате не представлена. Поэтому кейс заявляет построенные кубовые и отчётные витрины, но не выдаёт проектный перечень экранов за уже принятую пользовательскую книгу.
Первое - дефицит виден заранее и во времени. Модель показывает не только конечный разрыв, но и первую точку нарушения. В базовом сценарии неснижаемый остаток нарушается на D018, а лимиты перестают полностью закрывать потребность на P008. В стрессовом сценарии эти события наступают уже на D011 и D017.
Второе - сценарий мер оценивается в деньгах, а не как перечень инициатив. Текущий набор мер уменьшает стрессовый пиковый разрыв на 1 320,34 млн ₽ и сокращает число точек непокрытого дефицита с 21 до 9. Одновременно модель показывает, что этих мер недостаточно: в P013 остаётся разрыв 4 318,73 млн ₽. Это даёт основу для выбора между дополнительным лимитом, переносом платежей, ускорением поступлений и сокращением расходов.
Третье - результат объясним до первичного документа. Групповая позиция связана с юридическим лицом, счётом, статьёй, периодом и сценарием, а прогнозный поток - с конкретным событием, контрагентом, сроком, статусом, вероятностью и приоритетом. Финансовый директор видит не только сумму дефицита, но и то, из каких платежей и поступлений она возникла.
Четвёртое - финансирование и валюта встроены в тот же расчёт. 16 инструментов не показываются отдельным справочником «для информации», а уменьшают потребность только в пределах допустимого свободного лимита. Потоки и запасы пересчитываются по разным курсам, а валютная переоценка отделена от операционного движения.
Пятое - групповая позиция защищена от двойного счёта. Отдельный GROUP_SELF не складывается с деревом восьми компаний. Минимальный запас и пиковый разрыв определяются по консолидированному ряду группы, а не как сумма или минимум несопоставимых показателей отдельных компаний.
Шестое - расчёт воспроизводим. Поставка фиксирует версию, контрольную сумму входов, порядок загрузки, ограничение не более 20 000 адресов на запрос и раздельную загрузку атрибутов. На стенде принято 556 568 адресов без отказов и 311 правил из 311. Сводный отчёт прочитан обратно и совпал по 1 924 значениям.
Седьмое - качество прогноза заложено в модель как отдельный процесс. Восемь неизменяемых исторических срезов позволяют сравнивать опубликованный прогноз с фактом и не переписывать историю после закрытия периода. Числовые результаты качества пока не заявляются, потому что отдельная выгрузка куба точности не представлена.
Текущий контур следует представлять как проверенное ядро платёжного календаря и сценарной ликвидности с известным перечнем исправлений, а не как полностью завершённую промышленную эксплуатацию.
| Уже подтверждено | Требуется до промышленного использования |
|---|---|
| Структура 15 справочников и 8 кубов; загрузка 556 568 адресов без отказов; 311 правил; поток, увязка остатков, валютный пересчёт, групповой свод и сценарный разрыв | Исправить проверку текущего дефицита в расчёте дней выживания, включая границу P013 |
| Непокрытый разрыв по четырём сценариям и эффект набора мер | Исключить фактические платежи из переносимой ёмкости и утвердить трактовку факта в обязательных будущих платежах |
| 1 924 из 1 924 контрольных значений сводного куба | Ввести устойчивую семантику и порог знаменателя для двух коэффициентов покрытия |
| Независимый пересчёт трёх приложенных выгрузок | Завершить отчётное чтение валют, ликвидности, точности, допущений, регистра событий, календаря и инструментов |
| Кубовые и отчётные срезы | Собрать и отдельно принять оформленную пользовательскую книгу или набор экранов |
После этих исправлений модель может служить единым 13-недельным контуром казначейства. Уже сейчас она полезна как доказательство архитектуры, как источник надёжных сумм по остаткам и разрывам и как инструмент для количественной оценки сценариев; уязвимые показатели прямо исключены из управленческого вывода, а не скрыты за общим статусом «проверено».
Мы построили 13-недельный платёжный календарь для восьми юридических лиц: 15 справочников, восемь расчётных кубов, 4 800 денежных событий, 32 счёта, 51 статья движения денег, 16 инструментов финансирования, восемь валют и четыре сценария. Первые 28 дней видны поденно, недели 5-13 - понедельно.
Решение объединяет фактические движения, ожидаемые документы, кредитные линии, ручные корректировки и управленческие действия. На этой основе по каждой точке горизонта рассчитываются остаток, доступные деньги, неснижаемый и целевой буфер, потребность в финансировании, свободный лимит и непокрытый разрыв.
В базовом сценарии минимум нарушается на 18-й день, а непокрытый разрыв появляется на восьмой неделе. В P013 потребность составляет 4 622,75 млн ₽, доступный лимит - 2 314,81 млн ₽, остаточный разрыв - 2 307,93 млн ₽. В стрессе пик разрыва достигает 5 639,07 млн ₽. Набор мер уменьшает его на 1 320,34 млн ₽, или на 23,4 %, но оставляет разрыв 4 318,73 млн ₽, поэтому требуется дополнительное решение по финансированию, платежам или поступлениям.
На стенд загружено 556 568 адресов без отказов и принято 311 правил из 311; сводный куб совпал по 1 924 из 1 924 контрольных значений. Независимый пересчёт подтвердил передачу потока, увязку остатков, групповые итоги и сценарную последовательность. При этом дни выживания на границе горизонта, переносимая ёмкость и коэффициенты покрытия ещё исправляются и не используются в управленческом выводе; суммы остатка, потребности, доступного лимита и непокрытого разрыва остаются подтверждёнными.