Free tool
DPI, TVPI and XIRR calculator
Your returns from a list of cash flows, with cash returned kept apart from paper value.
Result
Add your cash flows, or fill in the worked example, to see your returns.
Illustrative only. This is not investment, tax or legal advice. Check the result against your legal documents.
How this is calculated
Paid in is the total of your investments. Distributed is the total of the cash you have received back. Residual value is what you think your remaining holdings are worth on the as-of date.
DPI = distributed ÷ paid in
DPI counts cash only. Marks cannot move it, so it understates a young portfolio.
RVPI = residual value ÷ paid in
RVPI counts paper value only. It is as reliable as the valuations behind it.
TVPI = (distributed + residual value) ÷ paid in
TVPI adds the two. Old or optimistic valuations flatter it, which is why DPI is shown beside it at the same size.
XIRR is the annual rate of return that makes the present value of all your dated cash flows zero:
Σ amountᵢ ÷ (1 + r)^(daysᵢ ÷ 365) = 0
Investments count as money out on their dates, distributions as money in on their dates, and the residual value as money in on the as-of date. Days are counted from your first cash flow on an actual/365 basis, the same as the XIRR function in Excel and Google Sheets, so you can check the result in a spreadsheet.
The rate is found by Newton's method, starting from 10%, with bisection as a fallback. Where more than one rate fits the flows, which can happen when money goes in and out several times, the calculator gives the one nearest 10%. Spreadsheets start their search at 10% by default, so they usually give the same one.
When XIRR is not shown.
- Under twelve months between your first cash flow and the as-of date. An annual rate over a short period misleads: 1.3x in three months is 190% a year.
- When no rate between −99.99% and 1,000% a year fits the flows, for example when nothing has come back and nothing is left.
XIRR includes paper value, so it changes if your valuations change.
Pasting from a spreadsheet. Negative amounts are read as investments and positive ones as distributions, and each pasted row says how it was read. Dates such as 03/04/2021 are read day first unless a date in the same paste can only be month first, and the page says which reading it used. Rows that cannot be read unambiguously are left out, with the reason.
What this leaves out. Fees, carry, tax and currency. Every amount is in the one currency you choose; nothing is converted.
Guide
What the tool answers: what your angel portfolio has actually returned, with cash kept separate from paper.
Two numbers that are often confused
DPI is cash. Distributions divided by what you paid in. If you have put in $50,000 and received $10,000 back, your DPI is 0.20x, and nothing you believe about your remaining holdings can change that.
TVPI adds what you think the rest is worth. Distributions plus residual value, over paid in. The same portfolio with $80,000 of remaining holdings has a TVPI of 1.80x.
The difference between 0.20x and 1.80x is the difference between money you have and money you hope for. Both are real numbers and only one has happened.
This is why the tool shows them at the same size. A portfolio reported only by TVPI is a portfolio reported by its own valuations.
A worked example
| Date | Amount | |
|---|---|---|
| 15 January 2020 | Investment | $25,000 |
| 1 June 2021 | Investment | $25,000 |
| 1 March 2024 | Distribution | $10,000 |
| 1 October 2026 | Residual value | $80,000 |
Paid in $50,000. Distributed $10,000. DPI 0.20x. RVPI 1.60x. TVPI 1.80x. XIRR 10.8%.
Why XIRR and not a simple multiple
TVPI says nothing about time. 1.80x over three years and 1.80x over eleven are the same multiple and very different investments.
XIRR is the annual rate that makes the present value of your dated cash flows zero. It accounts for when money went out and when it came back, which is the whole difference between a good return and a slow one.
Two caveats worth holding onto. XIRR here includes residual value, so it moves when your marks move. And it is calculated on an actual/365 basis, the same as the XIRR function in Excel and Google Sheets, so you can check it in a spreadsheet.
When the tool will not show XIRR
Under twelve months of history. An annual rate over a short period misleads badly: 1.3x in three months annualises to roughly 190%, which describes nothing. DPI and TVPI do not depend on time and are shown regardless.
When no sensible rate fits. If nothing has come back and nothing is left, there is no rate of return to find.
Common mistakes
Quoting TVPI as performance. It is performance plus your own opinion of your remaining holdings. Quote DPI beside it or quote neither.
Carrying stale marks. RVPI is only as good as the valuations behind it. A mark from a round three years ago is a historical fact, not a current value.
Comparing your XIRR to a fund's. Funds report net of fees and carry. This tool reports gross, because an angel investing their own money pays neither. The numbers are not comparable.
Questions
What is RVPI?
Residual value over paid in: the paper portion of TVPI on its own. DPI plus RVPI equals TVPI. In the example above, 0.20x plus 1.60x is 1.80x.
What should I use as residual value?
The most defensible number you have, usually the price of the most recent round, adjusted if you believe the company has got worse since. A round price is evidence of value, not proof of it, and an old one is weak evidence.
Why does my XIRR change when nothing has happened?
Because time passed. An unrealised portfolio's XIRR falls steadily while you wait, since the same eventual return spread over more years is a lower annual rate. That is correct rather than a fault.
Can I paste from a spreadsheet?
Yes. Negative amounts are read as investments and positive ones as distributions, and the page tells you how it read each row. If your sheet records investments as positive numbers, it will say so and ask you to change them.
Other calculators
Track every position like this, automatically
Add your real positions once and TheAngel keeps every figure on this page current, across your whole portfolio.
Start tracking your portfolio