Category: Finance functions
Overview
Description | The Net Present Value (NPV) function calculates the net present value of an investment by using a discount rate and a series of future payments and income.
Use when the discount rate is known and you want to calculate the net present value of a cash flow series. |
Syntax | NPV('Rate', 'Cashflow' [, "Level"])
|
Parameters | Rate: The rate of the discount over the time of the period. Cashflow: Series of payments or income. Negative values represent outgoing payments and positive values represent incoming payments. Level (optional): The period of time or a sequence over which the calculation is going to be made. If the level is not provided, the lowest time level from 'Cashflow' is selected.
|
Notes | The 'Cashflow' node is the leading input node. A leading input node is a function argument for which we assume the levels to be correct. Rate values are percentages and must be entered and returned as decimals, for example 10% = 0.1. If a "Level" is entered, it should be a level of the 'Cashflow' node. It should also be the lowest level in the dimension that is found in 'Cashflow'. The levels from the 'Rate' input node need to be available in the 'Cashflow' input node. Any level that is in the same dimension as the selected "Level" from the 'Cashflow' node cannot be available in the 'Rate' input node. That also counts for all linked levels in this dimension.
|
Limitations | The 'Cashflow' data cannot have missing values. |
Examples
Discount cash flows by region
This example shows how a rate node and a cashflow node are combined to calculate net present value by region.
The result is aggregated over the year level.
Input node: 'Cashflow'
Year | Region | Value |
|---|
2025 | Asia | +500 |
2026 | Asia | -100 |
2027 | Asia | +200 |
2025 | Europe | -100 |
2026 | Europe | +400 |
2027 | Europe | +500 |
Input node: 'Rate'
Region | Value |
|---|
Asia | 0.05 |
Europe | 0.1 |
Formula: NPV('Rate', 'Cashflow') = NPV('Rate', 'Cashflow', "Year")
Region | → NPV Result |
|---|
Asia | 558,26 |
Europe | 615,33 |
Function | When to use instead |
|---|
PV | When you want the present value of an annuity-style payment stream with structured parameters instead. |
IRR | When you want the implied discount rate at which NPV = 0 instead of the discounted value itself. |