Часть I Начало

Общий обзор финансовых моделей

Финансовыми моделями называют самые разные вещи в зависимости от специализации «моделиста». Профессионалам в области управленческого учета интересно посчитать себестоимость и варианты ее изменения, построить прогнозный баланс, оценить отклонения. Тех, кто занимается казначейскими вопросами, интересуют потребности в финансировании кассовых разрывов, расчеты риска (VaR). Те, кто торгует опционами, считают стоимость опционов в зависимости от изменений их сроков, волатильности стоимости актива и т. д. В Excel можно моделировать макроэкономические взаимосвязи, бизнес-задачи (основанные на теории игр, теории массового обслуживания/очередей, теории Маркова, линейном программировании) и многое другое.

Теперь посмотрим на ситуацию с прикладной точки зрения. Перед вами стоит задача спрогнозировать работу предприятия на несколько периодов вперед при таком-то наборе вводных параметров. Спрогнозировать – значит сказать, какая будет выручка, какие будут промежуточные метрики (EBITDA, EBIT), какой будет чистая прибыль. Одновременно надо учитывать, что вместе с ростом выручки будет расти потребность в оборотном капитале, и не забыть, что рост выручки почти всегда предполагает вложения в основные средства.

«…Так, с чего начнем?.. Пожалуй, с выручки. Ах да, ведь надо еще учесть, что наша фирма планирует постепенно ужесточить кредитную политику. И не забыть учесть выплаты по кредитам. Кстати, в следующем году должен вернуться долгосрочный заем, предоставленный “дочке”. Интересно, придется ли брать кредиты или обойдемся так? М-да, все по отдельности понятно, а вот как теперь увязать это в единое целое? Так, вроде все увязал, ничего не забыл… вот только баланс не сходится, придется кредитами регулировать. Ой, теперь в другую сторону не сходится! Уменьшу-ка я собственный капитал – вроде все сошлось. Но теперь непонятно, откуда берется этот самый собственный капитал – он уже утратил всякую связь с реальностью из-за правок и подгонок!.. А если я здесь немного изменю параметр, то все начинать сначала?»

Примерно таков ход мыслей человека, столкнувшегося с необходимостью смоделировать финансовый прогноз. Знакомая ситуация? Если так, то вы купили эту книгу вовремя. В ней как раз идет речь о том, как строить модели так, чтобы сохранялась бизнес-логика и при этом все сходилось без подгонок.

Сразу хотим предостеречь: не пытайтесь превратить Excel во всемогущий инструмент обработки и хранения данных! В моей практике встречались ситуацию, когда Excel был явно не по назначению перегружен. В одном случае это приложение использовалось как инструмент бюджетирования в крупной компании, занимающейся оптовыми продажами большого ассортимента товаров. В таблицу при этом вносились плановые данные по закупкам, логистике и продажам по очень многим позициям, потом на базе этого считалась общая прогнозная прибыль по компании и ее соответствие плану. Модель «весила» больше 150 мегабайт (не считая кучи вспомогательных моделей), создавалась по кускам и поддерживалась разными людьми, с периодичностью раз в квартал эти куски сшивались в единое целое. Модель работала не очень устойчиво, периодически в ней что-нибудь «падало». Компания продавала продукцию широчайшего ассортимента, и эта модель больше походила на базу данных, которую приспособили под решение финансовых функций.

Второй случай, еще более показательный, имел место в одной американской компании, где довелось работать автору этой книги. Модель размером 280 мегабайт хранилась по кускам на четырех серверах и должна была при этом как-то работать. Создавал ее один человек более года. По словам очевидцев, этим подвижником-одиночкой была проделана колоссальная работа! Модель была уже почти готова, как вдруг рассыпалась на куски. Здравый смысл подсказывает такую логику катастрофы «пикирующего моделиста»: сначала отказал один из серверов, на котором хранился важный кусок модели, из-за этого перестали работать другие куски – и так далее. Несмотря на то, что компания весьма успешно работала как раз в области IT, никто так и не сумел восстановить это «произведение искусства».

Мораль этих «басен» такова, что не следует пытаться выжать из Excel несвойственные ему вещи. Если вы моделируете деятельность большой компании, используете сложную логику (следовательно, и сложные формулы), если ваша модель подразумевает использование ее в качестве некого аналога ERP (т. е. базы данных), то лучшее, что вы можете сделать, – создать в Excel прототип модели описательного типа, который станет наглядным техническим заданием для программистов. Масштабные задачи должны решаться с применением масштабных инструментов. Глупо строить дом, имея в распоряжении только пассатижи и молоток.

С чего начать

Многих людей, включая меня, раздражает, когда вместо «спортзал» говорят «фитнес-клуб», вместо «бухучет» – «эккаунтинг». Однако есть случаи, где использование иностранных слов не просто оправданно, но и желательно. К таким случаям относится и работа в Excel. Я настоятельно рекомендую читателям установить англоязычную версию этой программы, потому как написание формул на русском оказывается делом весьма непростым и некоторые функции приобретают довольно экзотичный синтаксис – например, ДВССЫЛ, БЗРАСПИС, ПУО. Сам я использую англоязычную версию, но на всякий случай буду приводить формулы на обоих языках.

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

Выбор версии Excel не принципиален, но ниже 2000-й версии опускаться все же не следует. С точки зрения пользователя-финансиста, она особо ничем не уступает более поздним версиям, кроме единственной, но весьма существенной детали – в Excel 2000 нет функции Break Links (Разрыв связей). Порой при копировании данных из одной книги в другую вы незаметно «тащите» за собой и ссылку на другой источник данных. Если создаваемый вами файл небольшой, то ячейки со ссылками можно найти и вручную. Но с увеличением объема модели сложность поиска увеличивается многократно и становится порой почти неразрешимой задачей. Можно пойти на официальный сайт Microsoft и загрузить себе такую функцию, но неопытный пользователь вряд ли отыщет ее без проблем. Об альтернативном методе решения этой проблемы мы расскажем далее.

Начните работу с активизации дополнительных функций Excel, которые по умолчанию остаются неустановленными, т. к. редко используются обычным пользователем. Например, есть замечательная функция EOMONTH (КОНМЕСЯЦА), которая позволяет быстро прописать временной ряд таким образом, что каждый месяц будет автоматически заканчиваться своим последним днем, т. е., когда надо, будет появляться 31-е число, когда надо – 30-е число, а в феврале будет 28 или 29 дней. Какое это имеет отношение к финансам? Самое прямое! И вы в этом убедитесь, когда речь зайдет об операционных составляющих моделей.

Устанавливаются дополнительные функции просто: на панели инструментов пройдите по пути Tools > Add-Ins (Сервис > Надстройки), а далее устанавливайте все, кроме, пожалуй, пакета для работы с VBA (если вы не собираетесь с ним работать). Это «все» вам, скорее всего, не понадобится в полном объеме, но и мешать не будет.

Еще одна важная деталь: добавьте блок кнопок Formula Auditing (Зависимости) на панель инструментов. Этот блок позволяет быстро находить, откуда в конкретную ячейку пришла ссылка и где данные ячейки используются в дальнейшем. В Excel 2003 такой блок выглядит следующим образом:

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

Оформление

Разве оформление – столь важный вопрос, что с него стоит начинать? Да, гораздо более важный, чем может показаться!

В любом деле с самого начала надо определить правила его выполнения. Следование нескольким простым правилам впоследствии сохранит вам массу драгоценного времени.

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

• Ячейки с внесенными вручную значениями отражаются в модели синим цветом.

• Все вычисляемы значения (т. е. за которыми стоят формулы) показываются черным цветом.

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

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


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

Еще несколько слов о заливке ячеек цветом: чем ее меньше, тем лучше. Коротко и ясно. Вообще-то, это дело вкуса. Можно раскрашивать все в разные цвета, искренне считая, что так будет понятнее и нагляднее, но на самом деле это не помогает. «Индейская» раскраска рабочей страницы ничего, кроме ряби в глазах, не вызывает. Цвет следует использовать лишь для логического подчеркивания перехода от одного блока к другому. Или для временного напоминания самому себе, что к какой-то формуле надо вернуться и отредактировать. Профессионалы поступают следующим образом: те ячейки, в которые должны вноситься вводные параметры, выделяются бледно-желтой заливкой (light yellow – в англоязычной версии Excel).

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

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

Сложно понять, для чего надо использовать так много колонок! Курсор стоит на краю таблицы – обратите внимание, это колонка DC, т. е. она по счету 107-я! А ведь можно было ограничиться пятью. Это вовсе не мнимая проблема, а лишь один из многих вариантов безобразия, с которыми приходится встречаться и работать. Основная проблема заключается в том, что с числовыми значениями в такой таблице практически невозможно проводить какие бы то ни было операции, потому как определить адрес необходимой вам ячейки почти невозможно.

Как удобнее всего отражать числовые значения? Если вы считаете не «до копейки», то денежные числа правильнее всего отражать с одним знаком после запятой (реже – с двумя). Даже если у вас в результате расчетов получаются только нули после запятой, то все равно лучше денежные величины показывать таким образом. Без знаков (почти всегда) следует указывать значения относительно количества людей, единиц техники и т. п. Проценты следует обязательно обозначать знаком процентов. Везде, где возможно, имеет смысл ставить разделитель разрядов (тысячи, миллионы и т. д.).

Все это важно не просто для удобства чтения. Дело в том, что многие страны имеют отличную от нашей систему представления чисел. Жители стран бывшего СССР усвоили из курса начальной школы, что десятичные дроби задаются с помощью запятой. А, скажем, американцы, отделяют десятичную часть с помощью точки, а запятой разделяют каждые три знака слева от запятой. Выражение «пять тысяч и одна десятая» мы напишем как «5000,1» или как «5 000,1», а американцы как «5,000.1». Поскольку финансистам часто приходится иметь дело и с англо-саксонской системой обозначений, то может возникать путаница. Еще раз: если мы хотим задать величину «пять тысяч», то лучше показать ее с одним знаком после запятой, если даже после запятой заведомо будет ноль. Представьте, что вы встречаете в модели величину без десятых, например те же «пять тысяч», написанные «по-американски» – 5,000. Что это: пять тысяч или просто пять и ноль тысячных? Следуя формату «с одной цифрой после запятой», всегда можно будет понять (или хотя бы догадаться), о чем именно идет речь.

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

Небольшой комментарий, не имеющий непосредственного отношения к моделированию, но часто встречающийся при его обсуждении: понятия «процент», «процентный пункт» и «базисный пункт». Из школьного курса мы помним, что процент – это сотая часть числа. Представьте ситуацию: вы говорите, что маржа (рентабельность) составляет 40 % от выручки. Ваш собеседник спрашивает: «Что будет, если маржа вырастет на 10 %?» Что именно он хочет узнать? Если маржа вырастет на 10 % от нынешнего 40 %-ного уровня, то она будет равна 44 %. Но он, как выясняется, имел в виду рост с 40 до 50 %! Но тогда это будут уже не проценты, а процентные пункты! Базисные пункты – сотые доли процента, рост маржи с 40 до 44 % равен росту на 400 базисных пунктов. Не путайте эти три понятия!

#ЦИРКУЛЯР! О циклических ссылках

Циклическая ссылка (circular reference) – это почти всегда плохо, т. к. является симптомом ошибки. Самый простой пример: в ячейке A1 вы пишете формулу =A1+B1. Вот вам и циклическая ссылка. Как она получилась? Да по ошибке, никак более! Искать эту ошибку и исправлять – вот и все решение. Excel, кстати, помогает вести такой поиск. Приведенная ошибка очевидна, поэтому ее легко найти, однако бывает, что она спрятана за несколькими уровнями вычислений, и добраться до нее непросто.

А теперь рассмотрим простой пример: фирма продает товар за 100 рублей, причем его полная себестоимость составляет 90. После налога на прибыль остается 7,6 рубля чистой прибыли, которую теперь можно использовать на какие-то интересные нам нужды. Допустим, что в тот же период фирме надо инвестировать 17,6 руб. Что у нас получается? А вот что:

• 7,6 – прибыль;

• (17,6) – инвестиция;

• (10,0) – дефицит, т. е. потребность в привлечении денег.


Финансировать потребность в деньгах можно многими путями, но предположим, что вы решили взять кредит. Кредит – вещь небесплатная, а значит, надо бы заложить в расчет проценты (пусть для простоты это будет ровно 1 рубль). Проценты теперь всей своей суммой уменьшают налогооблагаемую прибыль, т. е. полная себестоимость оказывается не 90 рублей, а 91 рубль. Следовательно, и налог на прибыль будет меньше, а это значит, что изменится чистая прибыль, которую мы уже учли при расчете потребности в кредите. А это значит, что и расчет потребности в кредите был неверен, а раз так, то надо пересчитать и величину процента по кредиту… Такие сложные расчеты в самом элементарном примере! А если ставка изменится, то все заново пересчитывать? Увы и ах!

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

В панели инструментов идем на Tools > Options > Calculations (Сервис > Параметры > Вычисления) и ставим галочку в окошко Iterations (Итерации). Теперь Excel все «черновую» работу по нахождению необходимой суммы кредита выполняет автоматически. По умолчанию приложение готово повторять такой цикл 100 раз – этого обычно хватает. Если модель действительно большая и содержит не одну циклическую ссылку, то бывает, что приходится и увеличивать количество итераций (верхний предел ограничен 10 000).

Признаки хорошей модели. Чего не надо делать никогда

Хорошая модель – это такая модель, которая:

• правильно отражает бизнес-логику и экономику процессов;

• позволяет осуществлять управление с помощью заданного набора вводных параметров;

• максимально автоматизирована, т. е. изменения вводных параметров завязаны с «сердцевиной» модели так, что для управления достаточно только их и не требуется каких-либо дополнительных правок и переделок.


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

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

Основные признаки хорошей модели:

• Блок вводных параметров (inputs) расположен отдельно от страниц расчетов.

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

• Используется единый формат на всех страницах модели (см. раздел «Оформление»), не используются варианты «индейской» раскраски.

• Не применяются формулы длиной в несколько строк – лучше делать промежуточные итоги и использовать в дальнейших вычислениях уже их.

Загрузка...