How to use the Investment Return Calculator
Enter the four required values, add any cash flows between the dates, and calculate the result.
- Enter Starting value ($), Ending value ($), Start date, and End date. The end date must be later.
- Select Add cash flow for each flow. In Type, choose Contribution, Withdrawal, Income, or Fee, then enter Amount ($).
- Use Date (optional) when you know the flow date. A blank date uses the end date and produces a warning.
- Use Remove row to delete a row, then select Calculate. Use Reset to clear the form.
- Review the result, then select Copy result or Download result (.txt).
How the calculator treats cash flows
The calculation uses signed cash flows. Starting value, contributions, and fees are outflows. Withdrawals, income, and ending value are inflows. An empty amount row is ignored; a non-empty amount must be 0 or greater. Dated flows must fall between the start and end dates.
What the four results mean
Total return ($) uses:
Total Return ($) = Ending Value - Starting Value - Contributions + Withdrawals + Income - Fees
Cost Basis = Starting Value + Contributions, and ROI (%) = Total Return ($) / Cost Basis x 100. ROI is undefined when cost basis is zero.
CAGR uses (Ending Value / Starting Value)^(1 / Years) - 1, where Years = Days / 365.25. It is shown as reference only when cash-flow rows are present and is undefined when the starting or ending value is zero. The Money-weighted annualized return is an IRR-style calculation using all four flow types, the starting and ending values, and their dates.
Money-weighted return versus time-weighted return
This calculator computes money-weighted return from the cash-flow schedule. It does not compute true time-weighted return (TWR), which requires portfolio valuations immediately before and after every cash flow. The page does not collect those valuations.
Assumptions, warnings, and validation
- Dates use whole calendar-day differences and
365.25days per year. - Undated flows use the end date and trigger a warning.
- The calculator stops if required dates are missing, the end date is not later, or a dated flow is outside the period.
- Money-weighted return is undefined when the schedule has no numerical solution.
- After calculation, the tool always warns that true TWR was not calculated. Cash-flow rows also trigger its CAGR reference warning.
Reading, copying, and downloading the result
The result shows the four headline metrics, warnings, formulas, and aggregate assumptions such as contributions, withdrawals, income, fees, cost basis, total return, days, and years. It does not list each cash-flow row individually.
Copy result copies the generated plain-text summary with the main values, dates, aggregate totals, results, and warnings. Download result (.txt) saves that summary as a plain-text file.
What this calculator does not do
It does not fetch live prices, market data, benchmarks, or account records. It does not calculate taxes, true TWR, or personalized financial or investment advice.
Privacy and calculation scope
The calculator script performs calculations in your browser from values and dates entered in the form. This applies to the calculator workflow; the page also includes separate site analytics and a subscription form.
Frequently asked questions
What is the difference between total return, ROI, CAGR, and money-weighted return?
Total return is the dollar gain or loss. ROI expresses it against cost basis. CAGR annualizes the change between starting and ending values and is reference-only when cash-flow rows are present. Money-weighted return is an annualized IRR-style result using cash-flow size and timing.
What is money-weighted return versus time-weighted return?
Money-weighted return uses your cash-flow timing. True TWR removes that timing effect using valuations before and after each cash flow. This calculator computes MWR, not true TWR.
How does this calculator treat contributions, withdrawals, income, and fees?
Contributions increase cost basis. Withdrawals affect net contributions and total-return calculations but are not included in cost basis. Contributions and fees are outflows; withdrawals and income are inflows. A blank date defaults to the end date.
Why does the calculator warn about incomplete cash-flow data?
A missing date is assigned to the end date so the calculation can continue. The warning notes that the actual timing is unknown and the money-weighted result may be less accurate.
Does this tool fetch prices or provide investment advice?
No. It uses the values, dates, and cash flows entered in the form. It does not fetch live prices, market data, benchmarks, or account records, and it does not provide personalized financial or investment advice.