
Key takeaways
- ROI % = (Amount returned − Amount invested) ÷ Amount invested × 100.
- Annualized ROI = ((Amount returned ÷ Amount invested)^(1 ÷ Years) − 1) × 100, which lets you compare investments of different lengths.
- Measure the return in profit, not revenue: in our printer example, using revenue turns a 69% ROI into an apparent 177%.
- Count your own hours as a cost. Adding 200 owner hours at $35 cuts the same printer’s ROI from 69% to 10%, or 3.2% a year.
- A good ROI is one whose annualized rate beats what the money costs you to borrow or could safely earn elsewhere, with extra headroom for risk.
The ROI formula
ROI compares what an investment gave back with what it cost. Subtract the amount invested from the amount returned to get net profit, then divide by the amount invested. Multiply by 100 for a percentage.
Spend $10,000 on something that brings back $15,000 and your net profit is $5,000. Divided by $10,000, that is an ROI of 50%. Every dollar you put in came back with 50 cents of profit attached.
A negative ROI means you lost money. An ROI of −100% means you lost everything you put in. There is no ceiling on the positive side. Some people also quote the money multiple, returned ÷ invested, which is 1.5× in this example.
Net profit = Amount returned − Amount invested ROI % = Net profit ÷ Amount invested × 100 Money multiple = Amount returned ÷ Amount invested
Free toolROI calculator
What counts as invested and what counts as returned
Amount invested is everything you paid to get the return: the purchase price, delivery, installation, training, software, maintenance plans, and the cost of your own or your staff’s time spent making it work. If you borrowed to fund it, the interest is a cost too.
Amount returned is the extra profit the investment produced, not the extra sales. If a new machine lets you take on $36,000 of jobs but the materials for those jobs cost $14,000, the machine returned $22,000. Add anything you can sell it for at the end, and count only gains you would not have made without it.
- Equipment: extra gross profit from new work, plus savings on outsourcing or labour, plus resale value at the end.
- Marketing: gross profit on the sales the campaign brought in, not the revenue.
- Software or process changes: hours saved multiplied by what those hours cost you, plus any errors or refunds avoided.
Annualized ROI: adjusting for time
Simple ROI ignores how long your money was tied up. A 50% return over three years and a 30% return over one year are not comparable as they stand. Annualized ROI converts any return into the equal yearly rate that would produce the same end value. It is the same calculation as the compound annual growth rate (CAGR).
The 50% over three years works out to 14.47% a year, because the gains compound: 1.1447 × 1.1447 × 1.1447 is about 1.5. The 30% in one year is simply 30% a year, so it used the money more than twice as efficiently.
Do not divide the total ROI by the number of years. 50% ÷ 3 gives 16.7%, which overstates the yearly rate because it ignores compounding. The holding period also works the other way: a 10% gain in six months annualizes to 21%, but only if you could repeat it for the second half of the year, so treat annualized figures for short periods with care.
Annualized ROI % = ((Amount returned ÷ Amount invested)^(1 ÷ Years) − 1) × 100 Years can be a decimal: 18 months = 1.5
| Total ROI | Years held | Annualized ROI |
|---|---|---|
| 50% | 1 | 50.00% |
| 50% | 2 | 22.47% |
| 50% | 3 | 14.47% |
| 50% | 5 | 8.45% |
| 10% | 0.5 | 21.00% |
Worked example: a print shop buys a new printer
A small print shop buys a large-format printer for $11,500, pays $500 for setup and training, and takes a $1,000 maintenance plan covering three years. Over those three years the printer brings in $36,000 of banner and poster jobs that the shop used to turn away. Ink and print media for those jobs cost $14,000. The owner also spends about 200 hours over the three years running and selling the new work, time worth about $35 an hour to the business.
- Invested is $11,500 + $500 + $1,000 = $13,000, and $20,000 once 200 hours × $35 = $7,000 of owner time is added.
- Returned is $36,000 of revenue − $14,000 of ink and media = $22,000 of gross profit.
- Using revenue makes the printer look like a 177% winner. Counting every cost shows a 10% return over three years, about 3.2% a year.
- If the shop borrowed to buy the printer at an interest rate above 3.2% a year, the printer earned less than the loan cost. Counting a resale value at the end, or finding cheaper media, would change the answer, so it is worth running both.
| Method | Invested | Returned | ROI | Annualized (3 years) |
|---|---|---|---|---|
| Wrong: revenue as the return | $13,000 | $36,000 | 176.9% | 40.4% |
| Better: gross profit as the return | $13,000 | $22,000 | 69.2% | 19.2% |
| Best: also count owner hours | $20,000 | $22,000 | 10.0% | 3.2% |
ROI vs profit margin vs ROAS
These three numbers are often confused because they can all come from the same sales. They divide by different things, so they answer different questions.
Take a $2,000 ad campaign that brings in $8,000 of sales at a 40% gross margin, so $3,200 of gross profit. ROAS divides revenue by ad spend: $8,000 ÷ $2,000 = 4.0. ROI divides the profit left after the ads by the ad spend: ($3,200 − $2,000) ÷ $2,000 = 60%. Profit margin divides that same $1,200 by the sales: $1,200 ÷ $8,000 = 15%.
A ROAS of 4 sounds like a 300% return, but the real ROI is 60% because the products cost money too. To find the ROAS your own margin needs before ads stop losing money, see our guide to break-even ROAS.
| Measure | Formula | Result | Answers |
|---|---|---|---|
| ROAS | Revenue ÷ Ad spend | 4.0 | How much revenue each ad dollar brought in |
| ROI | (Gross profit − Ad spend) ÷ Ad spend | 60% | How much profit each dollar invested earned |
| Profit margin | (Gross profit − Ad spend) ÷ Revenue | 15% | How much of each sale you kept |

What is a good ROI for a small business?
There is no single good figure, because a good ROI depends on how long the money is tied up and how likely you are to lose it. A better test is to set a minimum yearly return, often called a hurdle rate, and check that the annualized ROI clears it.
Start with what the money costs you. If you borrow, the interest rate on the loan is the floor: an investment that returns less per year than the loan costs is losing money. If you pay cash, compare with what the money could earn with little risk, such as in a savings account, because that is the return you give up. Then add headroom for risk. A proven upgrade to equipment you already use deserves a lower hurdle than a new product line or an untested ad channel.
Also check the payback period, the time until the profit covers what you invested. Two projects with the same ROI are not equal if one ties up your cash for four years and the other pays back in six months.
- Is the annualized ROI above your borrowing rate, or above what the cash could earn safely?
- Is there enough margin above that rate to cover the chance that sales come in lower than planned?
- Can the business afford the cash to be tied up until payback?
Common ROI mistakes
Most inflated ROI figures come from the same handful of errors. Each one makes the numerator bigger or the denominator smaller than it really is.
- Using revenue instead of profit. Sales are not what you keep. Subtract the cost of goods, materials, shipping and fees first.
- Ignoring time. A big total return over many years can be a poor yearly return. Annualize before you compare.
- Ignoring your own hours. Owner time is not free. If the work stops you doing something else that earns money, value it at what that time is worth.
- Leaving out hidden costs: installation, training, software subscriptions, maintenance, interest and the space the investment takes up.
- Counting sales you would have made anyway. Only the extra profit caused by the investment belongs in the return.
- Forgetting that money arrived in stages. ROI uses one amount in and one out. If payments or returns were spread out, a spreadsheet measure such as internal rate of return gives a truer picture.


