ROI Calculator
Return on investment is the plainest way to score any outlay: what came back, relative to what went in. Enter the amount invested and the total received back; add the holding period in years to get the annualized rate that makes a three-year return comparable with a one-year one. The guide below works through the cases where the plain percentage misleads — including a pair of investments where the higher ROI is the worse deal.
Return on investment
Example: invest 10,000, receive 12,000 back — a 20% ROI.
These notes are the working companion to the guide ROI and CAGR explained, which sets return on investment beside the compound annual growth rate and walks through why a total return and an annualized return answer different questions. Every figure on this page is computed at build time by the same engine behind the form above; the full guides index collects the rest of the business-math series.
How ROI is computed
ROI% = (total received − amount invested) ÷ amount invested × 100. The example — 10,000 in, 12,000 back — nets 2,000 and scores 20%, figures computed at build time by the identical engine behind the form. Note the denominator: ROI measures against what you put in, which is what separates it from a profit margin (measured against revenue).
ROI's blind spot is time
A 20% return sounds the same whether it took one year or ten, and that silence is where comparisons go wrong. Supplying the years field annualizes the return geometrically: 20% over three years works out to 6.27% per year, not 6.67% — dividing by the year count overstates the rate because it ignores compounding. For growth measured between a start and end value (a portfolio, revenue, a user count), the CAGR calculator is the same mathematics approached from the other end.
Annualized ROI is a CAGR in disguise
The two framings meet exactly. Take the example's invested amount and total received — 10,000 growing into 12,000 over three years — and feed them to the CAGR calculator as a start value and an end value. The compound annual growth rate it returns is 6.27%, the same number, to the last digit, as the 6.27% annualized ROI above. That is not a coincidence of these particular figures: annualizing an ROI is computing the CAGR of the invested amount compounding into the total received. Both raise the growth ratio 12,000 ÷ 10,000 to the power one-third and subtract one. The engine even agrees on the whole-period figure — the CAGR calculator reports a total growth of 20%, which is the plain ROI by another name.
The practical difference is only which two numbers you happen to hold. ROI starts from money out and money in and can stand on its own without a time span at all; CAGR starts from a value at two dates and always produces a yearly rate. When an ROI carries a holding period, the two collapse into one calculation. The guide ROI and CAGR explained works the identity through from both directions.
When the higher ROI is the worse deal
Two offers on the table. Investment A turns 10,000 into 16,000 over six years; investment B turns the same 10,000 into 13,000 in two. On plain ROI it is no contest — A scores 60% to B's 30%. Add the years and the ranking flips: A compounds at 8.15% per year, B at 14.02%.
The flip is not a technicality. B hands the money back four years earlier, and money in hand can be put to work again. Repeat B's two-year run three times across the same six years and the 10,000 grows to 21,970 — a 119.7% total return standing next to A's 60%. (Run back through the same formula, that end value annualizes to 14.02%, matching B itself — the annualized rate is consistent under compounding, which is exactly why it is the number to compare.) The caveat cuts the other way, too: the comparison only holds if the returned money really can be redeployed at a similar rate. If the 13,000 would idle in a low-interest account for the remaining four years, slow-but-long A may still win. The calculator reports both figures so the decision rests on that question, not on which raw percentage is bigger.
Reading a loss: the scale below zero
A return need not be positive, and the negative half of the scale is more precise than it first looks. Recover 7,500 from a 10,000 outlay and the net is -2,500, an ROI of -25% — the quarter of the investment that was not returned, stated as a share of what went in. The denominator is still the amount invested, so a negative ROI reads on exactly the same base as a positive one: -25% means a quarter of the outlay did not come back, just as 20% meant a fifth of it came back on top.
The scale has a floor. When nothing at all is recovered, the total received is zero, the net is the entire 10,000 outlay, and the ROI is -100% — the most a plain ROI can lose, because you cannot get back less than nothing. Everything between -100% and zero is a partial loss, and the figure says how partial: closer to zero, most of the money returned; closer to the floor, little of it did. This is also why the annualized rate is withheld for a total loss. Annualizing takes a root of the growth ratio, and the ratio for a wiped-out position is zero; there is no yearly rate at which money shrinks to nothing over a finite span, so the calculator reports the plain -100% and declines to invent one.
What ROI leaves out
Fees and frictions. ROI is only as honest as its two inputs. Say the 10,000 position also cost 300 in commissions and account fees along the way: the true outlay is 10,300, and the 12,000 exit is a 16.5% return, not the headline 20%. Anything spent to make or hold the investment — transaction costs, maintenance, taxes on the way out — belongs in the invested-amount field, and the difference is rarely rounding error.
Cash-flow timing. ROI compares two totals and sees nothing in between. A project that returns most of its cash in the first year and one that pays everything at the end can post the identical percentage, yet the first is usually preferable — early cash carries less risk and can be reinvested. The years field corrects for total duration, but not for the shape of the flows inside it; that is internal-rate-of-return territory, beyond what a two-number comparison can express.
Risk. A realized return says nothing about the odds it carried. A 30% gain from a diversified fund and the same 30% from a single speculative position are one number and two very different achievements. Ranking past investments by ROI alone quietly rewards whoever took the most risk and happened to survive it — and a percentage cannot tell survivorship from skill.
How the percentage you see is rounded
Many ROI figures do not land on a tidy number, and it is worth knowing what the display is doing with the ones that do not. Recover 40,000 on a 30,000 outlay and the exact ROI is one third — a decimal that never terminates. The engine holds it at full precision; what reaches the screen is rounded, and how far depends only on how the figure is formatted. To six decimal places it reads 33.333333%; the rounder two-place view used elsewhere on this page would show 33.33%. Both are the same internal value, shown to different widths — not two different answers.
The annualized rate meets this constantly, because taking a root almost always produces an irrational result. The example's 20% over three years annualizes to a figure that is 6.265857% at six places and 6.27% at two. Comparing this calculator's output against another tool, expect the trailing digits to differ when the two round their displays differently: both can be correct and still not match character for character, which is why the methodology page fixes a single rounding policy, set out in full there. Inputs are accepted up to the documented range of 1,000,000,000,000,000 in magnitude, past which double-precision arithmetic stops being dependable for everyday use and the calculator declines rather than show a figure it cannot stand behind.
Frequently asked questions
What goes in the "total received back" field?
The whole amount that came back to you — sale proceeds plus any payouts along the way — not just the profit. Put in 10,000 and get back 12,000, and the ROI is 20%. Entering the 2,000 profit there instead would wrongly report a large loss, because the calculator would read it as "spent 10,000, got 2,000 back".
What does a negative ROI mean?
You got back less than you put in. The scale runs down to −100%, which means nothing came back at all. Anything between 0 and −100 quantifies a partial loss: −25% says a quarter of the outlay was not recovered.
What is the difference between ROI and annualized ROI?
Plain ROI ignores time: 20% over three years and 20% over one year look identical. The annualized figure spreads the growth geometrically across the years — the same 20% total return is 6.27% per year over three years — so returns held for different spans can be compared honestly.
How is ROI different from CAGR?
They are two framings of the same growth. ROI starts from money out and money in; CAGR starts from a value at two dates and always expresses a yearly rate. Annualizing an ROI gives exactly the CAGR of the invested amount growing into the total received.
Should costs like fees be included?
Fold every cost of making the investment — purchase price, fees, improvements — into the invested-amount field, and every inflow into the received field. ROI is only as honest as its inputs; leaving costs out is the most common way the number flatters.
Does ROI account for when the cash comes back?
No. ROI compares two totals and ignores everything between them, so a project that returns most of its money in year one and a project that pays out only at the end can post identical percentages. The years field corrects for overall duration — 20% over three years annualizes to 6.27% — but not for the shape of the cash flows inside the period. That needs an internal-rate-of-return analysis, which this deliberately simple tool does not attempt.
Can the holding period be less than a year?
Yes. The years field accepts any value above zero, fractions included, and the annualizing step raises the growth ratio to the power 1 ÷ years — so a shorter span works by the same formula, not a special case. A 20% return earned over half a year annualizes to 44%, because a half-year run repeated across a full year compounds on itself. Leave the field blank and only the plain, time-free ROI is reported.
Why does the calculator reject a zero amount invested?
Because ROI divides the net gain by the amount invested, and dividing by zero has no defined value. Rather than show an infinity or an error code, the calculator declines the input and says so. The amount invested must be greater than zero; the total received back may be zero — that is the −100% total-loss case, which is a valid answer, not an error.
Amounts are processed locally and never transmitted. This is an arithmetic tool, not investment advice — it reports the rate your numbers imply, nothing more. Implementation details are on the methodology page.