41
A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Embed Size (px)

Citation preview

Page 1: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

A Typical Model Audit/Review Approach

Grenville Croll

EuSpRIG -European Spreadsheet Risks Interest Group, UK

October 2002

Page 2: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

High Level Review

High Level Review

Low Level Review

Low Level Review

SensitivitiesSensitivities

Comparisons run between

model versions

Comparisons run between

model versions

Preparation of queries

list - issued to client

Preparation of queries

list - issued to client

Model requires

alteration?

Model requires

alteration?

Queries responded to by

client

Queries responded to by

client

Model amende

d by client

Model amende

d by client

Report issued to

client

Report issued to

clientFamiliarisation

Yes

No

Model Audit/Review Process

Page 3: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

SES-Risk

• Software for Estimating Spreadsheet Risk

• Identifies Used Cells, Data cells, Logic Cells– Calculates formulae length– Calculates ratio of Original to Repeated cells– Determines number of cell precedents– Uses clustering to infer spatial layout– Neural Network Engine

• Outputs Risk Score (0.0 - 1.0)– Cell Error Rate– Estimated Review Time– Probability of Bottom-Line Error

Page 4: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6 Documentation

Page 5: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 1: Model Maps

Page 6: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 7: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

1.1 Model Maps

• Why do we use maps?– To ensure each original formula is checked– To help document the review– So that the review can be divided up between different people

• How we run maps– Use commercially available software– Maps all sheets in Workbook

• Map Key– L = Label– N = Number– F = Original Formula– ^, <, + = copied form above, left, above & left– M = Long complex formula

Page 8: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

1.2 Spreadsheet Map

Page 9: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

1.3 Model Maps - checking formulae

• What we look for when checking formulae– All references to other cells or ranges are correct– All arguments of functions are correct (e.g. IF, INDEX, MATCH, OFFSET,

VLOOKUP, HLOOKUP, SUMIF) – ROUND functions for appropriate accuracy– Review #REF, #ERR etc to establish cause– Check any inconsistent formulae identified from maps– Embedded constants– Reperform array & data table calculations– Consistent units eg currency, weights, measures, dimensions– Calculation produces something sensible– Result has the correct sign (i.e. + or -, CR or DR)

Page 10: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

1.4 Model Maps

• How we check the formulae– Tick off each original checked formula (F) on the map– Mark queried formulae with a Q

• Painstaking but essential

• Independent peer review– academically verified method of detecting & correcting errors

Page 11: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 2: Code Review

Page 12: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 13: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

2. Code Review

• Ways we review code (VBA & Macros)– Print out and look through– Step through– Run complete procedure– Hit Buttons

• Things we look for– Does the code do what it is intended to do?– Is there anything that would make it break?

• Eg macro contains absolute cell addresses

• How we document code review– Print out and annotate along with queries

Page 14: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 3: Range Names

Page 15: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 16: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

3. Range Names

• Why do we need to do a range name review?– Names in formulae– Names in macros– Redundant names

• How do we do it?– Software tools reports all range names– Check that each range is complete and appropriate

Page 17: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 4: Queries

Page 18: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 19: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Queries

• Query document– Each query is numbered uniquely– Records each query & response from the client– Reference Resource

• useful if queries from different reviewers/clients

• Six Different query types– AE, PE, C, N, I, BP

• Before query document gets sent to the client– Reviewed for duplicates– Edited so it is clear and concise

Page 20: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Queries - Basic types of query

• Actual Error– All actual errors, including Excel errors e.g. #N/A or #Div/0!

• Potential Error– If the value of a precedent changed, would the result be wrong?

• Clarification– Request for clarification of a point

• Numbers– Constants in formula: require confirmation and/or explanation

• Information– Items of interest to the modeller, but do not affect output

• Best Practice– Consider time constraints, materiality etc

Page 21: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Responses

• All responses reviewed and documented

• Check that changes have been made in new version

• Mark query as resolved or unresolved

• Carry forward unresolved to next query list

• Check that no queries have been missed

Page 22: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 5: High Level Review

Page 23: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 24: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

High Level Review

• Why do we do it?– Check big picture items that may be missed by low level review– Consistency with Documentation– Accounting issues

• What does it include?– Circular references– Interest calculations– Tax calculations– Balance Sheet/P&L/Cashflow integrity– Payment of Dividends

• What can it include?– Input to the commercial nature of the model

Page 25: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

High Level Review

• Some High Level Checks– The Balance Sheet balances– Retained Earnings flow from P&L to BS– Capex causes cash outflow– Fixed Assets don’t depreciate below zero– Increase in Credit Sales impacts Trade Debtors– Is effective tax rate reasonable?– Is Interest calculated on prior period ending balance?– Do Revenues & Costs reflect production?– Is debt amortised correctly?– Are foreign currency losses handled appropriately?– Are financial statements in the correct format?

Page 26: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 6: Documentation

Page 27: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 28: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Project Documentation

• What do we do?– Check the project documentation against the model– Review term sheets, agreements, contracts, model specifications– Review work of associated industry experts– Interface with other external teams– Add items to query list as identified

• Our Documentation– Mark maps as for formulae checks– Note from which data source the numbers have been obtained– For each source, note where in the model the data is located

• Changes in project documentation cause re-review

Page 29: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 7: Comparisons

Page 30: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 31: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 8: Sensitivities

Page 32: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 33: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Sensitivities

• A model review cannot deal with every possible input– billions of data permutations & combinations

• Comfort required on certain sensitivities– All compared against Base Case– Delayed start– high/low revenue– high/low cost of finance– high/low capex & opex– otherwise as specified by client

• Each sensitivity methodically reviewed & documented

• Changes in base case model cause re-run of sensitivities

Page 34: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 9: Final Review

Page 35: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 36: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Final Review

• Clear any outstanding queries

• Final high level sense check

• Final documentation & sensitivity check

• Client made clearly aware of any outstanding queries

• Resolved if possible

• Document Resolutions

• Unresolved queries appear in final report

Page 37: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Step 10: Report

Page 38: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Model Review framework

2Code Review

1Model Maps

4Queries

3Range Names

5High LevelReview

10Report

9Final Review

8Sensitivities

7Comparisons

6Documentation

Page 39: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Report

• By standard letter

• Lists exact versions of models & files

• Models identified by filename, date, time & size in bytes

• Reports performance of agreed-upon-procedures

• Reports any unresolved queries

Page 40: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Financial Modelling by Grenville Croll

• Model Review

• Model Build– Financial– Marketing– PFI– Production

• Training– Building Better Business Spreadsheets

• Technologies– MS Excel– Monte Carlo (Crystal Ball/@Risk)

Page 41: A Typical Model Audit/Review Approach Grenville Croll EuSpRIG -European Spreadsheet Risks Interest Group, UK October 2002

Grenville Croll - contact details

www.grenvillecroll.com