Дмитрий Жаров
Финансовое моделирование в Excel

Издано при содействии ООО ФК «ОТКРЫТИЕ»

Редактор С. Кривошеин

Технический редактор Н. Лисицына

Корректор Е. Аксенова

Компьютерная верстка А. Фоминов

Художник обложки А. Мищенко

© Жаров Д.О., 2008

© ООО «Альпина Бизнес Букс», 2008

© Электронное издание. ООО «Альпина Паблишер», 2012

Жаров Д.

Финансовое моделирование в Excel / Дмитрий Жаров. – М.: Альпина Бизнес Букс, 2008.

ISBN 978-5-9614-2461-4

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

Моим родителям

Предисловие

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

И все же нехватка качественной финансово-экономической литературы, которая была особенно заметна в 1990-е годы, сегодня постепенно восполняется трудами российских экономистов. Книга, которую вы держите в руках, – хорошее тому подтверждение.

С людьми, профессионально владеющими своим предметом, всегда приятно общаться – пусть даже и посредством чтения их книг. Дмитрий Жаров своим предметом владеет безукоризненно. Автор хорошо знает и понимает то, о чем пишет, поскольку рассуждает не об отвлеченных предметах, а о тех знаниях и опыте, которые были получены в реальной работе. Кроме того, он опирается на солидную образовательную базу, включая полученную в США степень MBA. Фактическая ценность материала книги подкрепляется и умением автора легко и доступно его изложить.

У книги «Финансовое моделирование в Excel» немало и других достоинств, которые, по моему убеждению, читатели обязательно оценят. От детального описания создания моделей автор переходит к анализу «большой картинки» – роли моделирования в практической работе финансиста. Он словно берет читателя за руку и проводит его кратчайшим курсом к цели, предупреждая о любых возможных проблемах и трудностях финансового моделирования. Такие переходы от общего к частному и наоборот помогают не только усвоить значение мелких деталей, но и дать общее понимание экономической природы описываемых явлений.

Еще одним важным достоинством книги является то, что она не фокусируется лишь на теме построения моделей. Она охватывает целый спектр смежных экономических и деловых дисциплин: бухгалтерский учет, анализ бизнес-процессов, финансы и т. д. Иными словами, название книги по большому счету далеко не полностью отражает все многообразие ее содержания! Автор не ограничивается описанием простого моделирования и раскрывает сущность таких сложных финансовых категорий, мало знакомых отечественному читателю, как, например, консолидация отчетности, причем делает это профессионально и, что немаловажно, доступно. Причиной тому послужило не желание автора блеснуть эрудицией, а необходимость, ибо мастерство создания моделей заключается не только в виртуозном владении электронными таблицами, но и в понимании того, что и почему должно делаться именно так, а не иначе.

Будучи профессионалом-практиком, автор точно знает, какими инструментами и в каком объеме необходимо владеть для грамотного финансового моделирования. В книге нет пустословных рассуждений – в ней собраны знания из нескольких областей экономики, что делает ее незаменимым пособием именно для практиков!

Пожалуй, самым большим плюсом книги является то, что она не только учит, но и заставляет думать: для многих проблем предлагается несколько вариантов решения с описанием всех достоинств и недостатков этих решений, что дает читателям возможность сделать свой собственный вывод по каждому из рассматриваемых вопросов. Думаю, автор сознательно пошел на то, чтобы книга выглядела не как учебник с одной «единственно правильной» моделью. Она скорее предстает руководством по логике построения составных частей моделей, а уж выбор количества и степени сложности этих частей остается за читателем.

Не навязывая готовых шаблонов, «Финансовое моделирование в Excel» объясняет причины и последовательность тех или иных шагов, логику, которой следует руководствоваться. Эта книга – не простой набор схем, методов и подходов, а приглашение к совместному обсуждению, поиску решения, сотворчеству. Она отвечает не только на вопрос «как моделировать», но и «как моделировать эффективно», а также «зачем моделировать именно так, а не иначе». Более того, на основе реальных ситуаций автор наглядно показывает, как такие навыки могут и должны применяться на практике.

Дмитрий Жаров задал стандарт написания пособия для специалистов в области финансового моделирования, на который, вне всякого сомнения, будут равняться все последующие авторы, пишущие на эту тему.

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

Михаил Сухобок,

Старший Управляющий директор

ООО ФК «Открытие»

Введение

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

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

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

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

Работать проще, когда не приходится разгадывать «нетривиальную» логику, заложенную в модель коллегой, когда язык таблиц и расчетов, а также его представление понятны всем. Чем больше людей будет одинаково артикулировать свои финансовые гипотезы и расчеты, тем больше у них останется времени на обсуждение действительно важных деталей сделок. Книга наверняка поможет людям, не слишком хорошо знакомым с моделированием, и что-то полезное для себя найдут в ней даже опытные специалисты.

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

Кроме того, я предлагаю максимально полный, на мой взгляд, набор альтернативных способов прогнозировать данные, связывать между собой, прописывать «движок» модели и пр. Иначе говоря, я рассказываю о различных способах изготовления кирпичей, из которых складывается любая модель финансовой отчетности. Какие из них понадобятся, в каком количестве, какого размера и формы – решать вам в зависимости от конкретных задач.

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

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

Часть 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 % случаев, кроме тех очень редких исключений, когда его использование делает формулу строки слишком громоздкой.

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

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