Глава 5: Работа с временными рядами: периодичность, флаги времени и маппинг. Автор: Руслан Черненко, экс-руководитель проектов Deal Advisory KPMG.
Полный прикладной регламент разработки корпоративных финансовых моделей инвестиционного класса на основе стандартов PwC Global Guidelines, FAST Standard и 13-летнего опыта в Deal Advisory KPMG. Разделение слоев Inputs/Calc/Outputs, 16 элементов Spreadsheet Evil, цветовое кодирование, бинарные флаги времени, Error Checks и интеграция с AI/Python.
Answer-First: Фундаментальное правило моделирования времени — строго одна периодичность на один лист (Single Periodicity per Sheet). Нельзя смешивать месячные и годовые колонки в рамках одной расчетной таблицы. Для динамического управления графиками инвестиций, льготными периодами кредитования и стадиями операционной деятельности используются бинарные флаги времени (0 и 1), которые заменяют громоздкие формулы
ЕСЛИ(И(...))на быстрое матричное умножение.
В верхней части каждого расчетного листа отводится блок из 5 строк, задающий единый календарный контекст для всех формул ниже:
Строка 1: Календарный год (Year) | 2026 | 2026 | 2026 | ...
Строка 2: Дата начала периода (Start Date)| 01.01.2026 | 01.02.2026 | 01.03.2026 | ...
Строка 3: Дата конца периода (End Date) | 31.01.2026 | 28.02.2026 | 31.03.2026 | ...
Строка 4: Номер периода (Period Index) | 1 | 2 | 3 | ...
Строка 5: Статус периода (Fact / Forecast)| Actual | Forecast | Forecast | ...
E): прямая ссылка на ячейку даты старта проекта =Inputs!$C$5.=EOMONTH(E2; 0) (возвращает последний день текущего месяца).F): =E3 + 1 (следующий день после окончания предыдущего периода).В классическом любительском моделировании для проверки активности проекта пишется тяжелая конструкция:
=IF(AND(E$2 >= $C$10, E$3 <= $C$11), E15 * $C$12, 0)
Когда в модели накапливаются сотни таких формул, файл начинает тормозить, а аудит условий становится кошмаром.
В верхней части расчетного листа формируется отдельная секция флагов (значения 1 или 0):
Строка 8: Флаг инвестиционной фазы (CAPEX): 1 | 1 | 1 | 0 | 0 | 0 | 0
Строка 9: Флаг коммерческой эксплуатации: 0 | 0 | 0 | 1 | 1 | 1 | 1
Строка 10: Флаг льготного периода кредита (Grace):1 | 1 | 0 | 0 | 0 | 0 | 0
=IF(AND(E$2 >= $C$10, E$2 <= $C$11), 1, 0)
Или еще более лаконично через логическое приведение:
=(E$2 >= $C$10) * (E$2 <= $C$11)
Выручка или затраты рассчитываются прямым умножением базового значения на флаг:
= Базовый_Объем * E$9
Если флаг равен 0 — результат мгновенно обнуляется без сложных ветвлений логики.
При переносе данных из помесячных расчетов Calculations в годовые сводные отчеты Outputs аналитики часто совершают грубую ошибку, без разбора применяя функцию =SUM(...).
graph TD
A["Переход от месяцев к годам (Rollup)"] --> B["Потоковые показатели (Flow Variables)<br>P&L, Cash Flow, Выручка, Расходы"]
A --> C["Моментные запасы (Stock / Balance Variables)<br>Остаток денег, Долг, Дебиторка, Основные средства"]
B --> D["Правило: СУММА за 12 месяцев<br>=SUM(Янв:Дек)"]
C --> E["Правило: Значение на КОНЕЦ ГОДА (31 декабря)<br>=Декабрь"]
excel
=SUM(Calc_Rev!E15:P15)excel
=Calc_Debt!P25=(Date >= Start) * (Date <= End) перед вложенным IF?{
"@context": "https://schema.org",
"@type": "TechArticle",
"headline": "Глава 5. Работа с временными рядами: периодичность, флаги времени и маппинг",
"author": {
"@type": "Person",
"name": "Руслан Черненко"
},
"isPartOf": {
"@type": "Book",
"name": "Стандарты и правила форматирования финансовых моделей в Excel"
}
}
Введите данные о конверсиях, LTV и CAC вашего проекта и получите моментальный сценарный график окупаемости.