investment
ROI Calculator
Estimate return on investment, gain or loss, and annualized return from investment amounts and time held.
investment calculator
The Average Return Calculator estimates annualized return in two modes. Cash-flow mode solves a money-weighted average annual return from starting balance, ending balance, deposits, withdrawals, and year offsets. Period-return mode compounds up to four entered holding-period returns. The calculator reports average annual return, cumulative return, net gain, total holding years, and an estimate-only note.
Your scenario
Working scenario
Not saved yet
Saved scenarios
Save this result, then use saved scenarios to switch between assumptions.
Use cash-flow mode when deposits or withdrawals changed the account path during the holding period. Use period-return mode when you already have separate holding-period returns and want one compounded annualized view. Use ROI for a single start-to-end amount, IRR for a fuller cash-flow rate solve, investment for contribution projections, payback period for recovery timing, and finance for broader time-value scenarios.
In cash-flow mode, Starting balance and deposits are investor outflows, Withdrawal 1 and Ending balance are inflows, and the timing inputs are year offsets from the account start. The calculator filters zero-value cash flows, then solves sum(CF_i / (1 + r)^t_i) = 0 by binary search from -99.99 percent to 1000 percent for 160 iterations. Cash-flow cumulative return is Net gain divided by invested capital, where Net gain is Ending balance plus withdrawals minus Starting balance and deposits. In period-return mode, each populated row uses holding years plus months / 12, compounds as (1 + Period return / 100)^holding years, ignores zero-length rows, multiplies the row growth factors, and annualizes the combined growth over total holding years.
This formula page covers the app's Average Return Calculator: either a cash-flow mode that solves a money-weighted annual return from balances, deposits, withdrawals, and year offsets, or a period-return mode that compounds several entered holding-period returns into one cumulative and annualized return. It does not model exact trade dates, day-count conventions, fees, taxes, dividends unless already reflected in inputs, inflation, benchmark performance, risk, volatility, or formal investment-performance reporting.
cash-flow mode: sum(CF_i / (1 + r)^t_i) = 0; NG = EB + W - (SB + D); CR = NG / (SB + D); period-return mode: GF = product((1 + p_i)^h_i); CR = GF - 1; AAR = GF^(1 / T) - 1
Cash-flow mode treats starting balance and deposits as investor outflows, treats withdrawals and ending balance as inflows, then solves the annual rate that makes the discounted cash flows sum to zero. Period-return mode multiplies each period's growth factor, converts the combined growth into cumulative return, and annualizes it over the total holding length.| Symbol | Meaning | How this page uses it |
|---|---|---|
| CF_i | Cash flow i | A dated cash-flow amount. Starting balance and deposits are negative outflows; withdrawals and ending balance are positive inflows. |
| r | Money-weighted annual return | The annualized rate solved in cash-flow mode by binary search between -99.99 percent and 1000 percent. |
| t_i | Cash-flow year offset | The timing of each cash flow measured in years from the account start, using the app's Deposit year, Withdrawal year, and Account holding years inputs. |
| SB | Starting balance | The opening account value entered as Starting balance. |
| EB | Ending balance | The ending account value entered as Ending balance in cash-flow mode. |
| D | Total deposits | Deposit 1 amount plus Deposit 2 amount in cash-flow mode. |
| W | Total withdrawals | The Withdrawal 1 amount entered in cash-flow mode. |
| NG | Net gain | Ending balance plus withdrawals, minus starting balance and deposits. In period-return mode it is starting balance multiplied by cumulative return. |
| CR | Cumulative return | The whole holding-period return. In cash-flow mode it is net gain divided by invested capital; in period-return mode it is growth factor minus 1. |
| p_i | Period return i | The return rate entered for one holding-period row, converted from a percent to a decimal. |
| h_i | Period holding years | The years plus months divided by 12 for one period-return row. |
| GF | Combined growth factor | The product of each period's growth factor after applying its holding length. |
| T | Total holding years | Account holding years in cash-flow mode, or the sum of all non-zero period lengths in period-return mode. |
| AAR | Average annual return | The displayed annualized return. In cash-flow mode this is the solved money-weighted rate; in period-return mode this is the annualized compounded period return. |
The default inputs include a cash-flow example and a four-row period-return example. They answer related but different questions, so their annual returns are not expected to match.
Cash-flow mode is useful when deposits and withdrawals changed the account path. Period-return mode is useful when the inputs are already holding-period returns. Both are educational estimates, not a formal performance report or investment advice.
Geographic scope: works globally. The math is currency-agnostic, so enter amounts in your own currency; local taxes, fees, and product rules are not included.
Use cash-flow mode when you know balances and money movements - it solves the money-weighted annual return implied by your starting balance, deposits, withdrawals, and ending balance, with year offsets for each flow. Use period-return mode when you already have holding-period returns (like +8 percent for 1 year, −3 percent for 6 months) and want them compounded into one cumulative and annualized figure.
Cash-flow mode finds the rate that makes all your dated flows balance, searching between −99.99 and +1,000 percent. When flows change sign several times or a large deposit lands just before a big gain or loss, a money-weighted rate can swing dramatically or admit multiple mathematically valid answers. The result summary flags the mode used; treat odd-looking rates as a signal to re-check the flow dates.
Usually not. Brokers commonly report time-weighted returns, which strip out the effect of your deposit and withdrawal timing; cash-flow mode here is money-weighted, which deliberately includes that timing. Neither is wrong - they answer different questions. This calculator also uses year offsets rather than exact trade dates, so its result is a planning estimate, not performance reporting.
This calculator is an original two-mode return model: a money-weighted cash-flow solver over a bounded rate range and a period-return compounder for entered holding-period returns, both validated by deterministic fixtures and edge-case tests. It is not copied from a single source.
Fixtures pin both modes, including negative-period returns, mixed deposit and withdrawal timelines, and solver-boundary cases. The result remains an educational estimate, not broker performance reporting or a time-weighted return.
Formula version 2026.05.22-generic-average-return. The version marks the calculation logic and validation fixture set used for this estimate.
Results are educational estimates, not advice. Read the full disclaimer.
investment
Estimate return on investment, gain or loss, and annualized return from investment amounts and time held.
investment
Estimate internal rate of return from fixed recurring cash flows or irregular annual project cash flows.
investment
Solve an investment goal from starting amount, end amount, return rate, contribution amount, and investment length.
investment
Estimate simple and discounted payback periods for an investment with recurring annual cash flow.
investment
Solve one time-value-of-money variable from periods, rate, present value, periodic payment, and future value.