Please enable JavaScript to view this site.

Vensim Help

Navigation: Reference Guide > Functions > Financial and Accounting

NPV(stream,discount rate,init val,factor) Net Present Value

Scroll Prev Top Next More

Returns the net present value of stream computed using discount rate.  The initial value is determined by init val (usually 0) and the value is reported after multiplying by factor (usually 1).  Equivalent to the equations:

MYNPV = ( NPV ACCUM + stream * TIME STEP * df) * factor

NPV ACCUM = INTEG ( stream * df , init val)

df = INTEG ( -df * discount rate / ( 1 + discount rate * TIME STEP ) , 1 )


Units: NPV(units,1/time,units*time,dimensionless) --> units*time


NPV(cash flow,discount rate,0,1) 

returns the net present value relative to the initial time for the cash flow to Time.

NPV(cash flow,discount rate,0,exp(discount rate*(Time-INITIAL TIME)) 

returns the net present value at Time for the cash flow to Time.

Note that NPV does not discount the current period value of the stream.  If you are used to using NPV as computed by Excel you will want to use NPVE insead.


Sample model: NPV.mdl in FunctionExamples