Advanced Dynamic Financial Modeling
Transcript of Advanced Dynamic Financial Modeling
![Page 1: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/1.jpg)
Advanced Dynamic Financial Modeling
Carl Seidman
Seidman Financial
CPA/CFF, CIRA, CFE, CGMA, AM
![Page 2: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/2.jpg)
How does this resonate with you?
![Page 3: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/3.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/4.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/5.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/6.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/7.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/8.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/9.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/10.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/11.jpg)
ExcelSaaS
Platform
How Dynamic Functionality Differs
![Page 12: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/12.jpg)
▪ 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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/13.jpg)
DYNAMIC TABLES
Allows for the dynamic referencing
of expanding and contracting data sets
without requiring a formula update
![Page 14: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/14.jpg)
Dynamic
Tables
✓ Scales intentionally
✓ Seamlessly agile
updates
✓ Incorporates new
data easily
✓ Minimizes manual
involvement
![Page 15: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/15.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/16.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/17.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/18.jpg)
OFFSET FUNCTION
![Page 19: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/19.jpg)
OFFSET FUNCTIONWidth = 7
Height = 9
Make Dynamic!
Make Dynamic!
![Page 20: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/20.jpg)
OFFSET FUNCTIONWidth = 7
Height = 9
=OFFSET(reference, rows, cols, [height], [width])
=OFFSET( E2 , 0 , 0 , 9 , 7 )
![Page 21: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/21.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/22.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/23.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/24.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/25.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/26.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/27.jpg)
Dynamic INDEX MATCH Ranges
Total
![Page 28: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/28.jpg)
Dynamic INDEX MATCH Ranges
Dynamic Header
Dynamic SUM
Total
![Page 29: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/29.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/30.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/31.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/32.jpg)
INDIRECT FUNCTION
Text String
Physical link
Dynamic INDIRECT
![Page 33: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/33.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/34.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/35.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/36.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/37.jpg)
SEQUENCE FUNCTION
SEQUENCE ( rows , [columns] , [start] , [step] )
![Page 38: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/38.jpg)
Dynamic (#) Arrays
Formulas with a hash (#) mark allow for expansion of an
array driven by a precedent array
![Page 39: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/39.jpg)
One Final Thought
![Page 40: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/40.jpg)
Doesn’t dynamic functionality
increase complexity for end-users?
![Page 41: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/41.jpg)
![Page 42: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/42.jpg)
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](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/43.jpg)
Don’t avoid great functionality
because it’s novel for end-users
![Page 44: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/44.jpg)
Don’t make models so complex
that they lose the end-users
![Page 45: Advanced Dynamic Financial Modeling](https://reader030.fdocuments.us/reader030/viewer/2022012503/617cec05443a5959f560bed4/html5/thumbnails/45.jpg)
Intentionally
Scale
Incorporate
New
Data Easily
Minimize
Manual
Involvement
Update
Seamlessly
DO develop your
model-builders and end-users to: