0% found this document useful (0 votes)
9 views

Guiding principles

The document outlines the guiding principles of financial modeling, emphasizing clarity, flexibility, and accuracy in model construction. It provides detailed instructions on best practices for formulas, report layout, and worksheet setup, along with examples to illustrate these concepts. Additionally, it includes a financial summary from 2019 to 2024, detailing sales revenues, costs, net income, and retained earnings.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views

Guiding principles

The document outlines the guiding principles of financial modeling, emphasizing clarity, flexibility, and accuracy in model construction. It provides detailed instructions on best practices for formulas, report layout, and worksheet setup, along with examples to illustrate these concepts. Additionally, it includes a financial summary from 2019 to 2024, detailing sales revenues, costs, net income, and retained earnings.
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 43

2019 2020 2021 2022 2023 2024 Total

Sales revenues $'000 - 3 198 3 991 4 323 4 676 4 863 21 050


Cost of sales $'000 - (2 098) (2 594) (2 783) (2 981) (3 070) (13 526)
Depreciation $'000 (256) (769) (900) (900) (644) (131) (3 600)
Interest $'000 (208) (320) (192) (64) - - (784)
Income before tax $'000 (464) 10 305 576 1 051 1 661 3 140
Tax $'000 139 (3) (91) (173) (315) (498) (942)
Net income $'000 (325) 7 213 403 736 1 163 2 198
Dividends $'000 - - - (299) (736) (1 161) (2 198)
Current year retained earnings $'000 (325) 7 213 104 - 1 -

GUIDING PRINCIPLES
OF FINANCIAL MODELING

By Andrei Okhlopkov

Published: April 2020

For the most recent version of this booklet,


accompanying Excel file (“Guiding principles.xlsx”)
and other publications please visit:

www.eloquens.com/channel/andrei-okhlopkov

Materials in this booklet are distributed freely and are not intended for sale. You are
authorized and encouraged to forward this booklet and accompanying Excel file to
everyone who might be interested.
Guiding Principles of Financial Modeling

Also in this series:

• Unlocking Full Potential of Excel Data Tables (parts 1 and 2)


• Dates and Timelines in Financial Models
• Sensitivity Analysis with Indifference Curves
• Descriptive Statistics for Grouped (Weighted) Data
• Analyzing Data in Excel
• Charts and Dashboards in Excel (parts 1 and 2)
• Monte Carlo Analysis without Macros
• Portfolio Analysis and Sales Forecasting
• Form Controls and Other Interactive Tools
• VBA Interactive Collection

The above list and the publications are constantly updated. To be notified on the
updates, please follow me on LinkedIn:

https://www.linkedin.com/in/andrei-okhlopkov-92a3191/

I appreciate your interest in my publications on financial


modeling, Excel and VBA, which I enjoy sharing, will keep
coming and hope you will find useful.

Most of my publications are free but you can support my project


through the PayPal (ID: [email protected]).

And certainly feel free to let me know if you need any further
help in financial modeling.

Andrei Okhlopkov

[email protected]

Page 2
Guiding Principles of Financial Modeling
TABLE OF CONTENTS
INTRODUCTION 4
KEY CONCEPTS 4
SHEET AND CELL CLASSIFICATION 5
FORMULAS 6
DECOMPOSING FORMULAS 6
USING SPACES AND LINE BREAKS 7
‘EXPONENTIAL NOTATION’ 8
CALCULATING TOTALS 8
REPORT LAYOUT AND FORMATTING 9
WORKSHEET SETUP 10
LINKED CELLS (LOCAL REFERENCES) 10
TIME SCALE 10
USING FLAGS 11
COMMENTARY SECTION 13
TABLE OF CONTENTS 14
INPUTS 15
ASSUMPTIONS AND SENSITIVITIES 15
SCENARIOS 15
WORKING SHEETS 17
CAPITAL EXPENDITURE 17
ECONOMIC ASSUMPTIONS 17
WORKING CAPITAL 18
PROJECT FINANCING 19
Breaking Circularities in Loan Calculations 20
PRO-FORMA FINANCIAL STATEMENTS 22
INCOME STATEMENT 22
BALANCE SHEET 22
CASH FLOW STATEMENT 22
PROJECT RETURNS 24
CHECKS AND CONTROLS 27
CROSS-CHECKS 27
OTHER CONTROL TECHNIQUES 28
SENSE-CHECKS 29
MISCELLANEOUS 30
SUMMING NUMBERS BY YEARS 30
NUMBER FORMATS 32
SPEEDING UP SLOW MODELS 35
USEFUL SHORTCUTS 37
WHAT’S NEXT? 38
DATES AND TIMELINES IN FINANCIAL MODELS 38
FORM CONTROLS AND OTHER INTERACTIVE TOOLS IN EXCEL 39
UNLOCKING FULL POTENTIAL OF EXCEL DATA TABLES 40
ANALYZING SENSITIVITIES WITH INDIFFERENCE CURVES 41
CHARTS AND DASHBOARDS IN EXCEL 42
PORTFOLIO ANALYSIS AND SALES FORECASTING 43

Page 3
Guiding Principles of Financial Modeling

Introduction

In this booklet I will talk about the general principles of building financial models
(which you will also find useful in making budgets, forecasts and other types of reports
and analysis) and will give a few practical examples which cause complexities to many
analysts.

Key Concepts

When working on any financial model or report keep in mind the following
fundamental ideas:

Clarity and transparency. When you develop your model or report, imagine an
unenlightened user who knows nothing about finance and your industry. Seek to
develop your model in a way that such a user understands it quickly, completely and
without asking questions. Make sure any user can grasp the structure, logic, and
outcomes of your model.

Flexibility. A model should allow for quick input changes and structural amendments
when required.

Accuracy. A model should be free from errors.

The above concepts are made live by applying financial modeling best practices
discussed in this publication. They might seem obvious or too general but commenting
every number, using simple and consistent formulas, creating linked cells and following
other rules make them feasible and realistic.

Unlike accounting rules (IFRS or local GAAP) there are no official rules set for
developing financial models. But there have been several attempts made to codify the
financial modeling process through its best practices. Below are two links to resources
where you can read more on financial modeling standards:

1. Financial Modeling Code by the Institute of Chartered Accountants in England


and Wales (ICAEW)

https://www.icaew.com/technical/technology/excel/improve-your-financial-
modelling-practice

2. Best Practice Spreadsheet Modeling Standards by the Spreadsheets Standards


Review Board (SSRB)

http://www.ssrb.org/resources/standards

Page 4
Guiding Principles of Financial Modeling

Sheet and Cell Classification

A typical model consists of the following types of sheets:

Input sheets. This is where you type in your inputs.

Working sheets. This is where the calculations are performed.

Output (presentation) sheets. This is what the users of your model will be looking at.
These might be summary reports, KPI lists, charts.

Every cell must be formatted depending on the type of data it contains. I have given
below some example formats which you can change to your taste as long as you use
them consistently across the model:

123 Inputs
246 Calculations (formulas)
273 Inconsistent formulas (different from the rest of the row or column)
9 180 Work-in-progress (inputs or formulae which remain uncertain or subject to change)
-
Checks
40
554 External links

Page 5
Guiding Principles of Financial Modeling

Formulas

Refers to sheet: "Formulas"

Being a key element of any financial model, formulas deserve special attention. The
below guidelines apply to all formulas in any calculation.

1. Formulas should be consistent, i.e. identical across a row or column wherever


possible. Inconsistent formulas must be marked (as mentioned above)

2. Every calculation should be performed only once, with dependent calculations


referring back to that calculation.

3. Formulas should never be mixed up with inputs.

4. Despite some controversy on circular references, my firm view is that they


should never be used in any financial model. See section ‘Breaking Circularities
in ’ at page 20 for further guidance.

Decomposing Formulas

If you have long and complex formulas split them into more simple ones and put into
different cells. Consider the below example where we are required to calculate the total
profit from sales:

The worst approach to this simple exercise will be to do the whole calculation in one
cell. Looking at a printout of your report, the reader will have to guess where this
number came from:

A better solution will be to split our formula into several interim calculations. This will
give an understanding of the process, show how the total number is made up, make the
model easier to verify:

Page 6
Guiding Principles of Financial Modeling

Lastly, you can add more information by making linked cells (referencing the initial
inputs), showing the signs of operations ("+", "-", "×", "÷"), using indents:

Using spaces and line breaks

One good thing about Excel formulas is that they allow adding spaces almost anywhere
in a formula (except function names, cell addresses and other obvious restricted parts).
This makes formulas better legible. Compare the below pairs of formulas and you will
notice that extra spaces naturally make even a simple and short formula look more
aesthetic:

=(G11+G12)/G13-G14 = (G11 + G12) / G13 - G14

In more complex formulas, adding spaces after commas (or semicolons, depending on
your computer settings), before and after closing and opening parenthesis improves
readability:

=INDEX(H14:H19,MATCH(I13,I14:I19,0))
= INDEX( H14:H19, MATCH(I13, I14:I19, 0) )

With the SUMIFS function, separating arguments with spaces helps to see the logic
more distinctly. They separate the sum range from conditions ranges and arguments:

=SUMIFS(H13:H18,I13:I18,I12,J13:J18,J12)
= SUMIFS(H13:H18, I13:I18,I12, J13:J18,J12)

With nested IF functions, you can specify visually which result relates to which
condition:

=IF(A1<0,"-",IF(A1>0,"+",0)) = IF(A1<0,"-", IF(A1>0,"+", 0))

If your formula starts with a 'minus' sign, add spaces before and after it for better
distinction1:

=-A1 = - A1

1 As a side comment, never start typing your formulas with “+” (always use “=”)
Page 7
Guiding Principles of Financial Modeling

Make a habit of adding spaces to your formulas and they will start looking more
transparent and elegant.

Excel also allows adding line breaks into the formulas by clicking Alt+Enter
(Cmd+Alt+Enter on Mac computers). However, this should be used sparingly as your
formula bar might be set to show only one line, and if you are trying to break a formula
because it is too long, consider splitting it between several cells as discussed above. An
example of proper usage of line breaks:

=G17+H17-I17+G18+H18-I18

=G17+H17-I17
+G18+H18-I18

‘Exponential Notation’

When you need millions, billions etc. use 10^6, 10^9 etc. Compare:

= A1 / 1000000 = A1 / 10^6
= A1 * 1000000000 = A1 * 10^9

Calculating Totals

In rows 18-38 I am explaining a simple technique which saved many models - to reduce
the risk of errors with the SUM function, leave an empty row before it and include this
row into the formula. In that way, if you need to add another row, you just insert it
before that empty row, and it gets included into the calculation automatically.

There is a check in row 38 which shows the total is incorrect in the first example and is
correct in the second one.
Example 1 Example 2
without empty row with empty row

Original tables

Accounts payable 251 Accounts payable 251


Loans and borrowings 239 Loans and borrowings 239
Total liabilities 490 ← empty row
Total liabilities 490

This is what happens if you insert a new row and forget to update a formula (in Example 1)

Accounts payable 251 Accounts payable 251


Loans and borrowings 239 Loans and borrowings 239
new row → Contingent liabilities 100 Contingent liabilities 100 ← new row
Total liabilities 490 ← empty row
Total liabilities 590

check (0 - ok) 100 check (0 - ok) -

Page 8
Guiding Principles of Financial Modeling

Report layout and formatting

Having a proper format is equally important for a professional model to be easy to


follow. The table underneath provides some basic guidelines for report formatting.

For the purposes of this section I have made extensive use of ‘Butterick’s Practical
Typography’ (https://practicaltypography.com)

Do’s Don’ts
Formats and Use the “as-little-ink-as-possible” Whenever possible, choose not to
styles approach style an element or section
Sections Use indent, smaller fonts and Do not make too many levels of sub-
italics, shades of gray to outline headings. Consider adding additional
sub-headings tables for further details
Captions Explain the content and purpose of Do not leave the reader guess what
every table, section or chart that number is about
Give a name to every row, column
or stand-alone figure
Line Use horizontal rules to visually Do not use vertical lines to separate
separators separate the lines if needed columns with data of the same nature;
Make the lines thin enough and instead, use consistent alignment to
gray (not black) create visual “columns”
Do not use “zebra” formatting
(banded rows)
Alignment Numbers: always on the right Do not use central alignment
Text: always on the left
Headings: aligned with their data
Cell Indicate units (USD, EUR, sqm, %) Avoid custom formats which include
denomination and multiples (thousands, millions) units of measurement or display
for each line or for the entire report numbers in thousands/millions
(e.g. “mln USD | 1.2; 2.7; 3.5”) (e.g. “$ 1.2 mln; $ 2.7 mln; $ 3.5 mln”)
Zero values Format zeros as “-” Do not format zeroes as “0”, “0.0” etc.
Empty cells Put “-”, “n/a” or “●” Do not leave cells blank
Hiding data Group rows or columns (‘DATA’ – Do not hide rows or columns
‘Group’) and then collapse and Do not white out numbers or use non-
expand displaying formats
Do not hide worksheets
Other Make your reports printable Use underlines very sparingly
Do not put lengthy comments into
your tables1

1And if you need to provide additional explanations or details - make a footnote (like
this one)
Page 9
Guiding Principles of Financial Modeling

Worksheet Setup
Linked Cells (Local References)

If a calculation requires data from other sheets, do not make references to these sheets
directly in formulas. Rather, make linked cells (which contain nothing but links to those
cells on the other sheets) and then refer your formulas to those linked cells on the same
sheet. This helps to make the calculations more transparent and reduce errors.

Look at how this is done on e.g. the ‘Capex’ sheet. At the top you see the links to the
"Inputs" sheet with some dates, amounts etc. These are just links bringing numbers to
this sheet before they are processed further in the calculations. If we link our formulas
directly to the "Inputs" sheet they will quickly become messy and error-prone. But,
with such direct links, we can immediately see what has gone into the calculations and
make the outcomes more traceable for an unfamiliar user. In additional, if the links get
referred incorrectly we can immediately detect visually that something has gone
wrong.

If your model has external references to other files, these references must be landed
into separate cells first before you do any further calculations on them. The reason for
this is that one can changes an external file and move the cells your model refers to; and
if your model is closed at that moment, the references will not be updated. Having these
references as stand-alone linked cells increases the chances of detecting a problem.

It is also recommended to use named ranges rather than cell addresses to make links
between files. If the source file is accidentally changed, the destination file will pick it
up even without having to change the formulas.
Time Scale

Refers to sheets: ‘Inputs’, ‘PL’

Any model typically performs calculations for consecutive time periods. Therefore, we
need to indicate these periods in the header of a calculation or an output report.

The timing parameters are set on the ‘Inputs’ sheet in cells B4:D11 as follows:

Timeline settings
Model start date 01-Jan-19
Model period months 3
Number of days days 30/360 90
Year fraction x 0.25

Project start date 31-May-19


Project end date 31-Dec-24

As you see, we define here the starting date of our model and define the periods (three
month) based on which we will do our analysis. It is also important to calculate

Page 10
Guiding Principles of Financial Modeling
duration of these periods in days (based on a 360-days basis) and as a year fraction
(also based on the 30/360 days basis).

This 30/360 basis is handy for modeling purposes as the periods are equal regardless
of the actual number of days in those periods (any quarter will always be 90 days or
0.25 years, any month will always be 30 days etc.). This will eliminate any variations
caused by their actual duration and you will always know that any difference between
the periods is caused by factors other than the number of days in them.

The headers on the calculation sheets (such as the one in rows 12 and 13 on the ‘PL’
sheet) shall be formatted as dates and I recommend putting two lines in it: beginning of
period and end of period:

beginning of period 01-Jan-19 01-Apr-19 01-Jul-19 01-Oct-19


end of period 31-Mar-19 30-Jun-19 30-Sep-19 31-Dec-19

This approach:

– makes it fully clear for which period we are making calculations or presenting
the numbers;
– provides extra flexibility for calculating flags (discussed below) and performing
other calculations1.

Using Flags

We call a "flag" a designated symbol which indicates whether a certain condition is met
or not. Flags are used mostly in timelines. For instance, we can use a flag to show if a
period in the model is within the project period, or if in this period the project starts or
ends etc.

On the ‘PL’ sheet flags take rows 20 - 23. In these rows we test various conditions. For
instance, in row 20 we check whether the project starts in a given model period, i.e.
whether the starting date of the project (31 May 2019 in cell B6) is at the same time:

– greater than or equal to the beginning of period date (row 12), and
– less than or equal to the end of period date (row 13).

As both conditions must be satisfied, I am using the AND function to evaluate these
conditions.

The AND and other logical functions return TRUE or FALSE logical values. Although we
can use them just as they are for further analysis, these values are not convenient when
they are too many. We can hardly see any trends or patterns:

1For further information on this topic see a publication of mine ‘Dates and Timelines in
Excel Financial Models’, the details on which are provided at page 38.
Page 11
Guiding Principles of Financial Modeling
TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE FALSE FALSE
FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE TRUE TRUE
FALSE FALSE TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE FALSE FALSE
TRUE TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE TRUE TRUE
FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE
TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE TRUE TRUE TRUE FALSE

To make them more distinct, we convert TRUEs into ones (‘1’) and FALSEs into zeroes
(‘0’). Logical values transform into those numerals when a mathematical operation is
performed upon them. As such, we could add 0, or multiply by 1, but the most elegant
method is to put a double minus in the beginning. In that case the first minus will turn
TRUE into -1, and the second minus back into ‘1’. The FALSE will just become and
remain ‘0’:
1 1 1 1 1 1 1 1 - - - -
- - - - - - - - 1 1 1 1
- - 1 1 1 1 1 1 1 1 - -
1 1 - - - - - - - - 1 1
- 1 - 1 - 1 - 1 - 1 - 1
1 1 1 - 1 1 1 - 1 1 1 -

A more simple approach can be making a formula like this:

= (F12 <= $B$6) * (F13 >= $B$6)

where the conditions are multiplied directly and return 1 if both of them are satisfied
(i.e. both are equal to TRUE) or 0 (if at least one condition is FALSE then the product of
these conditions is 0)). However, using the logical functions (AND, OR, XOR) opens the
way to more complex logic which cannot be evaluated with simple mathematical
operations.

Cells with flags are formatted so that zeroes are shown as "-". This makes flags easier to
read and see the trends and patterns. They also make the whole model more
transparent, make dependent formulas shorter and eliminate repetitive calculations.

Flags can be used through the following methods:

Multiplication. This is the most common use and an example of it is provided in row
34. The formula determines the forecasted sales for a given quarter and multiplies
them by the flag indicating whether this quarter is within the project periods.

The IF construct. It should be noted here that the IF and other logical functions can
natively accept numbers as their argument (condition). Any non-zero number is treated
as TRUE and zeroes are treated as FALSE. Consider the following example:

= IF( any number, “Not zero”, “Zero”)

If ‘any number’ is not equal to zero, the ‘value-if-true’ (which is “Not zero”) will be
returned. If ‘any number’ is zero, the ‘value-if-false’ (which is ‘Zero”) will be returned.

Another good example of using flags (and also formatting cells) is provided at page 32.

Page 12
Guiding Principles of Financial Modeling
Raising to power. This method is less known and an example of it is provided on the
‘Economics’ sheet (rows 22 and 23). If we run our model on nominal terms (this will be
explained later), we will need to use an inflation factor, e.g. 104% as a cumulative
inflation in some period. When we switch to real terms, this factor will need to become
100% (i.e. no inflation). What we do is we raise 104% to the power of 1 or 0 (our
‘nominal/real’ flag). Raising any number to the power of 1 leaves this number as it is,
and raising it to power of 0 converts it to 11.

Flags are mostly used with timelines, but not always. An example of another usage of
flags is given in the section ‘Summing Numbers by Years’ at page 302.

Commentary Section

Several columns on the left side of a calculation sheet are normally used for the
following:

– Captions (descriptions) for the information (‘Revenues’, ‘Profit tax’)

– Units of measurement (‘USD’, ‘%”, ‘days’). This is a must in any model or report.

– Links (references) to inputs or constants to improve clarity (as the links are
located closer to the calculations)

– Totals, located to the left of the calculations, always stay visible. You can also
extend the formula to the rightmost column of the sheet (XFD in the latest
versions of Excel) and not to bother about modifying your formulas if additional
columns are added later.

– Blank (spare) column(s) for future use

You can reserve this block for other similar types of information.

1 But you have to be careful raising 0 to the power of 0 – this is mathematically


impossible and a #NUM! error will be returned.
2 Additional information and examples on using flags are provided in my ‘Dates and

Timelines in Excel Financial Models’ publication (see page 38).


Page 13
Guiding Principles of Financial Modeling

Table of Contents

Refers to sheet: ‘TOC’

This sheet helps a user to understand the structure of the model and navigate around.
The header of it contains general information about the model (project name, update
date, status and version number).

A brief table underneath lists the sheets of the model (column B) and a brief description
of each sheet (column D). There is also a hyperlink to every sheet (column C) created
using the HYPERLINK function. The formula (e.g. in cell C9) is:

=HYPERLINK("#'" & B9 & "'!A1", "►")

The link location (the first argument of the function) is "#'Inputs'!A1". The “#” symbol
means the sheet is in the same file, ‘Inputs’ is the name of the sheet and A1 is the cell to
select. The formula displays the "►" symbol (second argument of the function) but this
can be anything you like.

By default, a hyperlink is displayed underlined but you can get rid of it by clicking
Ctrl+U when the cell with hyperlink is selected.

Similar links can be located on every sheet. It is a common practice to include three
links in the top left corner of every sheet: leading to the previous sheet, next sheet and
the table of contents.

Page 14
Guiding Principles of Financial Modeling

Inputs

Refers to sheet: "Inputs"

Where possible, inputs should be grouped together in a designated section. There


might be exceptions to this rule if you want to ‘play’ with an input and see immediately
the resulting change in an output

Every input or assumption should be entered only once in the whole model. No
repetitions.

This sheet contains inputs used in our model. The inputs are formatted in line with the
principles explained in the "General" sheet earlier.

Cells filled in blue are the inputs cells which users can change freely. Some of the cells
(e.g. cell B5 which contains the number of months in model period) is technically an
input cell but the model might need some fine-tuning after this cell is changed, so it is
not an input cell as such for an unprepared user.

This sheet can includes a summary of error checks and a financial summary, or model
outputs. We will talk about both of them later.

Assumptions and sensitivities

Refers to sheet: "Inputs"

As discussed earlier, inputs must be entered as numbers into dedicated cells (they must
never be mixed up with formulas). Input cells must be formatted in a standard way
across the model.

Where applicable, it is useful to indicate a source of an assumption next to it. For


instance, the volume and pricing assumptions can be developed by the marketing
department, capex assumptions can be based on existing contracts, economic
assumptions derived from the World Bank or OECD data, and so on.

Scenarios

Refers to sheet: "Inputs"

A typical model also includes several scenarios. A ‘scenario’ is a set of input which
change together reflecting the perspective of a scenario. In most cases there will be
three scenarios considered: base case scenario, optimistic (upside) and pessimistic
(downside) scenarios.

On the ‘Inputs’ sheet there is a scenario section located in cells F13:K26. We are
building three scenarios for the sales volumes, initial selling price and direct costs.

Page 15
Guiding Principles of Financial Modeling
There is a ‘switch’ between scenarios (in row 14) which uses option buttons linked to
cell K151.

Formulas in column K pick the inputs depending on the scenario chosen (using the
INDEX function) and feed the model.

To give you some further guidance on building scenarios I have put down below a few
practical points which characterize those scenarios, as we have been using them in
financial modeling.

Base case scenarios:

– Projected company’s performance does not outperform industry trend


– Company could fail to deliver at least 1-2 key business plan drivers
– Growth and margin projections in line or slightly below historical average
(unless well justified)
– No multiple expansion on exit (unless well justified)
– Not something that is just a little bit lower than the management estimate

Downside scenario:

– Company fails to deliver most of the key business plan parameters


– Macroeconomic downturn
– Negative industry dynamics (no revenue growth, loss of volumes, decreasing or
flat prices)
– Intensified competition (loss of market share, pressure on revenue, margin
squeeze)
– No multiple expansion on exit
– Not just a fairly conservative view on the Company’s projected performance

Upside scenario:

– Company delivers most of its business plan drivers


– Company could outperform industry growth projections if it is well justified
(market positioning, unique technology, know-how, talent)
– Possible multiple expansion assumption on exit
– Not a blue sky scenario grounded on miracle

1 I have a publication dedicated to option buttons and other interactive tools to enhance
financial models. Please refer to ‘Form Controls and Other Interactive Tools in Excel’ at
page 39 for further details.
Page 16
Guiding Principles of Financial Modeling

Working Sheets

This group of sheet contains detailed calculations and analysis. They could also include
source data for the charts, error checks.

Capital Expenditure

Refers to sheet: "Capex"

The purpose of this sheet is to determine capital expenses, depreciation charges and
net book value of fixed assets for every period.

We start by sourcing capex tranches and depreciation assumptions from the ‘Inputs’
sheet to cells B10:E24. Then we allocate those tranches by quarters in row 32.

Now let’s turn to the commentary block. In cells C35:C43 we re-state the dates from
which the model periods start. In the cells next to them, D35:D43, we calculate the
ending date of the assets useful life (which are the dates when depreciation for this or
that group of assets must stop). Then, in cells E35:E43 we put capex tranches
transposing them from row 32.

The calculation area (range of cells H35:AI43) shows a standard format for modeling
depreciation. The analysis assumes all fixed assets have the same useful life, otherwise
you will need to do a separate section for every group of fixed assets with the same
useful life.

Row 34 shows the depreciation charge for the period. Rows 45 through 47 show the
historic cost, accumulated depreciation and net book value of fixed assets.

Economic Assumptions

Refers to sheet: "Economics"

A forward-looking financial model can assume there will be some inflation and
exchange rate changes in the future. We apply these assumptions to prices and costs,
and this returns us those numbers at some price levels in the future. This assumption is
called 'Nominal terms’, because we have a number if future price terms, but we do not
know what this amount of money is really worth.

If we want to have an idea of the real value of this money, we do not use any economic
forecast - we express all indicators in today's prices, and this scenario is called 'Real
terms’.

Inflation is denoted in Consumer Price Inflation (CPI) - this is how retail prices for
consumer goods are going to change, as opposed to Wholesale Price Inflation (WPI) -
inflation for materials, utilities and other production costs. Those numbers are in cells

Page 17
Guiding Principles of Financial Modeling
B20 and B21 and are linked to the Inputs sheet. From these cells they feed the
calculations.

In order to break an annual inflation rate into for quarters, we need to use the
compounding formulas which you can see in rows 17 and 18. Then, in rows 23 and 24
you can see the rates used in the model. This calculation raises the cumulative inflation
into the power of the flag (we have discussed this method earlier) and so if we choose
real terms, all numbers in rows 23 and 24 become equal to 100%, so the amounts used
in the model are not adjusted for inflation. If we use nominal terms the inflation
amounts are raised into power of 1, which means they stay as they are.

Working Capital

Refers to sheet: "Working capital"

Working capital includes liquid positions - cash, materials, inventory, accounts


receivable and payable and so on.

The underlying idea in modeling working capital items is their turnover expressed in
the number of days. Imagine your customers pay within 15 days after the goods are
delivered. This means that at any given moment you will today's revenues sitting in
accounts receivable, yesterday revenues, revenues from the day before yesterday, etc.
up to the revenues from 15 days ago. After that your accounts receivable must have
been repaid. Therefore, at any given day your accounts receivable will be equal to your
15 days revenues. Since we know our quarterly revenues, we can figure out what our
revenues for 15 days would be, which is the amount of accounts receivable:

15 days
Accounts receivable = Quarterly revenues ×
90 days

This formula is used in row 23. Formulas in rows 24 and 25 calculate the balances of
inventory and accounts payable using the same approach.

Formulas in rows 27 and 28 underneath calculate the total working capital for the
period and the change during the period. The amount of change will be used further to
build the cash flow statement under the indirect method.

As you see, the method is rather simple but it is important to have a proper number of
days' turnover for every working capital item.

Row 30 calculates the cash balance. There could be different methods for calculating
cash balances:

– as a percentage of revenues
– as a percentage of total assets
– in some we can assume the balances will be be immaterial and ignore them.

Page 18
Guiding Principles of Financial Modeling
In this demo model I have put minimum cash balance as 1% of sales revenues. Note this
is only a minimum balance we will maintain through the model. In some periods it will
be higher due to real business case complexities.

Project Financing

Refers to sheet: "Funding"

This sheet contains the calculations of how our project will be funded. The analysis
here is one of the most important ones as it serves two purposes:

– tells the investor(s) how much money they need to put in and how much money
they will receive in return, and when;
– balances the uses of cash (capex, inventory, expenses) with the sources (equity
and debt financing)

This section can be one of the most versatile and complex in real-life models, depending
on the actual financing arrangements (equity, debt, or mixed (mezzanine financing)),
profit distribution strategies (dividend payout ratio, reserve policies), profit sharing
arrangements (for joint ventures and partnerships), and many, many other.

As this model is simplified and fictitious, we will assume the bank will provide a fixed
amount of financing (1,450 thousand USD) at project inception and there will be fixed
amounts of loan repayment every quarter of principal (100 thousand USD) and all
accrued interest. The rest is paid up by the shareholder.

Calculations of loan balances and interest are provided in rows 15-18. Having
determined the total debt cash flow (row 22), we will see how sufficient it is to cover
our operating and financing requirements, to maintain minimum cash balance (rows
23-26). So we arrive (in row 27) to how much cash we need the shareholder to invest,
or how much cash we have left for distribution to him or her.

This takes to the calculation of retained earnings (row 29). Formula in row 31
determines if there are positive retained earnings in the current period and if we have
cash we could distribute. If both conditions are satisfied, the shareholder receives
dividends. Note: in some jurisdictions there is also a limitation on net assets: they must
be positive and distribution of dividends is allowed to the extent the net assets do not
become negative.

If it is determined there is a shortage of cash (in row 34), the shareholder is called upon
an equity injection (row 37). If, on the other hand, it is determined there is cash
available (which cannot be distributed due to the above constraints) but there is a
positive share capital balance, then this money can be repaid through equity
redemption.

In simple terms, equity injection can be compared with giving a loan, and distribution
of dividends with payment of interest (although there are numerous financial, statutory
and tax differences and complications). Similarly, redemption of equity can be
paralleled to repayment of loan principal.

Page 19
Guiding Principles of Financial Modeling

Breaking Circularities in Loan Calculations

Refers to sheet: "Circles"

Very often we model debt service using the after-tax cash flows. In this case many
analysts think cyclical calculations are unavoidable: the cash available for debt service
depends on the amount of tax, the amount of tax depends upon the interest expense,
the interest expense depends on the average loan balance, the average loan balance
depends on how much loan we repaid during the period, and the amount we can repay
depends on the available cash we have (from step 1).

So the analysts write macros or create circular formulas, both of which are considered
poor practices of financial modeling. But this problem has more simple solutions.

Algebraic approach. We have a system of the following equations (to make things
easier I have assumed that EBIT, net income etc. are the same on the cash flow basis):

Loan opening balance + Loan closing balance


Interest expense = × Interest rate
2

Loan closing balance = Loan opening balance - Repayment

Repayment = EBIT - Interest expense × Tax

Tax = (EBIT - Interest expense) × Tax rate

Solving for interest expense:

2 × Loan opening balance − EBIT × 1 − Tax rate


Interest expense =
2
1 − Tax rate − Interest rate

which corresponds to the formula in row 9 (starting from cell D9 and on to the right):

=(2*D16-D8*(1-$C$12)) / (1-$C$12-2/$C$9)

The model may have additional complexities (for example having to reserve a certain
portion of profits for dividends or business development), but these can also be built
into those equations easily enough.

Stepped approach. More complex problems (e.g. with a graduated tax schedule under
which the tax rate depends on the amount of profit) are solved using the stepped
approach. Graduated schedules for corporate profit tax are used in very few
jurisdictions nowadays but it is important that you understand this method and can
apply it in other situations.

Page 20
Guiding Principles of Financial Modeling
In my example the tax brackets and rates are given in the range of cells K21:L26. For
the sake of simplicity I have assume that the entire profit is taxed at a higher rate once
the profit amount exceeded a given threshold.

We do the first calculation ("Step 0") where we don't calculate interest expense at all
(range B23:I34).

Then we just copy this calculation down range B36:I47) and calculate the interest
expense in it based on the previous step (row 37). Of course this is not accurate as the
amount of repayment in the previous step did not take into account the interest
expense.

So we do one more step (B49:I60) which is now based on the interest expense from
Step 1 and more precise amounts of repayments.

And so on. In each step we fine-tune the numbers and, from my experience, using 3-5
iterations provides the level of accuracy of 4-5 digits. This is by far more than enough
for any financial modeling purposes.

Page 21
Guiding Principles of Financial Modeling

Pro-forma Financial Statements

Income Statement

Refers to sheet: "PL"

The calculation starts by taking unit prices and variable costs (rows 29 and 30) and
applying the inflation factor.

Row 33 calculates unit sales in the current period using the above flags. In this
simplified model we assume the sales have been going during the whole quarter,
ignoring the fact that in the first quarter the project started only on 31 May 2019. There
are techniques to take this into account1 but here we are handling volumes in the most
simple way.

This takes us to the Income Statement itself (rows 35-43). The calculations and
formulas here refer to the above figures or sheets we have discussed in previous
sections and are quite straightforward.
Balance sheet

Refers to sheet: "BS"

Our balance sheet consists of items calculated on other sheets earlier:

– Cash balances - from the "CF" sheet.


– Other working capital items (accounts receivable, inventory, accounts payable) -
from the "WC" sheet.
– Fixed assets (net book value) - from the "Capex" sheet
– Long-term debt and equity balances - from the 'Funding' sheet.
– Checks underneath control that the balance sheet is in balance.

Cash Flow Statement

Refers to sheet: "CF"

Cash flow statements can be constructed using direct or indirect methods. Indirect
method is more common.

The essence of indirect method is that we take the net income, adjust it to non-cash
items, and arrive to operating cash flow. Under the direct method though we start
straight from the cash items (and ignoring non-cash items) to calculate the operating
cash flow.

This demo model uses the indirect method.

1Described in my publication ‘Dates and Timelines in Financial Models’ (see page 38)
Page 22
Guiding Principles of Financial Modeling

We start with the net income earned by our company. As you know, this amount is
different from the cash we received because it includes certain non-cash items, e.g.
depreciation - it is an expense in the income statement but it is not paid in cash. Or, we
have recognized some revenue from the customers but part of that revenue is not yet
paid and sits in accounts receivable (this is why we have calculated working capital
changes earlier). We do these adjustments in rows 18 and 19. Finally, we take out
interest expense (row 20) - we deal with it in the investment cash flow section.

Investing cash flow (row 22) takes the amounts we spend on capex from the 'Capex'
sheet. Note if there is any sale of used equipment, the amounts of proceeds also go into
this section.

Financing cash flow (24-27) takes the amounts from the 'Funding' sheet.

In the last rows (32 and 33) we calculate opening and closing cash balances for each
period. There are checks against the balances sheet and checks if the cash balance are
positive.

Page 23
Guiding Principles of Financial Modeling

Project Returns

Refers to sheet: 'Returns'

This sheet takes the cash flows to shareholder and analyses his or her profitability. The
metrics is quite standard (IRR, NPV etc.) but I wanted to explain some complications
which we encounter often.

Calculating IRR and NPV when your cash streams are zero in the first few periods.
In this demo model we would normally use the XIRR and XNPV functions which are
well documented and widely used. The problem happens when the first few periods are
outside of the project and have zero cash flows. We can of course adjust the formulas
manually every time we change the starting date but this is considered a poor practice
because we can forget. So we will need to do some tricks.

The XIRR function fails if the first few periods have zero cash flows. But it does not fails
if they have some, even very small, immaterial cash flows which cannot affect the
results of the project. So in cell D27 we will take the cash flows in cells E15:AF15 and
reduce them by 0.0001 (which can be any other arbitrarily small number immaterial in
the current model):

E15:AF15-0.0001

The amounts in cells E15 and F15 were zero, but under this formula they are not: they
are -0.0001 each. Other numbers did not change significantly.

In order to use this array in further calculations we will process it through the INDEX
function with the second argument (‘row number’) equal to 0:

INDEX(E15:AF15-0.0001,0)

This does not change the numbers in the array but allows using them in other
functions. So we will use it with the XIRR:

= XIRR( INDEX(E15:AF15-0.0001,0), E10:AF10 )

This is our formula which calculates the IRR correctly even though the first few
numbers are zero.

Another method is to approximate the IRR using a simple IRR function - unlike XIRR, it
does ignore zeroes in the first periods. It works accurately if your model has a
sufficiently big number of periods. So we will use it here and as our model is quarterly,
we will annualize the IRR using the formula:

Annual IRR = (Quarterly IRR + 1)^4-1

This is done in cell C28.

Page 24
Guiding Principles of Financial Modeling
We cannot do this for the NPV so we will take a different approach. We will calculate
our NPV from period 1 (even if there were some periods with zero flows in the
beginning) but then will adjust the result by a discount rate corresponding to those
periods. The number of periods is calculated in cell D31 and the corresponding date –
in cell D32. Then we determine the adjustment factor (in cell D33):

= (1+D30) ^ YEARFRAC(E10,D32,3)

After that this factor is used to adjust the NPV (in cell C34):

= XNPV(D30, E15:AF15, E10:AF10) * D33

This formula adjusts the NPV for the whole period by the discount rate calculated for
the periods when the cash flows were zero.

Calculating other metrics. In addition to IRR and NPV, it might be informative to show
the total project duration and its Cash-on-Cash (CoC) ratio (a.k.a. Money-on-Money
(MoM) ratio).

The formula for project duration is shown in cell D36. I consider it the most
convenient formula from the standpoint of proper rounding and formatting. Its first
part (=YEARFRAC(C6,C7)) returns 5.583 which is the number of whole and fractional
years (in decimal format) between the start and the end date.

Next transformation: we are using the DOLLARFR function which converts the fraction
from the decimal base to whatever base we indicate). In this case we will use 12 as the
base, so we get the formula:

=DOLLARFR(YEARFRAC(C6,C7),12)

which returns 5.07. The decimal part (07) must be read as 'seven twelfths", as we have
given 12 as the base. Or, as we are talking years and months here, it simply means "five
years and seven months".

To make sure everyone understands it right, we should indicate clearly these are years
and months. So we multiply it by 100 and use the TEXT function to apply the format
"0\y 00\m" (we have to use the backslash symbols "\" because "y" and "m" are special
symbols reserved for date formats). The final formula is as follows:

=TEXT(DOLLARFR(YEARFRAC(C6,C7), 12) * 100, "0\y 00\m")

and returns "5y 07m".

Calculating Cash-on-Cash ratio is easier: we take all positive cashflows, divide by


negative cashflows and put a minus in front to make the ratio positive (formula in cell
C37):

= - SUMIF(E15:X15,">0") / SUMIF(E15:X15,"<0")

Page 25
Guiding Principles of Financial Modeling
We format the cell as "# ##0.00x" to make it show "1.35x".

Other common metrics are the breakeven date and the payback period. To calculate
those properly we first do the flags which indicate the cumulative cash flows have
become positive (row 22) and that they will remain positive between now and the end
of the project (row 23). This is needed because at some point our cash flow might
become positive, but then dive below zero again, so it would be too early to say the
project has paid itself back.

After that formula in cell C39 matches the first '1' in row 23, and returns a
corresponding date in row 10. This is the date by which the project has achieved its
breakeven point.

The payback period is the period between that date and the project start date. It is
calculated and formatted in cell C40 with the same formula we have used earlier in cell
C36.

Variations to Cash-on-Cash ratio and payback include calculating those on a discounted


basis.

Page 26
Guiding Principles of Financial Modeling

Checks and Controls

Refers to sheet: “Annual+Checks”

Cross-checks

Cross-checks are used to verify the mathematical accuracy of calculations. If there is a


difference, it will be spotted immediately, and in many instances it is possible to locate
an error just by seeing the amount of such difference.

The following are the fundamental controls for any set of financial statements (among
many else):

1. Total assets = Total liabilities and Total equity

2. Net income in a period = Change of retained earnings on the balance sheet in


that period

3. Total cash flow in a period = Change of cash balances on the balance sheet in
that period

Let's imagine we have each of those forms on a separate sheet (Sheet1, Sheet2 and
Sheet3). Every sheet has one or several lines of checks relating to it. Make sure the
caption (cells B16, B42 or B52) always says what is being checked. I am also using
conditional formatting which fills a cell in green (if it is zero) and in red (if it is different
from zero).

There is also a check summary cell on every sheet which tells how many errors are
found on every sheet (cells D18, D44, D54). These totals have the same conditional
formatting (zero errors - green, otherwise red). The formula used in these summary
cells (for example in cell (D18) is:

=SUMPRODUCT( ABS( SIGN( E16:J16 )))

The SIGN function takes the array of values and returns 1 if a value is positive, -1 if the
value is negative and 0 if the value is zero. Then the ABS function turns all -1’s into 1’s.
As a result, for every zero-value cell (where there is no error) this combination of
functions returns 0, and for every non-zero cell (where there are errors) it returns 1.
The SUMPRODUCT function adds them all up and tells the total number of errors.

I find this formula convenient (as opposed to COUNTIFS and others) because it requires
the test range to be entered only once, and treats zeroes and empty cells in the same
way.

Those totals feed the summary sheet (Sheet4, I am depicting it to the right). It shows
the number of errors on every sheet, and the total number of errors in the model (with
the same conditional formatting). Such a summary is normally put together with inputs
or on a separate sheet.

Page 27
Guiding Principles of Financial Modeling

As one of the checks (in cell I42) points out, in 2024 there is a mismatch between total
assets and total liabilities and equity. The reason is that I have deliberately cleared cell
I34 (highlighted in yellow). Copy the formula from a neighboring cell in this row and
the check will become ok.

Rounding the checks. As you may have noticed, I was rounding my checks on the
previous sheet to 5 digits. Here is the reason I am doing this.

Excel has a bug which sometimes causes minor differences even in those cases where
the difference should be exactly zero. I am giving a simple example in the range of cells
O20:Q28. In this example, the company has total assets of 14.3, liabilities of 14.0 and
equity of 0.3. The check should balance exactly to zero, but it does not (see cell Q27), so
we have to use rounding (cell Q28).

If rounding to 5 digits does not work in your case, you can use a different number.

Other Control Techniques

Refers to sheet: ‘Other checks’

This sheet gives some further theory about checks and controls which we have touched
upon earlier.

"Instant" charts. From row 51 I am explaining how to use column charts to examine
your numbers for unusual trends and patterns. This chart is created very quickly by
selecting the number range and pressing Alt+F1. You don't need to format or do
anything else with the chart, it is an "instant" and "disposable" chart to quickly sense
the figures (although you can delete the legend and the horizontal axis and resize the
chart as convenient).

In my example there is a drop in period 3 - this breaks the trend on the chart and is
seen quite clearly.

After you have studied the chart, simply delete it.

Toggle formulas and results. Another method of control is to switch between formula
view and result view and back by pressing Ctrl+~. Seeing all formulas in a row, you can
quickly notice if some formulas are different from the rest of the range or some errors.

To check if all numbers in a range are the same you can calculate their variance or
standard deviation – if all amounts are the same, both functions will return zero
(section 3).

To check if all numbers in a range are equal to a certain number – include this number
into the calculation of variance or standard deviation as explained above (section 4).

To check if two arrays are the same (section 5) – use the formula:

Page 28
Guiding Principles of Financial Modeling
=SUMPRODUCT(--(D61:D67<>F61:F67))

This formula is used in cell D58 and it first checks whether two ranges (D61:D67 and
F61:67) are the same. This generates the following array of logical values:

{FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}

As there are no mismatches, all tests return FALSE. Every FALSE corresponds to a pair
of cells in the above ranges.

We then put a double minus before the test [--(D61:D67<>F61:F67)] which converts
TRUEs into 1’s and FALSEs into 0’s:

{0;0;0;0;0;0;0}

Finally, we add them up with the SUMPRODUCT function which returns 0. If we had any
mismatches, this formula would return the number of such mismatches.

One last tip on this sheet: look at how the sections are numbered (in column B).
Starting from the second section, I am using the MAX function in a formula in a way that
copying or deleting this formula adds or removes a section number and causes other
numbers to recalculate.

Detecting inconsistent formulas

Make sure you always have background error checking enabled (click ‘FILE’ – ‘Options’
– ‘Formulas’ – ‘Error checking' and select ‘Enable background error checking’. Choose a
flag color you will quickly notice on a sheet). Also in the ‘Formulas’ section make sure
your ‘Workbook Calculation’ is set to ‘Automatic’.

You can highlight inconsistent formulas as follows:

1. Select your row or column which contains the totals


2. Click ‘HOME’ – ‘Find&Select’ – ‘Go To Special…’
3. Select ‘Row differences’ or 'Column differences' and click ‘OK’. This will select
any cells with inconsistent formulas
4. Click on ‘Fill Color’ button. Selected cells will be highlighted

An inconsistent formula made deliberately has to be marked (my preference - dark


green color).

Sense-checks

This group of controls verifies that the numbers ‘make sense’, meaning they are
justified from commercial perspective, are in line with industry benchmarks and past
performance. Look at your project’s anticipated profit margins and asset turnover,
profitability and payback figures. Analyze trends, examine any unusual volatilities in
the forecasts.

Page 29
Guiding Principles of Financial Modeling

Miscellaneous

Summing Numbers by Years

Refers to sheet: "Annual+Checks"

This sheet demonstrates how quarterly or monthly financial statements can be


aggregated into Yearly Financial Statements. It also expands further on the topic of
checks and controls to slash errors (discussed earlier).

Let's look at cell E6 which refers to the 'PL' sheet. Row 13 on that sheet contains ending
dates of the periods. We use the YEAR function to extract the years from those dates,
and so the part of the formula:

=YEAR(PL!G12:XFD12)

returns:

={2019,2019,2019,2019,2020,2020,2020,2020,2021,2021,2021,2021,2022,2022,2022,
2022,2023,2023,2023,2023,2024,2024,2024,2024,1900,1900,1900,1900,1900,1900,
...}

Years 1900 in the end correspond to empty cells after the end of our analysis period.

We then test which years correspond to the year in the heading of the column:

=YEAR(PL!G12:XFD12)=E3

={FALSE,FALSE,FALSE,FALSE,TRUE,TRUE,TRUE,TRUE,FALSE,FALSE,FALSE,FALSE,FAL
SE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,
FALSE,FALSE,FALSE,...}

Cell E3 contains '2020', and the members from 5 to 8 return TRUE as they correspond
to the four quarters of that year on the 'PL' sheet. If we now take row 38 of the 'PL'
sheet (sales revenues), and multiply by the above array, the second four values will stay
and the rest will be zeroed out.

=PL!G36:XFD36 * (YEAR(PL!G12:XFD12)=E3)

={0,0,0,0,787.685657108196,795.447044120475,803.284907234369,811.2,0,0,0,0,0,0,
0,0,0,0,0,0,0,0,0,0,…}

We will then add all those numbers up using the SUMPRODUCT function, and the result
will be our total sales in 2020 (3,198 thousand dollars).

All income statement and cash flow lines use this approach, but the balance sheet is
slightly different. Here we don't need to add up four numbers but rather need to take

Page 30
Guiding Principles of Financial Modeling
the last one. So we add one more condition which tests if the month of our quarter-end
date is December, i.e. the MONTH function returns 12 (look at the formula in cell E21 as
an example):

=SUMPRODUCT(BS!$F17:$XFD17 * (YEAR(BS!$F$12:$XFD$12)=E$3) *
(MONTH(BS!$F$12:$XFD$12)=12))

In this case there will be only one non-zero number corresponding to the end of 2020.
It remains after we add all the numbers up and so the formula returns the cash balance
as of the end of 2020 (8 thousand dollars).

Page 31
Guiding Principles of Financial Modeling

Number Formats

Refers to sheet: "Num formats"

This sheet is really a complex example and covers three things:

1. Number formats (including custom and conditional formats)


2. Using flags
3. Explanation of some complexities in calculating percentage changes

A cell's custom format is set through the Format-Cell menu (or by clicking Ctrl+1). A
dialog box will come up in which you will need to select the 'Number' tab and 'Custom'
category.

Custom formats are typed into the 'Type' field and generally consist of the following
four (or less) categories separated by semi-colons (;):

– Positive number format


– Negative number format
– Zero format
– Text format

Example 1 is the regular report in which the following number format is used (in cells
E6:E16):

# ##0.0_);(# ##0.0);-_)

This format means that positive numbers are formatted with thousand separators and
one decimal place, negative numbers are surrounded by parentheses and zeroes are
shown as dashes (-).

Note the "_)" symbols after positive and zero numbers: they create a right indent equal
to the width of the right parenthesis, so that all number are aligned by the last digit.

The text format is not specified, so if a text is entered into such a cell it will be shown in
the 'General' format.

Example 2 shows the calculation of variances (in absolute amounts and in percentage).
This can be a part of the budget vs. actual analysis, or a comparison of current to prior
year etc.

In comparative numbers I recommend to indicate the sign clearly (both "+" and "-"),
unlike regular numbers, where the positive sign is omitted. We can as well mark the
changes in color, e.g. positive changes in green and negative changes in red:

[Color4]+# ##0.0;[Red]-# ##0.0;0.0

Page 32
Guiding Principles of Financial Modeling
This format is used in cells I7:I22. Note that to assign a color you can use either the
color name or the color code. Both are listed at the bottom of the sheet.

Percentage changes (cells J7:J22) are formatted as:

+0%;-0%;0%

which is more straightforward but I am using conditional formats here which we will
discuss later below.

Percentage change is calculated in column J (with some flags in columns L through O)


and this calculation is more complicated then one might think. The starting point would
be dividing the amount of change (column I) by the amount in the base (starting)
period (column G):

=I7/G7

This formula will work in the first two examples (rows 7 and 8).

In rows 9 and 10 it will return +20% and -20% respectively which does not make
sense: there is a negative change in row 9 and a positive change in row 10, while the
sign of the calculations is opposite. To fix this, we will take the absolute of the
denominator:

=I7/ABS(G7)

As a side not here, when you analyze actual vs. budget etc. use “B/(W)” abbreviation
(stands for “Better/(Worth)”) in the column header, so that the readers immediately
get an idea if the change is beneficial or not.

In rows 11 and 12 the numbers change signs between the periods, and the resulting
changes are -180% and +183%. Although these numbers are mathematically correct,
they do not tell much from the business or common sense perspective. So rather than
showing these numbers, we would say the percentage change is not applicable, or,
better, that the change was positive or negative. We do this using elegant arrows "▲"
and "▼". To simplify the formulas we will introduce flags in columns L and M. Our
formula will look like:

=IF(M7,"▲", IF(L7,"▼", I7/ABS(G7)))

As you remember, the IF function treats non-zero numbers as TRUE and zeroes as
FALSE.

Next four examples (rows 13-16) have a very small amount in the base year, which
results in very high percentage change (119900%). Again, such an amount does not tell
much, so it is a good solution not to show percentages above a certain limit. I have set
this limit in my example to 1000% (cells N6 and O6). Our modified formula is now:

Page 33
Guiding Principles of Financial Modeling
=IF(OR(M7,N7),"▲", IF(OR(L7, O7),"▼", I7/ABS(G7)))

This also addresses the problem if the base year value is zero (because then 1000% of
it will be less than the change) but there will still be a problem if both the base amount
and the change are zero (as in row 20). To address this limitation we do a final
brushstroke:

=IF(OR(M7,N7),"▲", IF(OR(L7, O7),"▼", IF(G7,I7/ABS(G7), 0)))

This formula can return both numeric values (percentages) and text ("▲" and "▼"), so
custom formatting with color-coding of those cells becomes impossible. We will
therefore resort to conditional formatting to change cell colors.

On the 'HOME' tab, click "Conditional Formatting' - 'New Rule...' to add a new rule. On
this sheet all formats are already added, so click "Manage rules..." to see what has been
done. The rules refer to cells in column I to control if the changes were positive or
negative and, depending on that, set the font color in cells in column J to green or red.

Page 34
Guiding Principles of Financial Modeling

Speeding Up Slow Models

Refers to sheet: “Speed up”

Calculations become noticeably slower in large files. The true reason for that though is
not the file size but the number of operations which a model has to perform at
recalculation. When the number of operations reaches a certain level, a model becomes
sluggish. Therefore, we should try to reduce it.

Example 1 shows how this can be done with timing flags. The wrong approach is in fact
the one we have been using so far, but now we will look at it slightly differently. We
have timing flags in row 7, sales volumes in row 8 and unit costs in row 9. In both cases
the timing flags are zero, i.e. we are outside of the project’s time scope. We are
multiplying the above elements in cell D10 and well expectedly get a zero.

But as we could see upfront that the timing flag is zero, we did not really need to
perform this multiplication – we could have said immediately that the cell value should
be zero and any calculations are unnecessary, thereby saving some computer
resources. So we modify this formula in cell E10: we use the IF function to check if the
flag is non-zero, and only in this case we proceed to the calculations. Otherwise we just
put zero.

Example 2 deals with calculating cumulative values. We have monthly sales in cells
C18:C29 and we need to calculate the running total. Some analysts do a formula shown
in column D: they sum up the range from the first cell (C18, sales in January) to the
current cell. Let us look at these calculations one by one:

– formula in cell D19 adds up January and February sales


– formula in cell D20 adds up January and February sales (again!) and adds March
sales
– formula in cell D20 adds up January and February sales (for the third time!),
adds March sales (for the second time!) and adds April sales
– and so on

In total these formulas perform 77 operations which can be reduced to 11 if you use
simple additions of current numbers to previous cumulative totals. This is shown in
column E.

Use of volatile functions is another area to look at. Most of the Excel functions
recalculate when there is a change only in their arguments, but some functions
recalculate every time there is a recalculation. Examples of such functions are TODAY,
NOW, OFFSET, INDIRECT and some other (this might depend on the arguments,
formula construction and even the version of Excel). Try to avoid or keep volatile
functions to a minimum.

Conditional formatting behave similarly to volatile functions – they test whether the
underlying conditions have changed and whether the formats also need changing. So do
not overuse conditional formatting.

Page 35
Guiding Principles of Financial Modeling

Custom styles and number formats sometimes become excessive and also slow down
the model. An indication of this is an error message saying that no more custom
formats can be added when you try to add one.

Array formulas perform complex calculations on a range of cells. We have seen an


example of array formula when we studied how to convert monthly/quarterly figures
into annual using the SUMPRODUCT function (page 30). Sometimes array formulas
start taking too much time to update, so use them sparingly.

Data tables also take time to update. You can either set data table recalculation to
manual or use the approach which I have described in my publication on data tables.1

I have been stressing through this booklet that long formulas should be broken into
shorter ones. While this still holds true, long formulas have one undeniable advantage –
they work significantly faster (by several orders of magnitude). But the flip side of it is
reduced transparency and increased risk of errors. If your model has so much formulas
that this becomes relevant consider simplifying your model.

The above measures produce effect only in large models – but you should get a habit of
thinking your models in these terms. Even small models may eventually get bigger.

1Please refer to my ‘Unlocking Full Potential of Excel Data Tables’ publication details at
page 40.
Page 36
Guiding Principles of Financial Modeling

Useful Shortcuts

Shortcuts most useful and relevant in daily routines

Types of shortcuts
Key combinations Ctrl + 1 keys are pressed simultaneously
Key sequences Alt → M → D keys are pressed one after another

Windows Mac
Navigation
Move to right (left, top, bottom) edge of
Ctrl + →(←↑↓) ⌘ + →(←↑↓)
current region
Select cells to right (left, top, bottom) edge
Ctrl + Shift + →(←↑↓) ⌘ + ⇧ + →(←↑↓)
of current region
Select next (previous) sheet Ctrl + PgDn (PgUp) ⌥ + →(←)
Switch between workbooks Ctrl + Tab ⌘+`
Formatting
Format selected cell(s), chart element,
Ctrl + 1 ⌘+1
object
Apply Formats:
Number Ctrl + Shift + 1 Ctrl + ⇧ + 1
increase decimals Alt → H → 0 n/a
reduce decimals Alt → H → 9 n/a
Date Ctrl + Shift + 3 Ctrl + ⇧ + 3
Percentage Ctrl + Shift + 5 Ctrl + ⇧ + 5
General Ctrl + Shift + ∼ Ctrl + ⇧ + ∼
Outline border
add Ctrl + Shift + & ⌘+⌥ + 0
remove Ctrl + Shift + _ ⌘+⌥ + _
Toggle bold (italic, underline) style Ctrl + B (I, U) ⌘ + B (I, U)
Formula auditing
Toggle formulas / results Ctrl + ‘ Ctrl + ‘
Select inconsistent formulas in:
selected row Ctrl + \ Ctrl + \
selected column Ctrl + Shift + \ Ctrl + ⇧ + \
Select direct precedents Ctrl + [ Ctrl + [
Convert whole (or selected part of) formula
F9 Fn + F9
to value
Trace precedents (dependents) Alt → M → P (D) n/a
Other
Group rows or columns Alt + Shift + → ⌘+ ⇧ + K
Ungroup rows or columns Alt + Shift + ← ⌘+ ⇧ + J
Insert the SUM function Alt + ‘+’ ⌘+ ⇧ + T
Insert a column chart Alt + F1 Fn + ⌥ + F1
Undo Alt + Backspace ⌘+ Z

Page 37
Guiding Principles of Financial Modeling
What’s Next?

In addition to this one, I have written many other publications on financial modeling,
Excel and VBA programming. Details on those of them relevant to financial modeling
are provided below.
Dates and Timelines in Financial Models

Professional financial models use dates and timelines very extensively, so it is


important to become familiar with related functions and techniques.

In this publication we will look at the following issues and workarounds:

a) Quickly extending or shortening a sales ramp-up


schedule for a new business, a life-cycle plan for a new
product, a rent take-up schedule for a new building or
construction capex.

b) Calculating interest expense without complicated schedules if repayments occur at


non-regular dates or if the rate is changing at arbitrary dates during the model period.

c) Planning orders, deliveries and payments given the number of days lead-time they
require.

d) Calculating rental revenues when rental rates and/or rented areas changing at some
dates in the course of the month or quarter.

e) Calculating timing flags for fractional periods to make more accurate predictions of
interest, dividends, rent etc.

f) Foreign exchange: finding proper beginning, ending and average rates in quarterly
or monthly models, when the forecast is given as year-average or year-end figures.

g) Transforming monthly or quarterly reports into annual.

h) Grouping, aggregating and transposing lists, databases or tables with dates by years,
months, quarters and weekdays.

i) Finally, the publication shares a collection of miscellaneous elegant formulas dealing


with dates.

https://www.eloquens.com/tool/QkB4sGVg/finance/financial-modeling-courses-
tutorials/dates-and-timelines-in-excel-financial-models

Page 38
Guiding Principles of Financial Modeling

Form Controls and Other Interactive Tools in Excel

This is an overview of check boxes, option buttons, drop-down lists and similar fancy
things commonly referred to as Form Controls. They make working with models more
convenient and efficient, and the models themselves – look more professional.

The publication demonstrates what types of controls there are available and shows the
differences between Form Controls and ActiveX control. Step-by-step explanations are
provided on how to create controls, set them up, link to worksheet cells and apply
formatting.

The file gives several practical tips and formula examples. In particular, using form
controls one can change some model assumptions or scenarios from any worksheet
quickly.

A special example of drop-down lists is the use of data validation functionality. The file
also talks about dynamic hyperlinks.

https://www.eloquens.com/tool/nJGGUzyy/finance/scenario-analysis-excel-
templates-and-models/form-controls-and-other-interactive-tools-in-excel

Page 39
Guiding Principles of Financial Modeling

Unlocking Full Potential of Excel Data Tables

The abilities of data tables stretch far beyond conventional one- or two-dimensional
tables and in this tutorial I will introduce and explain some non-conventional ways of
using data tables. In the first part (File # 1) I will show how to use data tables to create:

a) A summary table showing the key metrics (gross profit, gross profit margin, etc.)
b) A high-level cash flow summary for each scenario (showing annual volumes,
sales, costs etc.)
c) A "tornado" chart which shows the effect of every input on the model's outcome

Data tables make the above visuals fully interactive - you can change one of the inputs
in any scenario and see the effect of this change immediately in the outputs (tables and
charts). This functionality does not require the use of macros.

https://www.eloquens.com/tool/aArZU2BG/finance/sensitivity-analysis-excel-
templates-and-methods/sensitivity-analysis-excel-model-using-data-tables-short-
version

File # 2 extends the topic of data tables and demonstrates the following:

a) In the previous examples every data table is linked to its own separate model
(we had to repeat the model on every sheet). The second part explains how to
link several data tables to the same model without cross-conflicts and
interference with the inputs at which the model is displayed.
b) By default, data tables require that input cells are located on the same sheet as
the data table. I am showing a way around it.
c) There is a built-in functionality in Excel which allows to turn off automatic
updates of data tables. This speeds up the rest of the calculations. But then by
looking at a data table you cannot figure out if it is up to date or not. My solution
(which also requires fewer manipulations with your mouse) is more simple: a
check box located next to data tables which turns automatic updates on and off
with just one mouse click.
d) Creating a waterfall chart using data tables. Waterfall charts explain the move
from one scenario to another in terms of the effect of every input’s change.

https://www.eloquens.com/tool/QkbvsGeb/finance/sensitivity-analysis-excel-
templates-and-methods/sensitivity-analysis-excel-model-using-data-tables-full-
version

Page 40
Guiding Principles of Financial Modeling

Analyzing Sensitivities with Indifference Curves

Another publication I have on sensitivity analysis is about indifference curves.

Indifference curves is a smart analytical tool showing cross-sensitivity of an output to


two inputs. Each curve corresponds to a fixed output value and shows at which
combination of the two inputs this output remains at the same level (or is indifferent,
hence the name of the chart type).

Looking at indifference curves one can answer trade-off questions such as:

– If we lose a certain volume of one product, by how much shall we raise sales of
another one to keep profits stable?
– If we reduce the price of a product, how much additional volume of this product
do we need to sell to make this profit-neutral?
– What share of a country's market can we sacrifice if we increase our share in
another country's market by x %?
– Etc. etc.

The utility is available in two versions:

1) A fully-functional file but with VBA code locked


https://www.eloquens.com/tool/lkDGIlaL/finance/sensitivity-analysis-excel-
templates-and-methods/sensitivity-analysis-excel-model-with-indifference-curves

2) Same file with VBA code unlocked


https://www.eloquens.com/tool/Mqx8tkqv/finance/sensitivity-analysis-excel-
templates-and-methods/sensitivity-analysis-excel-model-with-indifference-curves-
unlocked

Page 41
Guiding Principles of Financial Modeling

Charts and Dashboards in Excel

Very few people think of Excel as being able to produce professional-quality business
charts. But this is true - Excel is an extremely powerful charting tool.

Charts is an effective means of transmitting data. Furthermore, a professionally


designed chart immediately grabs reader's attention in a client pitch, business
document or presentation.

However, one needs to be familiar with the 'tools of the trade' and to work on every
chart element to make the chart look professional. In this publication we will look at
the main techniques of designing professional business charts.

File # 1
This is an introductory part explaining the basics of creating professional charts in
Excel

Link: https://www.eloquens.com/tool/GYglcgJv/andrei-okhlopkov/charts-and-
dashboards-in-excel-short-version

File # 2
This is a full version of the file.

In addition to the above it includes six chart examples which you can use in your work
or study. They are accompanied by detailed explanations and interim chart versions.

Pictures and brief descriptions of those charts can be found in File # 1.

https://www.eloquens.com/tool/7lXgF3bA/andrei-okhlopkov/charts-and-
dashboards-in-excel-full-version

Page 42
Guiding Principles of Financial Modeling

Portfolio Analysis and Sales Forecasting

This publication includes a very practical set of tools providing a mathematical basis for
a number of real-business situations:

1) Building a full picture of past sales for the whole portfolio and by feature:

– calculating total, average, median sales and other statistics giving a full picture
of the historic sales performance
– analyzing variances between the periods and explaining deviations between
budget and actual (price, mix and volume effect)
– drawing seasonality patterns on a cycle plot

2) Making educated predictions of future sales and portfolio performance:

– How to build trends and why commonly used CAGR rarely gives reliable future
estimates. CAGR takes only two points (beginning and end of the analysed
period) and does not take into account possible fluctuations between those
points.
– How to analyze and forecast seasonalities based on monthly, quarterly or
weekly data. Explains how to "clear" the data from seasonal patterns and, in the
opposite case, to apply seasonalities to forecasted trend data
– How to measure historic volatilities and translate them into model scenarios
with a desired level of confidence. In this part we will calculate the standard
deviation for quarterly data and see how it is extrapolated to the annual basis.
– How to tie volatilities to a timeline, measure standard error and set up scenarios
based on that data. If we want to estimate volatility for e.g. exchange rates over
the year, this is not so straightforward as we need to take into account this is a
time series, not randomly scattered data.

https://www.eloquens.com/tool/dXAVfKnZ/finance/financial-modeling-courses-
tutorials/portfolio-analysis-and-sales-forecasting

Page 43

You might also like