ROI Calculator
Calculate return on investment, net profit, and annualized ROI — instantly.
100% in your browser — nothing uploadedCalculate return on investment with annualized ROI
Decimals: use a period or a comma — 99.5 or 99,5.
How ROI is calculated and what the number actually means
Return on investment (ROI) is the simplest way to measure whether an investment was worth it. The formula is straightforward: subtract what you spent from what you got back, divide by what you spent, multiply by 100. A $10,000 investment that returned $15,000 has an ROI of 50%. Negative ROI means a loss. It works for any investment type — a marketing campaign, a stock purchase, a piece of equipment, a real estate deal.
Simple ROI has one major limitation: it ignores time. A 50% return in 6 months is dramatically better than 50% over 10 years, but the basic formula reports the same number. That is why this calculator also shows annualized ROI when you provide a time period. Annualized ROI uses the compound annual growth rate (CAGR) formula to express the return as if it grew at a steady rate each year, making different investments with different holding periods directly comparable.
The annualized ROI formula is: ((1 + ROI/100) ^ (1/years) - 1) × 100. This is the same as the CAGR formula — it finds the constant annual rate that would compound to the total return over the given number of years. A 50% return over 5 years is an annualized ROI of about 8.4%, because 1.084^5 ≈ 1.50.
All calculations run locally in your browser. Your financial data is never sent to a server. The guide sections below show how to calculate ROI in Excel and SQL for batch processing across portfolios or campaign data.
ROI formula and worked example
ROI (%) = ((Total Return - Investment Cost) / Investment Cost) × 100
Example:
Investment cost: $10,000
Total return: $15,000
Net profit: $15,000 - $10,000 = $5,000
ROI: ($5,000 / $10,000) × 100 = 50%
Annualized ROI = ((1 + ROI/100) ^ (1/years) - 1) × 100
Over 3 years: ((1.50) ^ (1/3) - 1) × 100 = 14.47%/yearROI in Excel or Google Sheets
A = investment cost, B = total return, C = years (optional)
Net profit: =B2-A2
ROI (%): =(B2-A2)/A2*100
Annualized ROI: =((B2/A2)^(1/C2)-1)*100ROI in SQL
SELECT
campaign,
cost,
revenue,
revenue - cost AS net_profit,
ROUND((revenue - cost) * 100.0 / NULLIF(cost, 0), 2) AS roi_pct,
ROUND((POWER(revenue * 1.0 / NULLIF(cost, 0),
1.0 / NULLIF(years, 0)) - 1) * 100, 2) AS annualized_roi
FROM campaigns;Reference tables
FAQ
What is a good ROI?
It depends on the investment type and time frame. The S&P 500 averages about 10% annually. A marketing campaign might need 300–500% to justify the team time. Real estate typically targets 8–12% annually. The key is comparing ROI to your opportunity cost — what else you could have done with that money.
What is the difference between ROI and annualized ROI?
ROI is the total return regardless of time. Annualized ROI normalizes it to a per-year rate, making investments with different holding periods comparable. A 100% ROI over 10 years (annualized ~7.2%) is worse than a 50% ROI over 2 years (annualized ~22.5%).
Is my financial data private?
Yes. All calculations run in your browser. No investment data is ever sent to a server.