Return on investment

Measure what an investment actually returned: total, annualized, net of costs, after tax, and in real terms.

By the SterlingCat editorial team · Last updated 2026-09-02 · Calculated in your browser

The key points

  • The same gain is a very different annual return over one year than over ten; the annualized figure is what you can compare across investments.
  • Costs and dated cash flows change the answer; the money-weighted rate of return counts when your money was actually at work.
  • Returns under one year are shown as period returns; any annualized figure for them is an extrapolation, not something the investment did.

Your investment

Enter what went in and what came out

$
$
years
Costs and income (all start at 0)
$
$
$a year
$
Inflation, tax, and benchmark assumptions

The starting values are a visible zero baseline, not a forecast or tax advice. Enter your own assumptions to test a scenario.

%
%
%

Illustrative starting values, not a return record or advice. Replace them with your investment's real numbers.

What it returned

Gain

Return on investment
Before costs
Annualized return (CAGR)
After tax
Real return

A measurement of what already happened, not a forecast. Tax and inflation use your editable assumptions above; both start at 0.

Recommendation

%
At which benchmark returns?

A comparison against your own benchmark assumption, not advice. It measures the past; past performance does not predict future returns.

What the money did

Implied value What you put in

Year-by-year implied values

Calculated in your browser. No entries are sent anywhere.

How we calculate this

Return on investment (ROI) is the gain divided by what the investment cost: (everything that came out − everything that went in) ÷ everything that went in. The annualized return restates that as a constant yearly rate, (proceeds ÷ cost)1/years − 1, the compound annual growth rate (CAGR). With dated cash flows the tool reports the money-weighted rate of return instead: the yearly rate at which every dated flow, discounted back, sums to zero. All three run on an Actual/365 day count.

Return on investment and the holding period

The whole-period figure is the holding period return; the tool labels it "Return on investment" and states it net of the costs you enter, with a "Before costs" row so you can see what costs took. Income received, such as dividends, interest, or rent, counts as cash returned to you. The SEC's investor education site defines an annual rate of return as the profit or loss on an investment over a one-year period, which is why multi-year results are restated as a yearly rate before you compare them with anything else.

Annualized return and the one-year rule

Time is divided on an Actual/365 basis: exact dates give the day count, and years are days divided by 365. That is the same convention a spreadsheet XIRR function documents, so a spreadsheet cross-check reproduces this tool's numbers. For holding periods under one year the tool leads with the period return and marks any annualized figure as an extrapolation: a 6-week gain restated as a yearly rate describes a repetition that never happened.

The money-weighted rate of return

When money went in or came out along the way, a single start-to-end formula misstates the result, because each amount was at work for a different time. The money-weighted rate of return fixes that: per the GIPS standards glossary, it is the return for a period that reflects the change in value and the timing and size of external cash flows. The tool computes it as the internal rate of return (IRR) of your dated flows, which is what a spreadsheet XIRR function returns for a schedule of cash flows that is not necessarily periodic.

Costs, tax, and inflation

The order is fixed: costs first, then tax, then inflation. Costs are real cash flows, so they live inside the return itself. Tax is a flat, editable assumption applied to the nominal net gain; it starts at 0, it is your assumption rather than tax advice, and a loss is never given a negative tax. The real return then restates the after-tax rate in constant purchasing power through the exact Fisher relation, (1 + after-tax rate) ÷ (1 + inflation) − 1, matching the SEC's definition of real return as what is earned on an investment after accounting for taxes and inflation. Inflation also starts at 0; enter your own figure to test a scenario.

Edge cases, stated

A loss shows a negative return; a total loss shows −100% and no annual rate, because no yearly rate reproduces zero. If costs exceed everything that came out, the return can sit below −100% and the annual rate is undefined; the tool says so instead of hiding the row. Gains over 100% need nothing special; the formulas hold. Periods under one day are rejected. With one change of direction in your dated flows exactly one money-weighted rate exists. With several, zero or many can exist: the tool then reports every rate it finds, or that none fits, and refuses to pick one for you.

Interpreting the result

Everything here measures the past; nothing forecasts. The chart draws the smooth path implied by the constant annualized rate, not the path the investment actually took. The recommendation compares the measured return against your own benchmark assumption, meaning whatever else the money could have earned, and it reverses exactly at the break-even benchmark the tool names. Past performance does not predict future returns.

Sources

Grounded in authoritative primary sources:

More SterlingCat calculators