NPV - script function

NPV() returns the aggregated net present value of an investment based on a constant discount_rate per period and a series of future payments (negative values) and incomes (positive values), represented by the numbers in value, iterated over a number of records, as defined by a group by clause. The payments and incomes are assumed to occur at the end of each period.

Syntax:  

NPV(discount_rate, value)

Return data type: numeric. The result has a default number format of money.

Arguments:  

Argument Description
discount_rate discount_rate is the rate of discount over the length of the period. discount_rate is a constant.
value The expression or field containing the data to be measured.

Limitations:  

Text values, NULL values and missing values are disregarded.

Examples and results:  

Add the example script to your document and run it. Then add, at least, the fields listed in the results column to a sheet in your document to see the result.

Example Result  

Cashflow:

LOAD 2013 as Year, * inline [

Date|Discount|Payments

2013-01-01|0.1|-10000

2013-03-01|0.1|3000

2013-10-30|0.1|4200

2014-02-01|0.2|6800

] (delimiter is '|');

 

Cashflow1:

LOAD Year,NPV(0.2, Payments) as NPV1_2013 Resident Cashflow Group By Year;

Year

2013

NPV1_2013

-$540.12

Given that the Cashflow table is loaded as in the previous example:

LOAD Year,NPV(Discount, Payments) as NPV2_2013 Resident Cashflow Group By Year, Discount;

Year

2013
2013

Discount

0.1
0.2

NPV2_2013


-$3456.05
$5666.67