46
Advanced Dynamic Financial Modeling Carl Seidman Seidman Financial CPA/CFF, CIRA, CFE, CGMA, AM

Advanced Dynamic Financial Modeling

  • Upload
    others

  • View
    16

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Advanced Dynamic Financial Modeling

Advanced Dynamic Financial Modeling

Carl Seidman

Seidman Financial

CPA/CFF, CIRA, CFE, CGMA, AM

Page 2: Advanced Dynamic Financial Modeling

How does this resonate with you?

Page 3: Advanced Dynamic Financial Modeling

Why Many Financial Models Fail

Today’s Model Requirements The Model ‘Evolution’

▪ Specific objectives and usage

▪ Limited maintenance

▪ Contained data

▪ Limited time periods

▪ Generally requires:

o Less-frequent updates

o Less flexibility

o Fewer dynamics

▪ Broad scope and use

▪ Ongoing maintenance

▪ Growing data sets

▪ Evolving time periods

▪ Generally requires:

o More-frequent updates

o More flexibility

o Greater dynamics

Page 4: Advanced Dynamic Financial Modeling

Excel is an extremely

flexible tool however…

Intentional

Scale

Incorporates

New

Data Easily

Manual

Involvement

Seamless

Agile

Updates

Intentional

Scale

Incorporates

New

Data Easily

Seamless

Agile

Updates

Manual

Involvement

Dynamic Modeling

Building robust yet flexible

models that:

✓ Scales intentionally

✓ Seamlessly agile updates

✓ Incorporates new data easily

✓ Minimizes manual

involvement

Page 5: Advanced Dynamic Financial Modeling

Excel is an extremely

flexible tool however…

Intentional

Scale

Incorporates

New

Data Easily

Manual

Involvement

Seamless

Agile

Updates

Intentional

Scale

Incorporates

New

Data Easily

Seamless

Agile

Updates

Manual

Involvement

Dynamic Modeling

Building robust yet flexible

models that can

✓ Scales intentionally

Page 6: Advanced Dynamic Financial Modeling

Excel is an extremely

flexible tool however…

Intentional

Scale

Incorporates

New

Data Easily

Manual

Involvement

Seamless

Agile

Updates

Intentional

Scale

Incorporates

New

Data Easily

Seamless

Agile

Updates

Manual

Involvement

Dynamic Modeling

Building robust yet flexible

models that:

✓ Scales intentionally

✓ Seamlessly agile updates

Page 7: Advanced Dynamic Financial Modeling

Excel is an extremely

flexible tool however…

Intentional

Scale

Incorporates

New

Data Easily

Manual

Involvement

Seamless

Agile

Updates

Intentional

Scale

Incorporates

New

Data Easily

Seamless

Agile

Updates

Manual

Involvement

Dynamic Modeling

Building robust yet flexible

models that:

✓ Scales intentionally

✓ Seamlessly agile updates

✓ Incorporates new data easily

Page 8: Advanced Dynamic Financial Modeling

Excel is an extremely

flexible tool however…

Intentional

Scale

Incorporates

New

Data Easily

Manual

Involvement

Seamless

Agile

Updates

Intentional

Scale

Incorporates

New

Data Easily

Seamless

Agile

Updates

Manual

Involvement

Dynamic Modeling

Building robust yet flexible

models that:

✓ Scales intentionally

✓ Seamlessly agile updates

✓ Incorporates new data easily

✓ Minimizes manual

involvement

Page 9: Advanced Dynamic Financial Modeling

The objective of financial

modeling isn’t building a model

The objective is to provide

end-users great intelligence

So they can make better decisions

Page 10: Advanced Dynamic Financial Modeling

How might the

model need to

change?

What new data is

likely to enter

the model?

What degree of

dynamics/flexibility

is necessary?

How might the

data need to be

presented?(or is too much)?

Page 11: Advanced Dynamic Financial Modeling

ExcelSaaS

Platform

How Dynamic Functionality Differs

Page 12: Advanced Dynamic Financial Modeling

▪ OFFSET(

▪ INDIRECT(

▪ INDEX( + MATCH(

▪ SEQUENCE(

▪ UNIQUE(

▪ FILTER(

▪ SORT(

▪ SORTBY(

▪ RANDARRAY(

▪ DYNAMIC (#) ARRAYS

▪ Dynamic Tables

▪ Dynamic References

▪ Dynamic Ranges

▪ Dynamic Arrays

Excel Dynamic Functionality

Page 13: Advanced Dynamic Financial Modeling

DYNAMIC TABLES

Allows for the dynamic referencing

of expanding and contracting data sets

without requiring a formula update

Page 14: Advanced Dynamic Financial Modeling

Dynamic

Tables

✓ Scales intentionally

✓ Seamlessly agile

updates

✓ Incorporates new

data easily

✓ Minimizes manual

involvement

Page 15: Advanced Dynamic Financial Modeling

Dynamic

Tables✓ Tables can be named

and referenced

✓ Entire data sets and

columns can be

referenced by a

single formula

✓ Formulas reference

dynamic ranges

Page 16: Advanced Dynamic Financial Modeling

OFFSET FUNCTION

Allows for the dynamic referencing

of expanding and contracting data sets

without requiring a formula updates

Why You Should Use It:

Page 17: Advanced Dynamic Financial Modeling

OFFSET FUNCTION

OFFSET(reference, rows, cols, [height], [width])

Reference: The reference from

which you want to base the offset.

Rows: The number of rows, up or

down, that you want the upper-left

cell to refer to.

Cols: The number of columns, to the

left or right, that you want the upper-

left cell of the result to refer to.

Source: Microsoft

Height: The height, in number of rows,

that you want the returned reference to

be. Height must be a positive number.

Width: The width, in number of

columns, that you want the returned

reference to be. Width must be a

positive number.

Microsoft is incorrect!

It can ALSO be negative

Page 18: Advanced Dynamic Financial Modeling

OFFSET FUNCTION

Page 19: Advanced Dynamic Financial Modeling

OFFSET FUNCTIONWidth = 7

Height = 9

Make Dynamic!

Make Dynamic!

Page 20: Advanced Dynamic Financial Modeling

OFFSET FUNCTIONWidth = 7

Height = 9

=OFFSET(reference, rows, cols, [height], [width])

=OFFSET( E2 , 0 , 0 , 9 , 7 )

Page 21: Advanced Dynamic Financial Modeling

OFFSET FUNCTION

= OFFSET ( E2, 0 , 0 , 9 , 7 )

Height should expand/contract

up and down

as data added/removed

Use:

COUNT(

MIN(

MAX(

ISNUM(

ISBLANK(

MATCH(

to determine the size and shape

of the data set

Page 22: Advanced Dynamic Financial Modeling

OFFSET FUNCTION

= OFFSET ( E2, 0 , 0 , 9 , 7 )

Width should expand/contract

left and right

as data added/removed

Page 23: Advanced Dynamic Financial Modeling

OFFSET FUNCTION

= OFFSET ( E2, 0 , 0 , 9 , 7 )

This formula should be named

(Ex: DYNAMIC_VEHICLE_DATA)

And can be dynamically referenced EVERYWHERE in the model

Page 24: Advanced Dynamic Financial Modeling

When To Use Dynamic Tables vs. OFFSET

Dynamic Tables▪ When data is symmetrical

and complete with no skipped lines or gaps

▪ When entire columns will be referenced

▪ When data is expected to be appended at the bottom

▪ When there is no data series

OFFSET Function▪ When data is asymmetrical

and may have skipped lines and gaps

▪ When entire columns and/or rows will be referenced

▪ When data is expected to be added to the right or left

▪ When there is a data series

Page 25: Advanced Dynamic Financial Modeling

DYNAMIC INDEX RANGES

Allows for the dynamic referencing of

expanding and contracting data ranges

prompted by the user’s input

Why You Should Use Them:

Page 26: Advanced Dynamic Financial Modeling

INDEX

INDEX finds a

corresponding value in a

table or a range by

coordinate

MATCH

INDEX(array, row_index_num, col_index_num)

MATCH finds a

corresponding location

in a table or a range

MATCH(lookup_value, lookup_array, [type])

Page 27: Advanced Dynamic Financial Modeling

Dynamic INDEX MATCH Ranges

Total

Page 28: Advanced Dynamic Financial Modeling

Dynamic INDEX MATCH Ranges

Dynamic Header

Dynamic SUM

Total

Page 29: Advanced Dynamic Financial Modeling

Dynamic INDEX MATCH Ranges

="Active Scenario: "&Assumptions!$C$3

=SUM(INDEX(D12:I12,1,MATCH(M3,D4:I4,0)):INDEX(D12:I12,1,MATCH(M4,D4:I4,0)))

Total

Page 30: Advanced Dynamic Financial Modeling

INDIRECT FUNCTION

Allows for the reference of data, cells

and worksheets without requiring a

physical link

Why You Should Use It:

Page 31: Advanced Dynamic Financial Modeling

Physical Link

Returns the contents of

a cell based upon a

physical formula

INDIRECT

Returns the contents of

a cell based upon a text

string reference

INDIRECT(ref_text)

Page 32: Advanced Dynamic Financial Modeling

INDIRECT FUNCTION

Text String

Physical link

Dynamic INDIRECT

Page 33: Advanced Dynamic Financial Modeling

DYNAMIC ARRAYS

Allows for various expansion of arrays

and spills of dynamic data and ranges

Why You Should Use Them:

Page 34: Advanced Dynamic Financial Modeling

Introduced in Summer 2020

✓ Returns arrays (or ranges) of

results rather than a single

result

✓ Accomplishes tasks that once

required extremely complex

or nuanced formulas

ExamplesDynamic Arrays

SEQUENCE: Generates a sequence of

numbers in a range of rows and/or columns

UNIQUE: extracts unique items from a range

of cells/table

FILTER: Filters a range of cells/table based

on input criteria

SORT: Sorts a list by a specified other

column in that list

SORTBY: Sorts a list by a second list

RANDARRAY: Generates a range of random

numbers in an array

Page 35: Advanced Dynamic Financial Modeling

Dynamic Arrays

Can we build formulas that allow this model to expand and

update automatically with minimal manual involvement?

Page 36: Advanced Dynamic Financial Modeling

SEQUENCE FUNCTION

Rows: the number of rows to return

Columns: the number of columns to return

Start: the first number in the sequence

Step: the amount to increment each subsequent

value in the sequence

SEQUENCE ( rows , [columns] , [start] , [step] )

Page 37: Advanced Dynamic Financial Modeling

SEQUENCE FUNCTION

SEQUENCE ( rows , [columns] , [start] , [step] )

Page 38: Advanced Dynamic Financial Modeling

Dynamic (#) Arrays

Formulas with a hash (#) mark allow for expansion of an

array driven by a precedent array

Page 39: Advanced Dynamic Financial Modeling

One Final Thought

Page 40: Advanced Dynamic Financial Modeling

Doesn’t dynamic functionality

increase complexity for end-users?

Page 41: Advanced Dynamic Financial Modeling
Page 42: Advanced Dynamic Financial Modeling

Remember: The objective of financial

modeling isn’t building a model

It’s about providing end-users

good information

So they can make better decisions

Page 43: Advanced Dynamic Financial Modeling

Don’t avoid great functionality

because it’s novel for end-users

Page 44: Advanced Dynamic Financial Modeling

Don’t make models so complex

that they lose the end-users

Page 45: Advanced Dynamic Financial Modeling

Intentionally

Scale

Incorporate

New

Data Easily

Minimize

Manual

Involvement

Update

Seamlessly

DO develop your

model-builders and end-users to:

Page 46: Advanced Dynamic Financial Modeling

Contact and Support

Carl Seidman

[email protected]

www.seidmanfinancial.com