Skip to content
TraderCalcs.io

ROI Calculator

Calculate return on investment as a percentage and annualised, net of costs, for any completed position.

Return on investment is the plainest measure in finance and the easiest to misread, because it contains no time. A 57% return is a fact about two sums of money and says nothing about whether those sums were four years apart or four months, and the difference between those two cases is the difference between a respectable result and an extraordinary one. That is why this ROI calculator asks for the holding period alongside the amounts, and prints the annualised rate next to the headline figure rather than underneath it.

Formula: ROI = (net gain / cost) x 100; annualised = (1 + ROI)^(1 / years) - 1

Your figures

What was originally put in.

What the position is worth now, or what it was sold for. Enter zero for a total loss.

Optional — anything else paid along the way: commission, stamp duty, custody, platform fees, repairs.

Optional — dividends, coupons or rent received while holding, whether or not they were reinvested.

Optional — adds the annualised figure, which is the only one comparable across investments of different lengths.

Results

Return on investment

+57.07%

US$5,850.00 on US$10,250.00 committed · +11.95% a year

Total costThe initial investment plus the additional costs. Costs go into the denominator rather than off the top, because money spent to hold something is money committed to it.
US$10,250.00
Total returnThe final value plus the income received. A dividend is return whether or not it was reinvested.
US$16,100.00
Net gain
US$5,850.00
Return on investmentThe net gain as a percentage of the total cost. There is no time in this figure at all.
+57.07%
Annualised returnThe constant yearly rate that compounds from the money put in to the money taken out over the period held. It compounds rather than divides, so it is lower than the ROI split evenly across the years.
+11.950%
Multiple on the initial investmentTotal return divided by what was originally put in.
1.610x
Multiple on total costTotal return divided by everything committed. This is the figure the annualised rate compounds.
1.571x
Holding periodAs entered above.
4.00 years
Years to double at that rateHow long the annualised rate above would take to turn a sum into twice itself, if it held.
6.14 years

What this means

US$10,250.00 committed — the initial investment plus the costs entered — returned US$16,100.00 once the income received is counted, a net US$5,850.00 and a return on investment of +57.07%. Spread across the 4.00 years held, that compounds at +11.950% a year — the constant rate that would take US$10,250.00 to US$16,100.00 over the period. It compounds rather than divides, because dividing the total by the years credits the return with earning on itself while never letting it do so. This is arithmetic on the four figures entered and describes one completed period; it is not a rate that continues.

  • Every figure above is yours to enter. No price, share count, earnings figure or commission is fetched from anywhere, and no broker's commission is preset — where a field opens with one it is a round illustration. That is what lets these work on a private company, a delisted one, a statement you would rather check than trust, and a date no live feed still serves.
  • A plain ROI has no time in it, which is the most common way investment returns are misread. Comparing two investments on ROI alone silently favours whichever was held longer, and holding something longer is not a skill.
  • A position that ended at nothing annualises to −100% however long it was held. There is no rate that compounds to a total loss over any period other than complete loss.
  • The annualised figure assumes one sum in at the start and one sum out at the end. Money added or withdrawn part-way through needs a money-weighted return instead, because the timing of the flows changes the answer.
  • Excludes tax and inflation. The figures above are nominal and gross.
  • Assumes every amount is in the currency selected above.

Return on investment: +57.07%

The link reopens this calculator with the same numbers. Nothing you enter is sent to a server.

About the ROI calculation

A return on investment calculator needs four numbers rather than two: what went in, what came out, anything else paid along the way, and any income received while holding. It reports the total committed, the total returned, the net gain, the investment return percentage measured against everything committed, and — once you supply a holding period — the constant annual rate that would compound from the first figure to the second over that period.

The costs and the income are not decoration. Placing costs in the denominator rather than netting them off the top reflects that money spent to hold something is money committed to it, and adding income to the numerator reflects that a dividend received is return whether it was reinvested or spent. Both choices change the answer, and both are visible in the formula rather than buried in it.

ROI formula

total cost   = initial investment + additional costs
total return = final value + income received
net gain     = total return − total cost

ROI %        = net gain ÷ total cost × 100
growth       = total return ÷ total cost      (this is 1 + ROI)

annualised % = (growth ^ (1 ÷ years) − 1) × 100
years to double = ln(2) ÷ ln(1 + annualised ÷ 100)

a position ending at zero annualises to −100% over any period
initial investment
What was originally put in, before any of the costs of holding it. Must be above zero, since a return on nothing is not a percentage.
additional costs
Everything else paid along the way — commission, stamp duty, custody, platform fees, repairs, insurance. Whatever your own record of the position includes.
income received
Dividends, coupons or rent taken from the position while it was held, counted whether or not they were reinvested.
growth
The total return divided by the total cost, which is exactly one plus the ROI expressed as a fraction. It is the base the annualised rate takes a root of.
years
The holding period. Without it there is no annualised figure, because there is no period for a rate to be a rate over.

The absence of time in the headline figure is the single most consequential thing about it. A 100% return earned over ten years and a 100% return earned over one are the same number and are not remotely the same event: the first compounds at about 7.2% a year, which cash deposits have matched inside living memory, and the second is a doubling in twelve months. Comparing two positions on ROI alone silently favours whichever was held longer, and holding something longer is not a skill.

Annualising fixes that, and it compounds rather than divides. Dividing a total return by the number of years credits the return with earning on itself while never actually letting it do so, and the error always runs in the flattering direction: the naive figure is higher than the true one for any positive return over more than a year. Taking the n-th root instead asks what constant yearly rate would have produced this outcome, which is the only form in which positions of different lengths can be set beside one another.

The ROI formula puts costs into the denominator because that is where committed money belongs. Netting them off the return instead would produce the same net gain — the arithmetic is symmetric there — but a different percentage, because the base being measured against would understate what the position actually tied up. Two positions with identical prices and very different dealing costs should not report the same return, and putting the costs in the base is what separates them.

A total loss produces an annualised return of −100% over any holding period, and it is stated as such rather than left as an undefined root of zero. There is no rate that compounds to nothing over ten years and a different rate that does so over one; complete loss is complete loss, and the only sensible annual rate describing it is the one that takes everything. The doubling figure is withheld for the mirror-image reason: a rate at or below zero never doubles, so no number of years is the answer.

ROI: a worked example

A position entered at 10,000 with a further 250 paid in dealing and custody charges over the four years it was held, paying 900 of dividends along the way, and worth 15,200 when it was closed.

  1. Total cost10,000 + 250 = 10,250
  2. Total return15,200 + 900 = 16,100
  3. Net gain16,100 − 10,250 = 5,850
  4. ROI5,850 ÷ 10,250 = 57.07%
  5. Growth multiple16,100 ÷ 10,250 = 1.5707×
  6. Annualised1.5707 ^ (1 ÷ 4) − 1 = 11.950% a year
  7. The naive alternative57.07 ÷ 4 = 14.27% a year — 2.32 points too generous
  8. Years to double at that rateln(2) ÷ ln(1.1195) = 6.14 years

A 57.07% return on everything committed, which is 11.950% a year compounded across the four years held. The gap between that and the 14.27% that dividing by four produces is the whole reason the annualised figure exists — it is 2.32 percentage points on a single position, and it widens with every additional year. At 11.950% a year the position would take a further 6.14 years to double again, which is the same statement about the same rate seen from the other end.

How to use the ROI calculator

  1. Enter the initial investment as what actually left the account to buy the position, and put every other charge in the additional costs box rather than folding them into the purchase figure.
  2. Use the current value for a position still open, or the sale proceeds for one that is closed. Enter zero for a total loss — the calculator handles it explicitly rather than failing on it.
  3. Include income received whether or not it was reinvested. Cash taken out of a position is return; leaving it out understates the result by exactly the amount that was paid.
  4. Add the holding period in years to turn this into an annualised ROI calculator, and use decimals for part-years. Nine months is 0.75, and eighteen months is 1.5.
  5. Read the annualised figure rather than the headline when comparing two positions, since it is the only one of the two that accounts for how long each was held.
  6. Take the multiple on total cost as the sanity check on everything else — it is the growth factor the annualised rate takes a root of, so if it looks wrong, the inputs are wrong.

Limitations of the ROI calculator

Every calculation makes assumptions. These are the ones that matter here.

  • Assumes one sum in at the start and one sum out at the end. Money added or withdrawn part-way through changes the answer, because the timing of a flow determines how long it was working, and that needs a money-weighted return instead.
  • Reports a nominal figure gross of tax. Neither inflation nor any tax on income or gains is applied anywhere in the calculation, and both can be substantial over a multi-year holding period.
  • Says nothing about the risk taken to produce the result. Two positions returning the same annualised rate can have travelled through entirely different drawdowns on the way, and this figure cannot tell them apart.
  • Describes one completed period rather than a rate that continues. The annualised return is a restatement of what happened, not an expectation of what happens next, and it is at its most misleading over very short periods.
  • Takes the final value as given. For an open position that figure is a mark rather than a realisation, and an illiquid holding may not be sellable anywhere near the price it is being carried at.
  • Counts income at face value with no adjustment for when it arrived. A dividend received in year one had three more years to work than one received in year four, and this measure treats them identically.

Frequently asked questions about ROI

Why is the annualised ROI lower than the total ROI divided by the years?

Because returns compound. Dividing 57.07% by four gives 14.27%, but 14.27% a year for four years compounds to about 70.5% rather than 57.07% — the division credits each year's return with earning on the previous years' returns while never letting it do so. Taking the fourth root instead finds the constant rate that genuinely produces the observed outcome, which here is 11.950%.

Do costs belong in the denominator or netted off the return?

Either produces the same net gain in money, but only putting them in the denominator produces a percentage that reflects what the position actually tied up. Money spent to hold something is money committed to it, so a position needing 250 of charges on a 10,000 stake has committed 10,250 and should be measured against that. This calculator reports both bases so the difference is visible.

What does the calculator do with a position that ended at zero?

It reports an annualised return of −100% for any holding period, which is the only sensible answer. There is no rate that compounds to nothing over five years and a different one that does so over one; total loss is total loss. The doubling figure is withheld at the same time, because a non-positive rate never doubles anything.

How is this different from CAGR?

The annualised figure here is a compound annual growth rate — the same arithmetic under a different name. The difference is what it is applied to: this page starts from a total cost that includes charges and a total return that includes income, whereas a CAGR is usually run on a starting and ending value alone. Feed it the same two numbers and it gives the same answer.

Can I use this for a position I added to over time?

Not accurately. The annualised figure assumes one sum went in at the start and one came out at the end, so contributions made later are treated as though they had been working the whole period. Where money moved in or out mid-way, the internal rate of return on the actual dated flows is the measure that accounts for it.

Should the income figure include dividends that were reinvested?

Yes, provided the shares bought with them are reflected in the final value. Income is counted as return whichever route it took; the mistake to avoid is counting a reinvested dividend both as income here and again inside a final value that already includes the shares it purchased, which would credit the same money twice.

Last reviewed . See our methodology and editorial policy.

More stocks calculators