Npv


Npv(rate,values,I)

Computes the net-present value of a cash flow with equally spaced periods and constant discounting. The first parameter is an assumed discount rate per period. The second parameter, values, is an array indexed by I, where a positive value indicates an inflow (earnings) in that period, and a negative value represents an outflow (payment). Npv is defined as:

Npv eq.png

The first value is discounted as if it is one step in the future, rather than at the start. This is often not the most convenient convention, since the initial outlay for an investment often starts in the current time period. The convention is adopted by Analytica to match the convention used by Excel. With this convention, the full net-present value is actually obtained by adding the period-zero outlay to the Npv of all future cash flows, e.g.:

Full_Npv := Initial_outlay + Npv(discountRate, futureFlows, FutureTimeIndex)

It is common to have the current year flow in the first element of your values array. In this case, you can adjust the result that the first value is in the starting time period using:

Npv(rate,values,I) * (1+rate)

Background

A dollar earned today will generally be worth more to you than a dollar earned at some point in the future. Conversely, a dollar spent now is generally more expensive than a dollar spent in the future. This time-value difference is a result of opportunities you may have to put that dollar to work -- e.g., investing in other projects, enjoying that dollar while you are alive, or placing the dollar in alternative investments. In addition, that dollar will lose value from inflation. To account for this time-value difference, it is common practice to discount future values. The discount rate is the rate per period that we discount a dollar in the future. If we obtain x dollars one time period in the future, then we would say that its present value is x / (1+r), where r is the discount rate. The net part of net-present value reflects that we are adding up the present values of all cash flows.

Npv is often a good way to compare alternative investment options. Its primary limitation is the fact that is presupposes that you can identify the discount rate that applies to you. Because of its widespread use, many organizations are well aware of what their appropriate discount rate is. However, in general, the appropriate discount rate for you is not always obvious. In general, changing the discount rate will change the relative attractiveness of alternative investments, especially if the cash-flow structure of the investments is substantially different.

One practice that is often employed when using a net-present-value analysis is to repeat your analysis across a range of discount rates. This is referred to as a Parametric Analysis. You should use this parametric analysis to understand how your decision is impacted as the discount changes, and then use that understanding to guide your treatment of discount rate.

An alterative to Npv-analysis is the use of Internal Rate of Return (Irr). An Internal Rate of Return analysis avoids the need to select a discount rate a priori, but in general tends to suffer more downsides than a net-present-value analysis. While an Irr approach has some intuitive appeal, an Irr analysis should usually include a parametric Npv analysis also to avoid being mislead (the one exception is when the alternative investment options have almost identical structure).

Present value and uncertainty

Net present value provides a metric for comparing certain cash flows~-- that is, a revenue/expense stream where we know exactly how much cash flow occurs in each time period. In real life, uncertainty plays a dominant part in capital allocation decisions. Cash flows for investments that are interesting or complex enough to to model are rarely certain, and comparison of risk often domainates the decision making considerations.

Some aspects of uncertainty could be folded into the discount rate. For example, you might argue that someone near the end of their life should adopt a higher discount rate than someone with a long life ahead of them, since the probability of not being able to enjoy income is greater. Here the exact date of death is uncertain, but rather than modeling that explicitly, we incorporate it by increasing our discount rate. As Another example, you may have a very good estimate for next year's earnings, but for each successive year, the accuracy of your forecast goes down, due to various uncertain or unmodeled factors. You might increase your discount rate to reflect the fact that future earnings are less reliable. In general, when uncertainties are folded into the discount rate, you should assume that different discount rates apply to different investment options.

There are obvious downsides to treating uncertainty and risk simply by folding it into the discount rate. Since it comfounds many factors together, the importance of different aspects such as uncertainty, or of different sources of uncertainty, are lost, which usually results in a loss of insight that might have otherwise been possible. The approach is also flawed when uncertainties are asymmetric. For example, while future positive earnings may become less certain with time, future expenses may remain quite certain. At the very least, earnings would have to be discounted at one rate, while expenses would have to be discounted at a different rate. Such approaches do indeed get applied in practice, although not always without controversy.

A nice feature of using Analytica for NPV-analyses is that we can usually keep the uncertainty considerations out of the discount rate, and instead model the uncertainties explicitly. Net-present value is well-suited to a Monte Carlo treatment of uncertainty, allowing us to use an Expected Net Present Value (ENPV) as a decision criteria. The ENPV is seen when viewing the mean view of an Npv result in Analytica, or obtained in an expression as

Mean(Npv(rate,values,I))

With uncertainty distributions placed directly on the variables that are used to project the cash flow, a cash flow with uncertainty results. When computed using Monte Carlo simulation, Analytica ends up simulating SampleSize separate cash flow scenarios (SampleSize different samplings of values). For each of those scenarios, Npv(rate,values,I) the NPV for that scenario, yielding a distribution over the net present value. Discount rate can then be used in a "purer" fashion to reflect the project-independent discount for tieing up capital, which is then a function of the organization, and not of the individual project or investment opportunities.

Note that you can also treat discount rate as an uncertain quantity, defining it as a distribution.

Downsides of Net Present Value

In many common cases, an underestimation of discount rate leads to an overly optimistic valuation of an investment, while an overestimate leads to excess conservatism. Because of this, people often err on the side of overestimating discount rate. Although conservatism may be viewed as desirable, this approach to obtaining it is flawed when future negative cash flows may occur, and especially when the final phases of the investment involves more negative than positive cash flows. For example, the decommissioning of a nuclear power plant at the end of its lifetime may represent a dominant cost of the project's lifetime. Financing arrangements may involve a large balloon payment at project maturity. Etc. When discount rates are overestimated, future costs end up receiving optimistic treatment, resulting in quite the opposite of a conservative analysis.

In actual practice, the comfounding of effective discount rate with actual uncertainty (a premium on risk) is often responsible for many misleading conclusions in NPV analyses. While discounting the reliance on future earnings, it ends up also discounting the impact of unexpected future losses.

Net Present Utility

The valuation of capital investment options usually involves more than pure monetary cash-flow considerations. Most organizations have numerous other non-monetary considerations as well. A corporation may consider community good will, strategic fit, human resource development, and fit to corporate mission. Government projects may consider economic development considerations, improvement of citizens' lifestyle, political good will, and other social benefits. Many of these are often very difficult to quantify. However, in most cases, similar discounting considerations may apply -- a little love today may be worth more than that same amount of love on a future date.

The concept of net present value can also be applied to non-monetary metrics. The same Npv function can be applied to compute Net Present Utility or Net Present Score for these cases. In most cases, however, the discount rate appropriate for non-monetary "flows" may legitimately be quite different than the discount rate appropriate for monetary cash flows.

Examples

The purchase of a $1M factory would result in $180K earnings for 10 years, starting next year. Compute the NPV assuming a 12% discount rate.

Index Future_Year := 1..10;
-$1M + Npv(12%,$180K,Future_Year) → $23,387

A real estate investment of $200K will result in an annual rental income of $10K for 10 years, and will then be sold (with certainty) for $250K. Compute the Npv assuming a discount rate of 8%.

Index Future_year := 1..11;
-200K + Npv(5%, if Future_Year=11 then $250K else $10K, Future_Year ) → $17,040

A $1.5B nuclear power plant with a 29-year lifetime will generate $200M per year, and then cost $5B to decommission on the 30th year. Plot the NPV-curve for this project for discount rates up to 20%.

index future_year := 1..30;
-1.5B + Npv(discount_rate, if @future_year=size(Future_year) then -5B else 200M, future_year)

Npv plot example.png

Variations

Unequal Periods

When cash flows occur at arbitrary points in time, rather than at equally spaced periods, use the XNpv function.

Time-varying Discount Rate

In some instances, it is appropriate for discount rate to vary with time. Since discount rate is already a highly subjective and tricky quantity, it is very uncommon to do so. But there are certainly cases where it is justified. For example, as you age, you may become less physically able to enjoy your wealth, so earnings obtained sooner can be enjoyed more. As you approach old age, this effect becomes more dramatic, justifying a rapid increase in annual discount rate after retirement age.

The current Npv function assumes a constant discount rate (although we have an enhancement to relax this already on the books for a future Analytica release). At present, if you were to supply a first parameter, rate, indexed by I, array abstract would give you a separate NPV for each element in the first parameter.

To compute NPV with a time-varying rate parameter, simply use the formulate for NPV directly, as follows:

Sum( values / CumProduct(1+rate,I), I )

See Also

Comments


You are not allowed to post comments.