Tuesday, April 19, 2011

Introduction to Financial Modeling



What is a financial model? What is the difference between a financial model
and the spreadsheet solutions you create or VBA programs you write all the
time to answer financial questions or solve financial problems?

          A simple, practical answer is that a financial model is designed to represent
in mathematical terms the relationships among the variables of a financial problem
so that it can be used to answer “what if” questions or make projections.
Some of the spreadsheet solutions that people create capture some of these relationships as well and, therefore, can answer “what if” questions to some extent.
    But because they are not primarily designed with these objectives in mind, they
do not try to capture as many of these interdependencies as possible, and their
structures often make it cumbersome to answer “what if” questions or make projections with them.

        This may sound a little abstract. So let us look at a simple, concrete example.
Suppose you are using a spreadsheet to calculate, based on your taxable
income, what your after-tax income was last year. Income tax rates vary in steps
(brackets) for different income levels. So you cannot simply calculate your taxes
by multiplying your taxable income by one tax rate (30%, for example) and subtracting it from your taxable income to get the after-tax income.

          Consider two approaches to setting up a spreadsheet to calculate the after-tax
income. In the first approach, you can enter your taxable income in a cell,
calculate the tax on the income (using a hand calculator and the tax rates for the
different tax brackets), and enter it in the cell below. Then you can write an equation
in another cell to calculate your after-tax income by subtracting the tax in
the second cell from the taxable income in the first cell.

         This spreadsheet solution will give you the answer to your immediate question,
but it is not a useful financial model. Why? Because it does not capture the
key mathematical relationship between taxable income and taxes. The result is
that if you now try to answer the “what if” question, What would my after-tax
income have been if my taxable income were $10,000 higher?, you will have to
go back to doing the calculations by hand.

        However, you can set up your spreadsheet to calculate the taxes on any taxable
income (using the different tax brackets and tax rates) and use the computed tax
number to calculate your after-tax income. You will then have a financial model,
because it will capture the relationship between taxable income and taxes. You also
will be able to use this model to answer the “what if” question I posed before.
In creating financial models, you always have to keep in mind that you want
to capture as many of the interdependencies among the variables of the model as
possible. In addition, you want to structure your models in such a way that it is
easy to ask “what if” questions, that is, change the values of the independent
variables and observe how they affect the values of the key dependent variables.
You also should recognize that some of the relationships, as in the case of taxes,
are easy to establish and exact; but many others will be approximate or even
unknown. You will have to come up with them based on financial theory, analysis
of data, and so on, and coming up with these relationships is one of the
major challenges of financial modeling. Generally, the more of these relationships
you can come up with and incorporate into your model, the more useful your
model will be.

      My Assumptions about You and the Users of Your Models
In this book I assume that you know the basics of finance and can solve by hand
most of the problems for which you will be creating models. I also assume that
you are familiar with the basics of Excel and have experience creating spreadsheet
solutions to at least simple problems. You do not need to have knowledge
of Excel’s advanced features or of modeling; I will cover both in detail. You also
do not need to have any knowledge of VBA. A key objective of the book is to
teach you VBA and modeling using VBA from scratch by way of an easy and
effective method.        

          Another important assumption I am making is that you will be developing
the models primarily for your own use or for use by people who have some experience with Excel, but not necessarily with VBA. When you create models for use by people who have little or no familiarity with Excel, it requires adding special user interfaces to make the models easy to use. One must build into them special features to make them “bulletproof”—that is, to make sure that the models
will not crash or produce wrong results if someone enters inappropriate inputs.
I will discuss some design methods and Excel features that make models easier to
use and more “bullet-resistant.” Most everyday modelers do not need to go
beyond this. Excel and VBA as Modeling Tools Even in the mid- to late 1990s, Excel was not considered a powerful enough tool for serious financial modeling, in part because the PCs available at the time had speed and limitations
With advances in PCs and improvements in Excel  itself, the table has now turned completely: Excel has become the preferred tool for creating all but the largest and most computationally intensive financial models.
The advantages of Excel for financial modeling are so obvious that it is not necessary to go into them. However, for those who have not worked with other programs or programming languages for modeling, it is worthwhile to point out that one of the important advantages of Excel is that with Excel you can create excellent output with very little work. You should learn to take full advantage of Excel’s power in this respect. If Excel is so good, then, why bother with VBA? VBA is a programming language, and if you do not know anything about programming languages, it will be difficult for you to appreciate the advantages of VBA at this point. Let me touch on only a few key reasons here, and I will answer the question in greater detail when we discuss modeling with VBA. Despite its power, Excel has many limitations, and there are many financial models—some even relatively simple ones—that either cannot be created in Excel or will be overly complex or cumbersome to create in Excel. What’s more, when you create a highly complex model in Excel, it can be difficult to understand, debug, and maintain. VBA generally offers a significant edge in all these respects. The problem that most people have with VBA is that it is one more thing to learn, and they are somehow afraid of trying to learn a programming language. The reality is that if you follow the right method, learning a programming language is not particularly difficult—especially if you selectively learn what you will really use (as we will do in this book) and not let yourself get lost in all the other things you can do with VBA but probably never will. The truth is that you do not need to learn all that much to be able to create very useful and powerful financial models with VBA. What you will need is a lot of practice, which you will get
as you go through this book. VBA offers you the best of both worlds: you can take advantage of all the powers of Excel including its ability to easily create excellent outputs, and supplement them with VBA’s additional tools and flexibility. Independent and Dependent Variables We can say that the purpose of a model is to calculate the values of certain dependent variables for the values provided for its independent variables. It is therefore important to understand the difference between independent and dependent variables. Independent variables are also called the input or external variables. The model’s user or creator inputs the values of these variables—they are not calculated– by the model.
  
These are the variables you change to ask “what if” questions. For example, in our simple model the taxable income is an independent variable. A model may also include a special type of input variable called a parameter. Parameters are independent variables in that their values are also provided by the
creator or user of the model. The difference is that their values are expected to remain constant or change infrequently within the context of the model. For example, the tax rates and the tax brackets in our simple model can be considered parameters of the model because their values have to be provided for the model to work, but these values are not expected to change frequently. As you create a
model, it is useful to keep the parameters together but separate from the other independent variables. They should still be easy to see and change, however. The variables whose values are calculated by the model are called the calculated or dependent variables. Some of them may be intermediate variables, calculated for use in other calculations. Others are of primary interest to the user and are the output variables of the models. Models are almost always created to observe how the values of the output variables will change with changes in the values of one or more independent variables. Dependent variables are the ones whose values we want to project or determine when we ask “what if” questions.
It is possible to distinguish between intermediate dependent variables and output dependent variables; intermediate dependent variables are used in further calculations, whereas output dependent variables are not. This is generally not a useful distinction, however. It is better to look at the dependent variables of primary interest as the output variables of the model irrespective of whether they are
used in further calculations. One must also recognize that, from time to time, some dependent variables that were previously not considered output variables of a model can become so and vice versa.

  remember that this may seem like a waste of time, but ultimately it will save you time compared to plunging into your spreadsheet or VBA program without such a sketch of the model. The other aspect of design is planning how the model will be laid out in Excel or VBA. Are you going to do the entire model in one spreadsheet (or VBA module) or split it into several spreadsheets (or VBA modules or procedures)? Editing an Excel or VBA model is easy. So you do not have to decide every detail ahead of time, but you need to have an overall design in mind or on paper depending on the complexity of the problem and your level of experience.  


STEPS IN CREATING A MODEL

Whether you are creating a financial model using Excel or VBA, you must take a systematic approach. A systematic approach always involves planning ahead and this takes some time. Most people do not like to plan and think they can save time by starting to build a model right away without spending time on planning. However, for all but the simplest models, not taking the time upfront to do some
planning and not taking a systematic approach ends up being both frustrating and a waste of time. Here are the key steps you should follow in creating both Excel and VBA models. The details vary somewhat depending on whether you are working with Excel or VBA, and I will discuss them in later chapters. You should keep two other things in mind. First, in practice, you do not have to follow the steps strictly in this order, nor do you have to finish one completely before going onto the next
one. Most of the time you will have to go back and forth to some extent. It will depend on the circumstances. Second, over time, you should try to create your own variation on this basic approach and learn to adapt it to different situations. Excel and VBA are flexible tools and you can usually make changes almost at any stage without a great deal of difficulty. But this still will take more time
than if you do it right the first time, and making changes later increases the chances of missing some of the other changes that have to go with them.

Step 1: Define and Structure the Problem
In real life, problems rarely come neatly defined and structured. Unless you take the time upfront to define and structure the problem and agree on them with the user (your boss, for example), you may end up having to extensively change the model you first create. When your boss asks you a question whose answer requires developing a model, she often has only a vague idea of what she is really seeking. As a finance person and a modeler, you are responsible for putting it all in more concrete terms before proceeding. Start by discussing and defining why the model is needed and what decisions, if any, will be made based on its output—that is, what questions the model is supposed to answer. Then establish how accurate or realistic the outputs need to be. As we discussed, all models have to capture the relationships among their variables, and discovering and quantifying these can take a lot of time. How much effort you put into doing this should depend on how important the project is and how accurate or realistic the outputs need to be.

 
Step 2: Define the Input and Output Variables of the Model
Make a list of all the inputs the model will need and decide who will provide them or where they will come from. This is crucial. For example, if you are creating a model to do the business plan for your company, the inputs must come from the business managers. You cannot just guess what sales growth rates they will be able to achieve, how much they will have to spend on plants and equipment
to support those sales growths, and so forth. You may not need the actual numbers upfront, but the list of inputs should be established based on your discussions with the business managers so that you can make them independent variables in your model. Otherwise you may have go back later on and change a
lot of things in the model. Make a list of the tabular, graphical, and other outputs the model needs to
create. To some extent, these should be driven by the decisions that will be made based on them. One advantage of Excel is that a lot of the output can be just printouts of your spreadsheets, provided the spreadsheets have been laid out properly. If you plan ahead and lay out your spreadsheets with the outputs in mind, you will save yourself a lot of time later on.

 
Step 3: Decide Who Will Use the Model and How Often
Who will use the model and how often it will be used make a lot of difference. In this book, I am assuming that you are developing the models either for your own use or for use by others who are familiar with Excel and understand the model, at least to some extent. When you create models for others’ use, it involves much more work. You have to make sure that these people cannot enter
data that do not make sense, they cannot accidentally damage parts of the model, and they can get the necessary outputs automatically and so forth. These are collectively called the user interface, and the more elegant, more easy to use, and more robust you want to make a model, the more work it is. You also have to plan for many of these features ahead of time. How frequently a model will be used is another important issue. If a model is going to be used only once in a while, then it does not matter if it takes a long time to run or if it takes some extra work every time to create the outputs. A model that will be used frequently, however, should be designed differently.
Step 4: Understand the Financial and Mathematical Aspects of the Model
It is important to remember that the computer cannot do any thinking; you have to tell it exactly how all the calculations in the model will have to be done. In most situations, if you do not know how you would do the calculations by hand, you are not going to be able to write the necessary formulas or instructions for the computer to do it. It does not pay to start building the model until you are
sure you could solve the problem by hand. It usually takes beginners a lot of time to create a model and they often think that it is their Excel or VBA skills that are slowing things down. This may be
partly true, but at least as often the problem is in their understanding of the finance and mathematics of the model they are trying to create. You will save lot of time if you do not even sit down in front of the computer to create a model until you are sure that you know how to solve the problem.

As I discussed before, you also need to think about the kind of user interface you want to create and the reports you want the model to produce.

3 comments:

  1. The above points describes the preface of an Financial Modeling

    ReplyDelete
  2. Hello sir,
    I am Suhasini Jeevanige. Your blog is quite informative. I am one of your fans in blogger. I would like to ask a little help from you for logical reasoning if you can let me know any good books or link or website that helps me learn something for market research or financial research, it would be really kind.
    My email id is suha.jeevanige@gmail.com
    Thanking you,
    suhasini.

    ReplyDelete
  3. Sure..and thanks for the compliment..

    ReplyDelete