ROI & ROAS Calculator
100% private — runs on your device, never uploaded. Works offline once loaded.
Switch between ROI and ROAS mode to measure how well an investment or an advertising campaign performed. Enter your figures to see the return as both a percentage and a ratio, plus an annualized ROI for multi-year holds. Everything is calculated on your device.
ROI: return on investment
Return on investment is the classic yardstick for how profitable a decision was relative to what it cost. The formula this tool uses is ROI = (final value − cost) / cost × 100. The numerator is your net profit, and dividing by cost expresses that profit as a percentage of the money you committed. A result of 50% means you earned half your investment back on top of getting your capital returned; a negative result means you lost money.
Because ROI is a ratio, it lets you compare very different opportunities on the same scale — a property, a stock, a piece of equipment, or a marketing push. What it deliberately ignores is time, which is why two investments with the same ROI can be worlds apart if one took six months and the other took six years.
Annualized ROI and why time matters
To make time-fair comparisons, this calculator can annualize your ROI when you enter a holding period. It uses the compound formula: annualized ROI = (final value / cost) raised to the power of 1/years, minus one, times 100. This answers the question "what steady yearly return would have produced this same result?"
A 44% total return over four years sounds strong, but annualized it is only about 9.5% per year. Conversely a 20% gain earned in three months annualizes to a much higher figure. Always annualize before comparing investments held for different durations.
ROAS: return on ad spend
Return on ad spend is the marketing world's version of ROI, expressed as a ratio rather than a percentage. ROAS = revenue attributable to ads / ad spend. A ROAS of 5x (or 500%) means every dollar of advertising generated five dollars of revenue. It is the fastest way to judge whether a campaign, channel or keyword is pulling its weight.
- ROAS above 1x means ads generated more revenue than they cost, before other expenses
- A "good" ROAS depends on your margins — a low-margin business needs a much higher ROAS to profit
- ROAS uses gross revenue, so it is not the same as profit; subtract product and overhead costs for the full picture
Caveats and good practice
These metrics are only as honest as the numbers you feed them. For ROI, be sure the cost includes every expense — fees, taxes, and maintenance — not just the headline price. For ROAS, decide up front how you attribute revenue to ads, because generous attribution windows can flatter a campaign.
Neither figure captures risk, cash flow timing, or the opportunity cost of tying up capital. Treat them as one input among several rather than a verdict on their own.
Frequently asked questions
Should I use gross or net revenue for ROAS?
ROAS conventionally uses the gross revenue that ads generated, divided by ad spend. If you want to know actual profitability, calculate ROI instead by treating your ad spend plus product costs as the cost.
What counts as a good ROI?
There is no universal number. Compare your ROI against alternatives such as a savings rate or index fund return over the same period, and always annualize multi-year results before judging them.
Can ROI be negative?
Yes. If the final value is less than the cost, net profit is negative and the ROI is negative, showing you lost a percentage of your investment.
Why is my annualized ROI lower than my total ROI?
Annualizing spreads the total return across the years you held the investment, so for any hold longer than one year the yearly figure is smaller than the cumulative total.
Does a high ROAS guarantee profit?
No. ROAS ignores the cost of goods, fulfilment and overhead. A business with thin margins can run a high ROAS and still lose money once every cost is counted.
Is my financial data stored anywhere?
No. The calculator runs entirely in your browser and never sends your figures to a server.
Advertisement