0% found this document useful (0 votes)
2 views22 pages

Financial Modelling Code

The ICAEW Financial Modelling Code provides a set of principles for creating robust financial models that enhance decision-making in businesses. It emphasizes the importance of clear layout, user interface, consistency, and error reduction to ensure models are understandable and maintainable. This guidance serves as a framework for finance professionals to establish best practices in financial modelling, promoting flexibility while adhering to high standards.

Uploaded by

nanaidriss9301
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views22 pages

Financial Modelling Code

The ICAEW Financial Modelling Code provides a set of principles for creating robust financial models that enhance decision-making in businesses. It emphasizes the importance of clear layout, user interface, consistency, and error reduction to ensure models are understandable and maintainable. This guidance serves as a framework for finance professionals to establish best practices in financial modelling, promoting flexibility while adhering to high standards.

Uploaded by

nanaidriss9301
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 22

FINANCIAL

MODELLING CODE
A set of principles for
robust financial modelling

ICAEW THOUGHT LEADERSHIP


ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

CONTENTS

FOREWORD  1
INTRODUCTION2
MODEL DEFINITION AND PURPOSE  3
Understand the scope of a financial model  3
Determine the goals of your model  3
L AYOUT AND STRUCTURE  4
Plan and assess the workbook layout 4
Make navigation simple  5
Make inputs easy to find  5
USER INTERFACE AND TR ANSPARENCY  6
Include user guidance  6
Avoid duplication  6
Identify and separate forecast or dummy data  7
Don’t hide things  7
CONSISTENCY8
Use consistent formulas  8
ACKNOWLEDGEMENTS
Use consistent placement  9
CL ARIT Y10 Stephen Aldridge – Numeritas
Levi Bailey – White Box Financial
Use clear formatting  10 Rob Bayliss – Grant Thornton
Use clear and meaningful labels  11 Tom Brichieri-Colombi – Mazars
David Colver – Operis
Use clear units  11 Roland Brook – Smith & Williamson
Use a clear sign convention  12 Alexander Carse – John Laing
Use easily understandable worksheet names  12 Mike Copeman – Wolters Kluwer
Daniel Emkes – Harrow School
Use clear range names where appropriate  13 Glen Feechan – needaspreadsheet.com
Document VBA code clearly 13 Joanna Hayes – Amberside Advisors
Simon Hurst – The Knowledge Base
ERROR REDUCTION  14 Michael Hutchens, Modano
Review and test your models  14 Alistair Hynd – RSM
Include checks  14 Adam Lacey – Filtered
Simon Livings – KPMG
Include a master check  15 Adrian Maconick – Finsbury Solutions
Consider including restrictions  15 Sanjay Magecha – Financial Visibility
Patrick O’Beirne – Systems Modelling
CALCUL ATION TECHNIQUES  16 John Tennent – Corporate Edge
Minimise calculation complexity  16 Irfan Umarji – The Royal Society
Build traceable references  16 Paul Wakefield – Paul Wakefield
John Yeldham, Mazars
Avoid hardcoding  17
Avoid circular references  18
For a full list of supporting organisations,
Avoid unnecessary rounding  18 please visit our Financial modelling code
Use VBA and macros sparingly  19 webpage.

© ICAEW 2024.

All rights reserved. If you want to reproduce or redistribute any of the material in this publication, you should
first get ICAEW’s permission in writing. ICAEW will not be liable for any reliance you place on the information
in this publication. You should seek independent advice.

Trademark acknowledgements: Excel is a registered trademark of Microsoft Inc.

2
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

FOREWORD
Financial modelling is carried out by many chartered accountants
and other professionals and drives decision-making throughout
the business world. Models to analyse simple data, forecast
outcomes, and inform complex strategic choices can be found in
businesses of every size and industry.

There are various courses, standards and guides available that


explain how to build models, each with their ideas about what the
appearance, layout and functionality of a model should be. While
there is much consensus among these methodologies, for both
procurers and practitioners there is no universally accepted set of
agreed principles for how to carry out financial modelling. Most
existing methodologies were developed with particular sectors or
practices in mind; hence, they are frequently detail-oriented and
not accepted very widely.

To address this, ICAEW has created this Financial modelling code


to provide essential guidance to standard-setters, procurers and
modellers on good practice. The guidance is principles-based,
high-level and broadly accepted to encourage flexibility while
maintaining best practice. It was formed from a review of seven
methodologies and input from over a dozen financial modelling
organisations.

I commend the work of our Excel Community’s advisory group in


creating this guidance and recommend it to anyone involved in
the production or use of financial models.

Alan Vallance,
Chief Executive of ICAEW

1
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

INTRODUCTION

Spreadsheet financial models are ubiquitous in the business world, and decisions of all sizes are made
on the basis of their results. However, many spreadsheet users are self-taught or have picked up bad
habits along the way. Improper practice, such as a lack of review and oversight, impacts the world
economy; thus, we have created this guidance to support best practice in the sector. Following good
practice should result in a model that is robust, understandable and less likely to contain errors.
Building on our earlier guide, the Twenty principles for good spreadsheet practice, this Financial
modelling code sets out our guidance on what we see as the universal tenets of best practice in the field.
In preparing this Code, we compared and analysed seven organisations’ modelling standards or
methodologies, and took input from over a dozen modelling and professional services organisations.
This document describes the principles that underpin successful financial modelling and which were
agreed upon after much discussion and debate.
A list of contributors to the Code can be found at icaew.com/financialmodelling.
The Code is not intended to be a tick-box compliance tool; rather it is a framework for anyone looking to
set an organisational standard for how modelling is done. It can be used to inform a conversation about
financial modelling and the decisions made in designing a model. Any finance professional looking
to do their own modelling or any business looking to procure financial modelling support can use the
Code to steer their efforts.
This Code should be read in conjunction with the Excel Community’s Twenty principles for good
spreadsheet practice (see box below). Specific cross-references to the Principles are identified where
appropriate. The Code also complements the Excel Community’s other thought leadership publications:
• the Spreadsheet competency framework, to assist in getting the right person with the right skills in
the right role; and
• the How to review a spreadsheet guide, to help reduce spreadsheet risk and increase confidence
in decision-making.

Each section of the Code addresses a particular element of constructing a model and explains its goals.
First, we consider the function of the model as a whole, and the importance of designing its layout to
optimise the user experience. Next, we highlight the critical nature of consistency and clarity, before
discussing some more specific elements of model construction.
No one way of building a model is right for every situation. Thus, a variety of techniques are presented
in each section. Approaches that differ from those listed may be preferable in different contexts. This is
deliberate and the reader should be aware that these alternatives may not always be mutually compatible.
In each section we present specific recommendations ( ), which include several options, representing
generally suitable and widely adopted approaches. We also provide some examples of discouraged
approaches ( ), which should be avoided unless a strong case can be made for a specific circumstance.
With these principles, as with anything else, a degree of common sense should be applied. If a
recommended approach is followed to the extreme, it can create a negative outcome. ICAEW’s
Corporate Finance Faculty has also produced a longer and more detailed publication, entitled
Best Practice Guideline: Financial Modelling, which conforms to this Code and explains how to
carry out financial modelling in a corporate finance transaction context.

TWENTY PRINCIPLES FOR GOOD SPREADSHEET PRACTICE


The guidance in this document is based on ICAEW’s Twenty principles for good spreadsheet
practice. The principles are a high-level set of guidance for achieving good practice in any
spreadsheet environment.
Please refer to icaew.com/excel20principles for more details.

2
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

MODEL DEFINITION AND PURPOSE

In this section we define the model as referred to in this Code, and outline the essential aims
and key features of a good model.

UNDERSTAND THE SCOPE OF A FINANCIAL MODEL PRINCIPLE #4

Determine if a
Definition Financial model
spreadsheet is a
A time-based set of financial calculations within a spreadsheet workbook which aims to
suitable tool.
create a financial forecast based on one or more input set of variables.

To ensure that the model will meet the user’s needs, it is imperative that the user first
understands the nature of a financial model. Although this guidance applies to financial
models built in spreadsheet packages such as Microsoft Excel, many of its lessons are
appropriate for other kinds of spreadsheets, or models built in other software.

Identify if a spreadsheet is the right solution, or if another medium


should be used.

DETERMINE THE GOALS OF YOUR MODEL PRINCIPLE #5

All models should have a clear purpose and defined output. It should be evident to all users
Focus on the purposes
what can and cannot be derived from its use. The model should also remain serviceable
of the spreadsheet.
indefinitely as it may need to be updated by multiple users over an extended period of time.

Gaining insight into the range of possible outcomes also makes it possible to ascertain the
risk and potential of the financial forecast. The aim of the builder should be to provide ‘an
PRINCIPLE #8
engine’ through which alternative scenarios and sensitivities can be passed.

Design with
adaptability in mind
Design the model carefully before constructing it, taking into consideration the
to minimise future
various possible outcomes.
manual intervention.
Build flexibly in a single spreadsheet to enable efficient development and
evaluation, and to avoid version control risks presented by multiple workbooks.

Ensure the model’s longevity.


For example, choose a structure and formulas that would allow the user to extend
the review period simply by copy-pasting.

3
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

LAYOUT AND STRUCTURE

The way a model is laid out directly affects how easy it is to comprehend, and how likely the
user is to use it correctly and efficiently. Good structure can save users time in understanding
the model, freeing them to spend more time on the decisions the model is built to support.

PLAN AND ASSESS THE WORKBOOK LAYOUT PRINCIPLE #9

Models should be laid out in such a way that users can understand the flow of logic, and
Structure workbooks
modify it as appropriate. Specifically, models should consist of clear and logical sections
with a clear flow of
arranged in an orderly fashion, and should be structured so users can easily find the
inputs, processes,
components that are relevant to them. Logic should also flow consistently from inputs to
and outputs.
calculations to outputs. This consistency will help users understand the logic flows of
similar items.

Choose a structure that is appropriate for the circumstances.


For example, a model could either contain a single input worksheet, or multiple
worksheets if it were deemed necessary to split between time-based and non-
time-based inputs.

Segregate inputs (assumptions), calculations and outputs (results), either by using


separate worksheets, or demarcated sections on the same worksheet.

Use caution when mixing inputs with outputs, as this can inhibit understanding of
the model’s conclusions.

Split calculations into functional sections.


For example, use separate calculation worksheets such as timing, construction,
operations, financing and tax.

Include one or more dashboards summarising important outputs that answer the
questions the model was built for.
Dashboards, if used, may include key inputs; although this contradicts the
generally advocated practice of keeping inputs together, it is acceptable if the
input is very clearly identified.

Use identically structured worksheets for each business unit, and highlight any
required differences for the user.

Set up your model to read like a book: with logic flowing from top to bottom
within each worksheet, and from left to right both within each worksheet and
across sheets within a workbook.

Display time periods horizontally.

If a model must be spread across multiple workbooks, make it clear and obvious
which values are linked to and from other workbooks.
For example, host all such links in a ‘landing page’ contained in the model.

Avoid referencing cells in one workbook from another (this includes any
reference, including formulas, defined names and charts).

4
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

MAKE NAVIGATION SIMPLE

Users should be able to navigate easily around a model. Good workbook layout can support
navigation.

Include an intuitive directory and navigation system, including such elements as a


table of contents, a diagram of the model’s logic flow and clickable hyperlinks.

Use frozen panes to help orient the user and keep key labelling in view.

MAKE INPUTS EASY TO FIND

Users should be able to find and manipulate inputs in the model with minimal effort.
The model should also prevent incompatible assumptions from being entered inadvertently
where inputs are related to one another. For example, if an allocation table should sum
to 100%, the final number in the allocation should be computed from the sum of other
allocations. While many of the following recommendations suggest segregated input
worksheets or sections, these are not necessarily composed exclusively of inputs – a common
example is a dashboard worksheet, which may both contain inputs and present results.

Place each item in the section where it intuitively belongs.


For example, group together all inputs relating to a loan.

Distinguish input cells from other cell types using a defined cell fill colour and/or a
cell border, not just a defined font colour.

Put all inputs on designated input worksheets.

Create labelled sections for inputs.

Don’t identify input cells solely by text-based tag or label.

5
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

USER INTERFACE AND TRANSPARENCY

A model is not a static object, but one which the end user will interact with and manipulate.
Creating a model that is easy to use and understand is not simple, but can be done with
appropriate care and attention.

INCLUDE USER GUIDANCE PRINCIPLE #7


Although models should be built to require minimal external explanation, appropriate
Make the spreadsheet
guidance to help facilitate understanding and proper use should be included. This should
easy to use, providing
also include any key assumptions made in calculations (eg, ‘all cash flows occur at the end
supporting guidance
of the appropriate period’).
where helpful.

Include in the model a worksheet dedicated to being a user guide.

Embed a separate user guide document in the workbook.

Add contextual user guidance throughout the model where appropriate.

Don’t store documentation in a separate file or email that may become separated
from the model itself.

AVOID DUPLICATION PRINCIPLE #15

Creating multiple input locations can lead to a user mistakenly not updating the input
Refer to existing
everywhere it is required. Likewise, if a calculation has been performed once already, then
calculated results instead
referring to the original calculation cell instead of recalculating reduces complexity and the
of reperforming the
possibility of error.
calculation.

Create a unique location for each input value, and structure all calculations that
need the value to refer to that single input location, either directly or through an
appropriate sequence of references.

6
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

IDENTIFY AND SEPARATE FORECAST OR DUMMY DATA

Models are frequently built to operate on a ‘rolling basis’, with forecast or budget numbers
steadily replaced by actuals. If this is done haphazardly, forecast numbers can easily be left in
place by accident. Similarly, models are sometimes built with made-up dummy data to help
test calculations before the actual data is available. Accidentally leaving fictitious data in the
final model can cause serious errors.

Create separate entry areas for forecast and actual numbers, with formulas that
select which data is currently in use.

Identify dummy data clearly with formatting or labelling.

Don’t overwrite forecast data with actuals on a rolling basis.

DON’T HIDE THINGS

All aspects of a model should be visible and easily accessible. Hidden rows are easily missed,
can be confusing and are easy to change or delete inadvertently. An exception to this rule is
the hiding of empty columns to the right and below the used range, which can be done to aid
workbook navigation.

Group and collapse rows and columns that the user may wish to exclude to aid
readability.

Don’t hide intermediate calculations or areas of technical or supporting detail.

Don’t hide items using white text colour or a non-displaying text format.

Don’t use hidden worksheets.

7
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

CONSISTENCY

Financial models are frequently complicated. Ensuring consistency can reduce complexity
by tying sections of the model together into chunks, which makes the end user experience
smoother. Components that perform similar tasks should be as similar as possible. This
applies at all levels, including but not limited to formula selection, sets of calculations, and
input and output sections.

USE CONSISTENT FORMULAS PRINCIPLE #12

Keep formulas consistent


Definition Cell anchoring across ranges.
Creating formulas with references that do not move when copied and pasted to other
cells. Accomplished with $ markers and/or named ranges in most spreadsheet packages.

Keeping adjacent formulas identical makes it easier to review a model, and reduces the
chance that an error will occur through copy-pasting over an inconsistent formula. This
simplifies the review process as each block of formulas only needs to be inspected once.

Make formulas strictly consistent across formula blocks, so the formula can be
copied and pasted across the block.

Use cell anchoring to create any variations that may be required.

Wherever possible, keep formulas consistent across any secondary dimensions,


such as groups of products and timelines.
Very occasionally the first cell in a timeline may be different, but only where strict
consistency would reduce clarity, and when clearly marked.

Make any inconsistent formulas, if used for a good reason, immediately apparent
to anyone looking at the area (eg, by using prominent formatting or notes).

8
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

USE CONSISTENT PLACEMENT PRINCIPLE #11

If multiple timelines exist in a model it must be clear which timeline relates to each value
Structure worksheets
in a model. A single column should only contain values relating to a given time period
to avoid inconsistent
and be used consistently to represent that time period across any relevant worksheets
logic and layout.
sharing that timeline.

Include only one timeline on each worksheet.

Display the primary timeline in a frozen pane, and place any secondary or tertiary
timelines near each of the values to which they relate so they can be viewed
together without scrolling.

Present any distinction clearly when multiple timelines are included in one axis
(eg, a change of periodicity from monthly periods to semi-annual periods), and
keep formulas consistent along that axis.

Ensure that secondary dimensions in core model sections appear in a consistent


order and level of detail.
For example, if the model individually considers a number of business units,
order them consistently and fix their definitions.

Don’t create timelines at different levels of detail on each worksheet, or ones that
do not line up across worksheets.

Don’t use ‘variegated’ timelines in the calculation worksheets, where the timeline
series calculations are interrupted by periodic subtotals.

9
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

CLARITY

Financial models must communicate complex financial information to its user. Prioritising
clarity can help avoid confusion and keep the model as unambiguous as possible.

USE CLEAR FORMATTING

Formatting should be clear and consistent. It should be easy to understand the purpose of
each value in a model. Appropriate number formats help the user separate different kinds of
data from one another.

Similarly, rounding values in the model for presentation keeps the data neat and easy to read.
The most common mistake in this area is to show too many decimal places, which can both
distract users from more important information and overstate the level of precision achieved.

It is sometimes reasonable to compromise on formatting for technical reasons. For instance,


significant amounts of conditional formatting can cause performance issues, and so should
generally be used sparingly.

Formatting for formatting’s sake is unnecessary and formats do not automatically


communicate their meanings to the user. When formatting carries a meaning that a user must
understand to use the model safely, this meaning must be explained clearly in an obvious
location within the model.

Use Excel Styles to apply consistent formatting.

Use meaningful number formats.


For example, values that represent dates should appear visually as dates, and
percentages as percentages.

Ensure that the number of significant figures displayed is appropriate to the


calculation being performed.

Use conditional formatting to highlight anomalies and values of interest.

Apply conditional formatting in modest quantities and use simple conditional


formatting rules.
For example, when a worksheet is used as a data storage table, it may be
sensible to minimise formatting within the table to reduce the file size

Include a formatting key in the model to explain the meaning of styles and/
or formats.

Don’t add formats ad hoc as the model is worked on.

Don’t leave all cells in the Excel default format.

10
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

USE CLEAR AND MEANINGFUL LABELS

Labels are essential to ensure the end user’s understanding of what is presented, and should
be applied to all data, calculations and outputs.

Ensure that all data, calculations and outputs are labelled visibly, with the labels
placed nearby.

Label each row to the left in a frozen pane that remains visible as the user scrolls
around the workbook.

Use a ‘tree’ to structure multiple label layers, with subsequent columns used for
each layer.

Maintain a balance between label length and precision.

USE CLEAR UNITS

For every value in a model, it should be clear what units of measurement are employed so
the user can easily comprehend the information presented. This includes but is not limited to
currency (including whether in real or nominal terms), factors (tens, hundreds, thousands and
millions), percentage rates (including whether they are annual or matching model periods),
and other units such as tonnes, litres, etc.

Units should be precise enough to mitigate the risk of mixing scales, such as inadvertently
multiplying a price per tonne by a value measured in thousands of tonnes.

Label each value or set of values with the unit that applies to them.
For example, include units for each item in suitable places as determined by
context, such as part of the data label or in a dedicated units range.

Use a specified base unit, and label all values that use alternative units.

11
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

USE A CLEAR SIGN CONVENTION

The meaning of a positive or negative value sign for each value in a model must be made clear.

Specify and use a simple and comprehensive sign convention, and label any
inconsistencies.
For example, a model can identify assets, revenues and cash inflows as positive,
and liabilities, expenses and cash outflows as negative; or it could apply a
‘normally positive’ rule, where all inputs are positive by default.

Use the same conventions throughout the model, even in different parts.

Label each row with its convention next to the values.

Don’t use pure accounting convention (ie, positive for debits and negative
for credits).

USE EASILY UNDERSTANDABLE WORKSHEET NAMES

Many models extend over a large number of worksheets. Using simple and understandable
worksheet names will help users navigate between worksheets and understand formulas that
contain cross-sheet references.

Use clear and concise names for each worksheet, as opposed to non-descriptive
names like Sheet1, Sheet2, etc.

Use abbreviated names for each worksheet with a clear explanation in an obvious
location within the model.

Colour-code or label worksheets according to their functional purpose in the


model, or business unit.
For example, include yellow fill and/or an I_ prefix for input worksheets.

Don’t use mathematical operators in worksheet names, as these can cause issues
with formula comprehension.

12
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

USE CLEAR RANGE NAMES WHERE APPROPRIATE

Range names can be useful to define areas of data for use in calculations; however, some
model developers look to minimise the use of range names in formulas. Either approach
can be effective; however, if range names are used they should be meaningful and easy
to differentiate.

Use range names with care, and make them clear and meaningful.
For example, call a senior debt interest rate input cell SnrIntRate1, not SNR1.

Use defined names for Visual Basic for Applications (VBA) cell and range
references to avoid damaging the integrity of the code when adding or removing
cells later on.

Use consistent range names for related items.

DOCUMENT VBA CODE CLEARLY

Elsewhere in this document, we advocate using VBA and similar program code sparingly.
VBA code, when used, requires a higher level of technical knowledge to follow and
understand than general spreadsheet content. It is easy for coding to become a black box,
leaving users unable to verify or modify how the code works. Hence, it is important for all
VBA code to be well documented, and such documentation kept up-to-date.

Name VBA elements such as cell ranges, variables and functions clearly and
meaningfully to aid a reviewer’s comprehension.
For example, use ‘LoanRepayPeriod’ instead of ‘LRP’ or ‘Var1’.

Place a description of each procedure in a consistent location near the top of


each procedure.

Use in-line comments to explain and label the code directly alongside the
code itself.

Don’t use user-defined functions within the cells of the workbook.

13
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

ERROR REDUCTION

Errors are clearly undesirable in any financial model. Yet, mistakes are natural and
unavoidable. In this section we look at key ways to prevent errors or reduce their likelihood,
and to detect them when they occur.

REVIEW AND TEST YOUR MODELS PRINCIPLE #18

Models are often large and complex. Even an expert builder can make errors of logic, typos
Test and review to reduce
and so on. Hence, it is important that a model be subjected to an appropriate level of testing
the risk of error and
and review.
identify inefficiencies.

Consider carefully the possibility and impact of model errors and design, and
implement a review and testing regime consistent with the risk presented.

Create expectations as to how a model’s results should vary with changes in


inputs, apply these input changes to the model and compare the outputs with
the expectations.

Operate a system of peer review (eg, by a colleague or even a professional audit)


if the model’s impact is particularly significant.

INCLUDE CHECKS PRINCIPLE #17

Build in checks,
Definition Check controls, and alerts
A visible indicator that an input or output falls outside of expected parameters or does not from the outset.
produce the expected result.

Checks are intended to make it clear and obvious to the user when there is a failure in the
tested logic. Models can also include other checks that indicate business issues with the
model’s outputs – such as breach of covenants or making losses – but which aren’t indicative
of an error in the model’s function. Sometimes called alerts, these kinds of checks are also
beneficial and the approaches below can be applied equally to them.

Consider checks in the construction of every section of a model.

Include an equality check for each set of values that are calculated separately but
ought to be equal, such as a balance worksheet check or an alert that a required
input has been left blank.

Include a tolerance in checks to allow for very small acceptable variations, such as
Excel rounding errors.

Apply conditional formatting to checks in order to catch the user’s attention.

14
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

INCLUDE A MASTER CHECK

A master check tests whether any checks in the model are in breach and alerts the user if
any are.

Build a dedicated check summary section (this may be a standalone worksheet or


a section within a worksheet).

Display the result of the master check in the frozen pane on all worksheets so that
it is clearly visible in all areas of the model.

CONSIDER INCLUDING RESTRICTIONS PRINCIPLE #20

Manage access levels


Definition Restriction
and protection to reduce
A mechanism that controls the entry of inputs to prevent invalid or inconsistent data from
the risk of accidental or
being entered.
malicious changes.

Allowing inputs to be varied without limit might increase model flexibility, but it also increases
the potential for incorrect, internally inconsistent or unreasonable inputs to be chosen by
accident or through a misunderstanding. Placing controls on possible inputs can help a user
use the model appropriately.

Use data validation to reduce the chance of invalid data being entered, either as a
control or with dropdown menus.

Create additional checks and alert messages that warn the user if inappropriate
data has been entered.

Include contextual guidance that instructs the user about appropriate input data
alongside the location of the input.

Protect sensitive worksheets or ranges with a password.

Don’t use data validation excessively as this makes the model harder to use.

Don’t use data validation with a generic error message and no guidance as to
what data is permitted.

15
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

CALCULATION TECHNIQUES

Financial models necessarily include many formulas and other calculations. Those calculations
should, like the model itself, be error-resistant and comprehensible. This section outlines the
key principles to keep in mind when building calculations.

MINIMISE CALCULATION COMPLEXITY PRINCIPLE #13

Models are often large files and can be slow to calculate. Similarly, cells with dense
Use the simplest features,
computations are difficult to review and more likely to contain errors. Where possible,
functions, or formulas
formulas should be built to optimise file size and calculation speed, and should be simple
for the task.
to read, comprehend and review.

Complexity should be minimised appropriately to the circumstances. While hard rules are
sometimes used by modellers, (eg, ‘no more than five operands in any cell’, ‘no line breaks’
or ‘no formulas longer than your thumb’), some computations are easier to follow when these
rules are broken.

Break complex calculations into multiple stages.

Split multi-stage calculations across multiple rows.

Carry out timing and logic calculations separately from the data that they relate to,
usually using the following ‘flags’: ‘1’ / ‘0’ or ‘TRUE’/’FALSE’.

Carry out calculations that scale a value (eg, scaling a monthly figure to match a
quarterly timeline) separately from the calculation of the base value.

Don’t leave calculations set to manual as users may not realise that outputs are
not live.

BUILD TRACEABLE REFERENCES

References should be included in a way that helps users understand formula logic. Reviewing
a formula is considerably easier when the inputs to the formula can be inspected without
moving away from the formula cell itself. It is generally preferable for each occurrence to refer
directly to the ultimate precedent.

Reference nearby cells (ie, cells close to those containing the formulas) so that it
is possible to see the formula, the result and the referenced cells on one screen at
the same time.

Use single-step references that create local references (‘call ups’ or ‘imports’)
within a given worksheet for other formulas that perform calculations on that
worksheet.
This makes references in the calculating formulas easier to read, and makes it
unnecessary to provide worksheet qualifiers (such as ‘Sheet1’).

16
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

Don’t create unnecessary chains of references, such as those that flow through
multiple locations without any calculations performed.

Don’t include cross-sheet references within calculations.

Don’t use array formulas.

Carry out calculations that scale a value (eg, scaling a monthly figure to match a
quarterly timeline) separately from the calculation of the base value.

AVOID HARDCODING PRINCIPLE #14

Avoid using fixed values


Definition Hardcoding
within formulas.
Fixed values embedded into a formula, such as a tax rate entered as 20% within a formula.

The use of hardcoding in formulas depends on context and requires judgement. It can be
acceptable in low-risk cases such as the number of months in a year or hours in a day (eg,
using a hardcoded 24 to convert between hours and days). However, hardcoding should
never be used for values that could foreseeably change during the life of the model (eg, using
24 to increment a staff count). It should also be avoided for values whose meaning would not
be completely clear to the most basic user of the model without a label. For example, while
the conversion factor between feet and metres will always be 3.28084, if this value is not
separated and labelled, its purpose would not be immediately obvious to a model user.

Include as inputs all values that could possibly change in the lifetime of
the model.

Include a worksheet containing defined values for unalterable constants whose


meaning would not be immediately obvious in a formula, such as scaling
between units.

Carry out calculations that scale a value (eg, scaling a monthly figure to match a
quarterly timeline) separately from the calculation of the base value.

Don’t include the fixed values used in formulas as inputs.


For example, using separate, defined inputs for the values 1 and 0 can make
models less transparent in formulas where their use and meaning would
otherwise be obvious (eg, as indicators of TRUE and FALSE in an IF test).

Don’t hardcode constants into formulas.

17
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

AVOID CIRCULAR REFERENCES

Definition Circular references


A formula that uses its own result as an input.

Unintentional circular references are usually a sign of an incorrectly made formula, and
spreadsheet packages will warn the user if one is made. Making use of intentional circularity
turns off these warnings, and can lead to errors going unnoticed. Circular calculations are also
opaque to review and often unnecessary.

Disable the ‘Enable iterative calculations’ setting.

Resolve circularities with logic (eg, algebraically).

Make simplifying assumptions to avoid circular logic.

Manage any cases requiring self-reference with Goal Seek or a copy-paste macro,
and include clear signposting that current values may not be live, such as with a
check or alert message.

AVOID UNNECESSARY ROUNDING

Excessive rounding during calculations can compromise accuracy unnecessarily. For most
calculated amounts, rounding is often unnecessary or misleading.

Leave figures in calculations unrounded, and only round final outputs,


documenting where rounding has taken place.

Round numbers only through presentation.


For example, choose a format that shows only two decimal places.

Don’t make ‘balancing’ calculations to ensure that lists of unrounded figures reach
a desired target.

Don’t use the ‘Precision as displayed’ setting to round figures automatically to


match their formatted presentation.

18
ICAEW THOUGHT LEADERSHIP FINANCIAL MODELLING CODE

USE VBA AND MACROS SPARINGLY

VBA and equivalent programming code in packages other than Excel are powerful but largely
opaque tools. VBA should be seen as a weapon of last resort in designing a financial model.

It may be sensible to use VBA within the logic flow in exceptional circumstances, such as when
a calculation cannot be done otherwise, a significant time reduction can be achieved or using
VBA makes the logic clearer. VBA may also reasonably be used to automate specific repetitive
model tasks such as printing all worksheets of a large workbook, or testing different scenarios
through a formula-driven model.

Use native Excel functionality, not VBA, to perform all calculations that
affect results.

19
Chartered accountants
ICAEW THOUGHT are talented, ethical and
LEADERSHIP FINANCIAL MODELLING CODE
committed professionals. ICAEW represents
more than 208,000 members and students
around the world. 99 of the top 100 global brands
employ ICAEW Chartered Accountants.*

Founded in 1880, ICAEW has a long history of


serving the public interest and we continue to
work with governments, regulators and business
leaders globally. And, as a world-leading
improvement regulator, we supervise and monitor
around 11,500 firms, holding them, and all ICAEW
members and students, to the highest standards
of professional competency and conduct.

We promote inclusivity, diversity and fairness


and we give talented professionals the skills and
values they need to build resilient businesses,
economies and societies, while ensuring our
planet’s resources are managed sustainably.

ICAEW is the first major professional body to be


carbon neutral, demonstrating our commitment
to tackle climate change and supporting
UN Sustainable Development Goal 13.

ICAEW is a founding member of Chartered Accountants


Worldwide (CAW), a global family that connects over
1.8m chartered accountants and students in more than
190 countries. Together, we support, develop and
promote the role of chartered accountants as trusted
business leaders, difference makers and advisers.

We believe that chartered accountancy can be a


force for positive change. By sharing our insight,
expertise and understanding we can help to create
sustainable economies and a better future for all.

charteredaccountantsworldwide.com
globalaccountingalliance.com

ICAEW
Chartered Accountants’ Hall
Moorgate Place
London
EC2R 6EA UK

T +44 (0)20 7920 8100


E excel@icaew.com
icaew.com/excel

Instagram.com/icaew
ICAEW Excel Community LinkedIn Group

* includes parent companies. Source: ICAEW member data Feb-


ruary 2024, Interbrand, Best Global Brands 2023
ICAEW is
© ICAEW 2024 08/24 carbon neutral

20

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy