Capital appraisal
Investment Appraisal
Net present value (NPV), internal rate of return (IRR), modified IRR (MIRR), payback, discounted payback and return on investment, from one column of cash flows. NPV decides; the rest are shown beside it because they can disagree, and knowing why is the point.
Input data
One row per period. Period 0 is the investment and is never discounted.
| Period | Label | Cash flow | |
|---|---|---|---|
| 0 | |||
| 1 | |||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 |
Tip: paste a column of cash flows from Excel or Sheets.
Net present value at 10.00%
$290,787
Accept — net present value is above zero. At a 10.00% discount rate the project has a net present value of $290,787. It returns 19.7111% against that hurdle. It pays back in 3.25 periods.
Internal rate of return, annual effective
19.7111%
Modified internal rate of return, annual effective
15.7614%
Return on investment
15.0000%
Payback
3.25 periods
Discounted payback
3.96 periods
Derived period rate
10.0000%
Net present value against discount rate
Every crossing of zero is an internal rate of return.
Cumulative cash flow by period
Solid is undiscounted, dashed is discounted. Each crosses zero at its payback.
Discounted cash flow (DCF)
Every figure on this page is reachable from this table by hand. Cash flows fall at the end of period t; period 0 is now, and carries a factor of exactly 1.
| Period | Label | Cash flow | Factor | Present value | Cumulative PV |
|---|---|---|---|---|---|
| 0 | Initial investment | -$1,000,000 | 1.000000 | -$1,000,000 | -$1,000,000 |
| 1 | Year 1 | $250,000 | 0.909091 | $227,273 | -$772,727 |
| 2 | Year 2 | $300,000 | 0.826446 | $247,934 | -$524,793 |
| 3 | Year 3 | $350,000 | 0.751315 | $262,960 | -$261,833 |
| 4 | Year 4 | $400,000 | 0.683013 | $273,205 | $11,372 |
| 5 | Year 5 | $450,000 | 0.620921 | $279,415 | $290,787 |
| Net present value | $290,787 | $290,787 | |||
Reuse the analysis
Copy the summary, or export the table and the charts.
Transparent by design
Method and limits
Every figure above can be reproduced by hand from the discounted cash flow table. Where the arithmetic cannot give an answer, the page says so rather than printing a zero.
Period 0 is not discounted
A cash flow in period 0 carries a discount factor of exactly 1. This is the commonest disagreement between a hand-built appraisal and a tool, so the factor column shows it rather than leaving it implied.
The period rate
The discount, finance and reinvestment rates are all entered annually and converted by (1 + r) ^ (1 / m) − 1, where m is periods per year. The derived rate is shown so no convention is silent. The nominal alternative, r / m, gives a different answer and is deliberately not offered as a second silent option. Rates come back the same way: an internal rate of return is solved per period and compounded by (1 + r) ^ m − 1, so every rate on a tile is annual effective and comparable with the hurdle you typed.
Net present value (NPV) decides
The verdict is net present value against zero. Internal rate of return assumes every interim cash flow is reinvested at the internal rate itself, which is why a high rate on a short project can lose to a lower one on a long project. Payback ignores everything after it pays back. Both are shown, neither decides.
Every internal rate of return is reported
A cash flow that changes sign more than once can have more than one internal rate of return, and each is an equally valid root. The rate axis is scanned and every crossing is reported. A solver started from one seed returns whichever root it reaches first and calls it the answer. The scan resolves crossings 0.2 percentage points apart or wider.
Payback interpolates inside the period
The fractional part assumes the crossing period’s cash flow arrives evenly across that period. A lumpy crossing period gives a payback that is precise and slightly wrong, which is why the assumption is stated rather than buried.
Return on investment is an accounting ratio
Average annual profit divided by the initial investment, where average annual profit is total inflows less the investment, spread over the periods after period 0. It ignores timing entirely, which is exactly what net present value does not. It is suppressed where period 0 is not an outflow, because the divisor would be zero or negative.
What is refused, and what is merely unusual
Rejected: a cash flow that is not a number, a rate at or below −100%, fewer than two periods. Accepted and calculated: a positive period 0, a negative final period, a project that never turns positive, a 90% discount rate. Unusual is not invalid.
Nothing you type leaves the browser
Every figure is computed in this page. No cash flow, rate or result is sent anywhere, and the tool has no model call in it — the numbers come from arithmetic in lib/finance/investmentAppraisal.ts and from nowhere else.