Spreadsheet Engineering

Spreadsheet Engineering
“Training in spreadsheet modeling improves
both the efficiency and effectiveness with
which analysts use spreadsheets”
Steve Powell, Dartmouth College
Common Spreadsheet
Problems
1. Erroneous formulae:
• formula copied wrong or by accident
– >> Relative versus Absolute references!
• referenced original cells have been
deleted or moved
• inappropriate or incomplete set of cells
included in a range name
• incorrect use of a function
Common Spreadsheet
Problems
2. Data input errors:
– values entered over formulas
– same assumption value is entered in
different places in the model
– inappropriate values are entered
3. Assumptions are not documented or
accessible to the user
4. A key factor or relationship has been
omitted from the model
“Good” Spreadsheet Programming
Techniques
• Never put a constant in a formula:
document all numbers in their own cells
• Design the workbook to include sections for
assumptions and inputs, output reports, data
structures, model documentation and
intermediate calculations
• Use range names
• Test your model before using it
• Protect cells that contain formulas
• Use macros to automate key operations
• Use influence diagrams to develop model
Building Influence Diagrams
• Start with a key output
– What single measure will decision-maker use to
assess the success of the project?
• Decompose the output measure into a small set
of variables that determine it directly
• Take each influencing variable and repeat this
process of decomposition
• Identify input data and decisions as they arise
• Make sure that each variable appears only once
Symbols Needed in Influence
Diagrams
Objective
Variable
Fixed Input
Parameter
Random
Input
Parameter
Decision
• Create an influence diagram for a pro
forma Income Statement
– What should be the key output to start the
diagram?
– What assumptions will you need to make?
Designing a Spreadsheet
1. Sketch the spreadsheet
•
•
•
Influence diagrams
Organize into modules
Algebraically outline parts of logic
2. Start small: design, build and test one module
of the model at a time
3. Isolate input parameters
4. Design for use:
•
•
Create outputs that answer the questions the user
wants to address (e.g. graphs)
Place key results close to input assumptions
Designing a Spreadsheet
5. Keep it simple
•
•
Break down long formulas into simpler intermediate
calculations
Easier to spot errors & documents logic
6. Design for communication
•
•
Informative labels
Formatting options
7. Document important data and formulas
•
Cell comments