How to Calculate ROI for Your Online Store: Formula and Examples

November 4, 2026

Return on investment (ROI) answers a simple question: for every unit of money you put into your online store, how much comes back? An ecommerce ROI calculation is easy to do on paper. The hard part is being honest about what goes into it, because a result that leaves out your own time or the stock still on your shelf can look much better than reality.

This guide gives you the formulas, a list of costs that are easy to forget and two worked examples: one for a whole year of a store and one for a single campaign. Every number below is a made-up example, not a benchmark, and there is no "good" ROI figure here for you to aim at: your target depends on your goals and your alternatives. This is general information, not financial, legal or tax advice.

What ROI means for an online store

ROI compares what an investment returned with what it cost. For a store you can apply it at different levels:

  • The whole store over a period, such as a year.
  • One decision, such as a batch of stock, a photo shoot or a new tool.
  • One campaign, such as a month of paid ads or a promo code you shared with a partner.

The formula stays the same. What changes is which gains and which costs belong to the thing you are measuring. Decide that first and write it down, so next quarter you compare like with like.

The basic formulas

ROI = (gain − cost) ÷ cost

Multiply the result by a hundred to read it as a percentage. A result of 0.25 means 25%: you got your money back plus a quarter on top. A negative result means you lost part of what you put in.

For a store, "gain" should be the money the investment brought in after you have paid for the products you sold, not the total sales. Two related formulas help:

Gross profit = revenue − cost of the goods you sold

Net profit = gross profit − all other costs of running the store

Payback period = money invested upfront ÷ net profit per month

ROI tells you how much came back. Payback tells you how long it took. A small store can be happy with a modest ROI that pays back fast, or worried about a high ROI that ties up cash for a year. Look at both.

Costs people forget

The arithmetic is simple; the risk is in what you leave out. Check this list against your own numbers:

  • Your own time. If you spend evenings packing parcels and answering messages, that time has a value. Put a price on an hour (what you could earn doing something else, or what you would pay someone) and count the hours.
  • The platform fee. A subscription, any paid add-ons and any percentage of sales your platform takes. Transaction Fees vs Flat Subscription: How to Calculate the True Cost of an E-commerce Platform shows how to compare pricing models.
  • Payment provider fees. The percentage and fixed fee on each payment, plus conversion, refunds and disputes. Payment Processing Fees Explained for Small Online Shops breaks them down.
  • Returns. Delivery both ways, items you cannot resell and the time to process each return.
  • Packaging and delivery you pay for yourself, including free delivery offers.
  • Stock tied up. Products you bought but have not sold yet are cash you cannot use for anything else. If some of it stops selling, it turns into a loss; Dead Stock: How to Find It and What to Do With It covers how to spot that early.
  • Small recurring costs: domain, photo equipment, design tools, accounting help.
  • Discounts and promo codes, which lower the revenue you actually received.

An ecommerce ROI calculation, step by step

Here is a hypothetical first year of a small store. All figures are made-up examples.

Gains (example):

  • Revenue after refunds: 15,000 from 300 orders, average order 50.

Costs (example):

  • Cost of the goods sold: 6,000
  • Platform subscription: 12 months × 40 = 480
  • Payment provider fees (example effective rate 3%): 450
  • Packaging and delivery you paid: 300 orders × 3 = 900
  • Ads and promotion: 1,200
  • Returns (delivery and items you could not resell): 300
  • Other tools, domain and photo props: 330

Total cash costs = 6,000 + 480 + 450 + 900 + 1,200 + 300 + 330 = 9,660

ROI without your time = (15,000 − 9,660) ÷ 9,660 = 0.55, or about 55%

That looks healthy. Now add the owner's time. In this example the owner works 6 hours a week for 50 weeks, which is 300 hours, and values an hour at 15.

Own time = 300 × 15 = 4,500

ROI with your time = (15,000 − 14,160) ÷ 14,160 = 0.06, or about 6%

Finally, the stock on the shelf. In the example, the owner also bought 1,500 of stock that has not sold. It is not in the costs above, because it can still be sold. But if it never sells:

ROI if the unsold stock is lost = (15,000 − 15,660) ÷ 15,660 = −0.04, or about −4%

Same store, same year, three honest answers: about 55%, about 6% and about −4%. None of them is wrong; each answers a different question. The useful habit is to know which one you are looking at.

ROI of a single campaign

The same formula works for one marketing push, but the gain must be profit, not sales. In this example, you spend 400 on ads in a month and they bring 20 orders with an average of 50.

  • Revenue: 20 × 50 = 1,000
  • Cost of goods at an example 40% of the price: 400
  • Payment fees at an example 3%: 30
  • Packaging and delivery you pay: 20 × 3 = 60
  • Profit before ad spend: 1,000 − 400 − 30 − 60 = 510

Campaign ROI = (510 − 400) ÷ 400 = 0.275, or about 28%

If you had used revenue as the gain, you would get (1,000 − 400) ÷ 400 = 1.5, or 150%, which overstates the result more than five times. Revenue divided by ad spend has its own name (return on ad spend), and it is a different number from ROI.

To know which orders came from a campaign, give it its own promo code or tracked link and compare the period with a similar one before.

How long until it pays back

Using the store example: suppose the owner put 3,000 in upfront (first stock, photos, setup) and the store makes a net profit of 5,340 a year before the owner's time, about 445 a month.

Payback period = 3,000 ÷ 445 = about 6.7 months

If you include your own time, the monthly profit drops to about 70 and the payback stretches to more than three years. That is a signal to look at prices, costs or how you spend your hours, not a reason to stop counting them.

Where ROI can mislead you

  • Too short a period. Stock bought in one month and sold over the next three makes the first month look terrible and the others look great.
  • Ignoring repeat customers. A campaign that brings buyers who come back later can earn more than the first order shows. Track it over a few months.
  • Mixing cash and profit. Buying stock lowers your cash today but is not yet a cost in a profit view. Keep both views.
  • Comparing with no alternative. A result means little alone. Compare it with what the same money and hours could do elsewhere.

Platform costs in RedCart

RedCart takes no commission on sales; payment provider fees are separate and not included. That keeps the platform line in your calculation a fixed subscription, so it does not grow with your revenue. Your dashboard shows this month's revenue and order counts, which gives you two of the inputs above; product costs, your time and other expenses still come from your own records.

In short

Use profit, not sales, as the gain. Count your time, payment fees, returns and stock you have not sold. Calculate ROI and payback together, and always note which version of the number you are looking at.

If you want a store where the platform cost stays a fixed line in your numbers, create a RedCart account.