UTILYARD
Ce guide n'est disponible qu'en anglais.
guides

How to Calculate ROI

What ROI means, how to calculate it, and when to use CAGR for multi-year investments.

What is ROI?

Return on Investment (ROI) is a measure of how much you gained (or lost) relative to what you put in. It answers the most fundamental question in investing: was it worth it?

ROI is expressed as a percentage. A 50% ROI means you earned back 50 cents for every dollar you invested, on top of getting your dollar back. A -20% ROI means you lost 20 cents on every dollar.

ROI is intentionally simple and broadly applicable. It works for evaluating individual stocks, real estate, business projects, marketing campaigns, or any other scenario where money goes in and (hopefully) more money comes out.

The ROI formula

The formula is straightforward:

ROI = (Final Value - Initial Value) / Initial Value × 100

You can also express it as:

ROI = (Net Gain / Cost) × 100

Where Net Gain = Final Value − Initial Value. Both formulas give the same result.

Simple worked example

You invest $5,000 in a stock and sell it later for $7,500.

Net Gain = $7,500 - $5,000 = $2,500

ROI = ($2,500 / $5,000) × 100 = 50%

A 50% ROI. Clean and simple. But notice something missing: this tells you nothing about how long it took. A 50% return over 2 years is excellent. Over 20 years, it is underwhelming. This is where ROI falls short.

The problem with ROI over multiple years

ROI ignores time entirely. This creates a real comparison problem. Consider two investments, both starting at $5,000:

Investment A

$5,000 → $7,500

Over 4 years

ROI: 50%

Investment B

$5,000 → $7,500

Over 10 years

ROI: 50%

Both show 50% ROI, but Investment A is dramatically better — it achieved the same gain in less than half the time. To make a meaningful comparison, you need to account for the time dimension. That is exactly what CAGR does.

What is CAGR — and when to use it

CAGR (Compound Annual Growth Rate) is the annualized version of your return — the steady yearly growth rate that would take you from your starting value to your ending value over the given number of years.

The formula is:

CAGR = (End Value / Start Value)^(1 / years) - 1

The (1 / years) exponent is what converts total growth into an annualized rate. It reverses the compounding math: instead of multiplying by a rate n times, you take the nth root of the total growth.

Use CAGR whenever you want to compare investments that cover different time periods, or whenever you need to communicate investment performance in a way that is intuitive and comparable to annual benchmarks like the S&P 500's historical ~10% per year.

CAGR worked example

Back to Investment A: $5,000 → $7,500 over 4 years.

CAGR = ($7,500 / $5,000)^(1/4) - 1
CAGR = (1.5)^(0.25) - 1
CAGR = 1.1067... - 1
CAGR ≈ 10.67% per year

Now compare Investment B: $5,000 → $7,500 over 10 years.

CAGR = ($7,500 / $5,000)^(1/10) - 1
CAGR = (1.5)^(0.1) - 1
CAGR = 1.0414... - 1
CAGR ≈ 4.14% per year

Now the comparison is clear. Investment A returned 10.67% annually — nearly three times better than Investment B's 4.14%. Same total ROI, very different CAGR. CAGR cuts through the time distortion.

Annualized return vs. average annual return

These two phrases sound alike but produce very different numbers. CAGR (annualized return) uses the geometric mean — it accounts for compounding. Average annual return typically refers to the arithmetic mean of year-by-year returns, which ignores compounding and consistently overstates performance.

Here's the classic illustration of why the arithmetic average misleads:

Year 1: +50%  ($10,000 → $15,000)
Year 2: -33.3%  ($15,000 → $10,000)

Arithmetic average: (+50 + -33.3) / 2 = +8.35% per year
CAGR:              ($10,000 / $10,000)^(1/2) - 1 = 0%

You ended up exactly where you started — a true return of 0%. But the arithmetic average says you earned 8.35% per year. That's the distortion.

Rule of thumb: When evaluating investment performance over multiple years, always use CAGR. Arithmetic averages are useful for estimating expected future returns but will overstate actual realized returns whenever there is any volatility.

Negative ROI — the loss scenario

ROI can be negative when your final value is less than your initial investment:

You invest $5,000 and sell for $3,800.

ROI = ($3,800 - $5,000) / $5,000 × 100
ROI = -$1,200 / $5,000 × 100
ROI = -24%

A -24% ROI means you lost 24 cents for every dollar invested.

Note on CAGR with losses: CAGR is mathematically valid for negative returns as long as the end value is positive (i.e. you did not lose everything). A CAGR of -10% means your investment shrank by 10% per year on average. If the end value is zero or below, CAGR is undefined.

Try it: Investment Return Calculator
Calculate ROI, CAGR, and annualized returns for any investment.
Open tool →

Investment return benchmarks

Once you calculate your CAGR, the natural next question is: how does it compare? Here are historical annualized return benchmarks by asset class.

Asset classAvg. annual returnNotes
S&P 500 (US stocks)~10% nominal / ~7% realHistorical avg since 1957; varies widely year to year
US bonds (10-yr Treasury)~4–5%Lower risk, lower return; rate-sensitive
Real estate~8–12% totalAppreciation + rental income; highly location-dependent
High-yield savings / CDs~4–5%Current rate environment; historically lower
Inflation (CPI)~3%Long-run average; subtract from nominal to get real return

Historical returns are not guarantees of future performance. All figures are approximate long-run averages.

Frequently asked questions

What is a good ROI?
It depends entirely on the asset class, the time period, and the risk involved. For publicly traded US stocks, the S&P 500 has historically returned about 10% per year (7% after inflation). A 10% annual CAGR is considered a solid benchmark. For real estate, 8–12% total annual return (appreciation + rental income) is typical in strong markets. For a business, ROI expectations are much higher — often 20–30% or more — to compensate for the additional risk and effort. There is no universal "good" ROI without knowing the risk and time frame.
What's the difference between ROI and CAGR?
ROI is the total percentage gain or loss over the entire holding period — it ignores time. CAGR is the annualized rate of return that would produce the same total gain if it compounded evenly each year. ROI is useful for a quick snapshot of how much you made or lost. CAGR is the right metric when you want to compare investments held for different lengths of time, or when you want to benchmark performance against annual returns quoted by funds and indices.
How do I compare investments with different time periods?
Always use CAGR for cross-period comparisons. Convert both investments to their annualized rate and compare those numbers directly. For example, a 100% ROI over 2 years is a 41.4% CAGR, while a 100% ROI over 10 years is only a 7.2% CAGR — the first is far superior even though the raw ROI is identical. Once everything is expressed as an annual percentage, the comparison becomes apples-to-apples.
What is the difference between annualized return and average annual return?
Annualized return (CAGR) is the geometric mean — it shows the steady compounded rate that would take your initial value to your final value. Average annual return is the arithmetic mean of yearly returns. The arithmetic average always overstates realized performance when returns fluctuate. For example, gaining 50% then losing 33.3% produces a 0% true return, but an arithmetic average of +8.35%. Always use CAGR to evaluate what actually happened.
What is the difference between real and nominal returns?
Nominal return is the raw percentage your investment gained. Real return adjusts for inflation — it tells you how much your purchasing power actually increased. A rough formula: real return ≈ nominal return − inflation rate. If your investment returned 9% but inflation was 3%, your real return was about 6%. Over long periods, inflation erodes a significant portion of nominal gains, so real return is the more meaningful measure for wealth-building.
Comment calculer le ROI — UtilYard