Acquisition gets the credit, but repeat buyers carry the economics. Learn how to compute repeat purchase rate, frequency, and LTV from order history with VedaX.
Most store dashboards open on the same view: revenue today, orders today, maybe sessions. It feels like progress. New customers came in, money landed, the chart points up and to the right.
But here's the uncomfortable part. The first order is often the worst order you'll ever take from a customer. By the time you subtract the cost of the product, the shipping, the payment fees, and whatever you spent to get that person to click buy, a brand-new customer can land you in the red. The profit, if it exists, lives in what they do *next*: the second order, the third, the quiet reorder six weeks later with no marketing attached to it.
That's the whole game in e-commerce economics. Acquisition gets the attention and the budget, but repeat buyers carry the margin. A store that only ever sells one order per customer is a store on a treadmill, spending more and more to stand still. A store where a healthy slice of buyers comes back is compounding.
The problem is that your repeat behaviour is almost invisible on a standard sales report. Revenue blends first-timers and loyal regulars into one line. You can't tell whether last month's good number came from genuine demand or from burning cash to acquire one-and-done buyers. To see it, you have to stop looking at orders and start looking at *customers* over time.
This post defines the three numbers that matter, shows how to compute them from data you already have, explains why a negative first order can still be a great customer, and walks through how VedaX Studio answers the question "what's my repeat rate?" in plain English.
You only need three to start. Skip the jargon and think about what each one actually tells you.
1. Repeat purchase rate (RPR). Of the customers who bought from you, what share came back and bought again? If 1,000 people placed a first order and 270 of them ever placed a second, your repeat purchase rate is 27 percent. It's the single cleanest read on whether your store creates loyalty or just transactions. Some teams measure it over all time; a sharper version asks "of customers acquired in a given window, how many returned within 90 days?" so it isn't flattered by ancient history.
2. Purchase frequency. Among customers who *do* repeat, how often do they buy? Average orders per customer over a period. A coffee or supplements brand might see buyers reorder monthly; a furniture store might be thrilled with once a year. Frequency only means something against your own category and your own past, never against someone else's headline number.
3. Customer lifetime value (LTV). The total margin a customer brings across their whole relationship with you, not just their first receipt. A simple, honest version multiplies three things you can pull from order history: average order value, purchase frequency, and how long customers stay active (lifespan). The more rigorous version sums the actual margin per order over a customer's life, which is where cost data starts to matter.
Notice the dependency. Repeat purchase rate feeds frequency, frequency feeds lifespan, and all of it feeds LTV. Improve the first one and the rest move with it. That's why "what's my repeat rate?" is usually the right first question, not "what's my LTV?". For the broader set of store metrics these sit inside, see our Shopify KPI tracking guide.
Good news: every one of these comes out of data you're already collecting. You do not need a tracking pixel or a new tool installed on your storefront. You need your order history with three fields present:
- a customer identifier (email, customer ID) so orders can be tied to a person
- an order date so you can sequence and bucket them in time
- an order value (and, ideally, cost so you can get to margin)
From those, the logic is straightforward:
- Repeat purchase rate = count of customers with two or more orders, divided by total customers. Group orders by customer, count how many have more than one, divide.
- Purchase frequency = total orders divided by total distinct customers over your chosen window.
- Average order value = total revenue divided by total orders.
- LTV (simple) = average order value times purchase frequency times average lifespan.
The catch is almost always the *data shape*, not the math. If the same shopper checked out twice with two different email addresses, they look like two customers and your repeat rate reads artificially low. If guest checkouts aren't tied to anything, they fragment too. Before you trust any of these numbers, it's worth making sure your order records are clean and consistently keyed. Our guide on structuring spreadsheet data for analytics covers the common traps, and why your numbers don't match across tools explains why your platform's "customers" count and your own calculation can legitimately disagree.
The other honest caveat: a true margin-based LTV needs cost per item. If your data only has revenue, you can still compute revenue-based LTV, which is useful for ranking and trends, but it will overstate the actual value of a customer. VedaX computes from what you connect; it does not invent a cost it can't see. When you do have cost-per-item on your Shopify products, the Shopify profit and margin guide walks through turning revenue into real margin, which is the input that makes LTV trustworthy.
This is the idea that reframes everything, so it's worth slowing down on.
Imagine a store that sells a starter kit for 40. The product costs 18, shipping and fees take another 9, and it spent, say, 20 to acquire that buyer. Do the arithmetic on the first order alone and the customer is negative: roughly seven in the hole before anything else. On a first-order-only view, that customer looks like a mistake, and the marketing that brought them looks like a loss.
Now let that same customer reorder the refill three times over the next year at 30 each, with no further acquisition cost because they came straight back. Each of those orders carries real margin. Suddenly the relationship that started underwater is comfortably profitable. The first order bought the customer; the repeat orders are where you actually got paid.
This is why judging acquisition on first-order ROI is one of the most common and expensive mistakes in e-commerce. Channels and campaigns that look unprofitable on day one can be your best sources of long-term value, and channels that look cheap can bring in one-and-done bargain hunters who never return. You cannot tell the two apart without LTV.
It also explains why discount strategy and retention are linked. A deep first-order discount might be a smart investment if those buyers repeat, or a pure giveaway if they don't. The only way to know is to follow the cohort forward. That's exactly the question we dig into in discount and promo ROI: a sale that loses money on the first order can still win if it recruits repeat buyers, and the same sale is a disaster if it just trains people to wait for the next markdown.
The takeaway: stop asking "did this order make money?" and start asking "did this *customer* make money, over their life?"
A single blended repeat rate is useful, but it hides timing. The fix is a cohort by acquisition month.
Group every customer by the month they placed their first order. That group is a cohort, the January cohort, the February cohort, and so on. Then track each cohort forward: how much did the January buyers spend in month one, month two, month three? What share of them placed a second order within 60 or 90 days?
Laid out as a grid, this turns into one of the most revealing pictures in your whole business. You can see:
- Whether retention is improving. If your March cohort is repeating faster than your January cohort, something you changed is working. If newer cohorts are fading faster, you have a leak to find before it shows up in revenue.
- How long it takes to recover acquisition cost. Read across a cohort's cumulative margin until it crosses what you paid to acquire it. That month is your payback period, the real one, not a guess.
- Which months brought quality versus volume. A big promo month might show huge first-order counts but a thin repeat tail, a classic sign you bought transactions, not customers.
Cohorts also separate a genuine trend from a one-off blip, because you're comparing like with like over equal time. If you want the full method, cohort and retention analysis goes deep, and if your worry is buyers quietly going dormant, spotting customer churn early from your data shows how to catch the fade before the cohort flatlines.
The mindset shift is simple: a sales chart tells you what happened *this month*; a cohort grid tells you what your customers are *worth*.
Here's where this stops being a spreadsheet exercise. VedaX is read-only by design, so connecting it never writes to or changes your store or database.
Connect your order data. Plug in Shopify in a few steps, or connect Stripe for payments, a SQL database, Google Sheets, or upload a CSV or Excel export. For subscription or payment-led businesses, the Stripe revenue and LTV angle covers recurring-revenue metrics specifically.
Ask VedaX Buddy in plain English. Type "what's my repeat purchase rate this year?" or "average orders per customer by acquisition month" and Buddy writes the SQL for you and returns a chart or table. You don't write a query; you ask a question. If you're not sure what to ask first, questions to ask your Shopify data is a good prompt list.
Segment without building anything. Because VedaX classifies each column with semantic roles, knowing which field is a metric, a date, an identifier, or a dimension, it analyses the right things automatically. It recognises your customer ID as an identifier and your order date as a date, so cohorting and per-customer rollups just work. If it ever guesses wrong, you correct it and your correction wins. From there you can split repeat rate by first product, by region, or by acquisition month. For the broader playbook on slicing buyers into meaningful groups, see customer segmentation analytics.
Let the insights find you. Beyond asking, VedaX's proactive Insights feed surfaces when a metric like repeat rate moves versus the prior period, and contribution analysis tells you *which segment* drove the change, so you learn that, say, your repeat rate dipped because one acquisition cohort underperformed, not because the whole store softened. Every finding comes with Ask Buddy and View data, so you can go from headline to underlying rows in a click.
Put it on a dashboard and schedule it. Pin repeat rate, frequency, and a cohort view to a dashboard, then set up a recurring email so the numbers land in your inbox without you logging in. You can also opt in to an analytics email digest of your insights on a daily or weekly cadence. To wire retention into a full financial picture, the live P&L dashboard guide ties revenue, margin, and customer value together.
You don't need a data team or a quarter-long project. A focused hour gets you most of the value.
1. Connect your order history — to VedaX, read-only, via Shopify, a marketplace, a database, Google Sheets, or a CSV upload.
2. Ask Buddy for your repeat purchase rate — over the last 12 months. Write the number down. This is your baseline.
3. Ask for average orders per customer — to get your purchase frequency, and average order value while you're there.
4. Build one cohort view by acquisition month — and look for whether recent cohorts repeat faster or slower than older ones.
5. Check your data quality. — If repeat rate looks suspiciously low, confirm guest checkouts and duplicate emails aren't splitting one shopper into many.
6. If you have cost-per-item — , layer in margin so your LTV reflects real profit, not just revenue.
Do this and you'll stop running your store on the one number that flatters you, today's revenue, and start running it on the numbers that actually compound: who comes back, how often, and what they're worth over their life. Acquisition fills the top of the funnel. Repeat buyers are the business. The data to prove it is already sitting in your order history, waiting for the right question. For the wider operating philosophy, our framework for data-driven decisions ties it all together, and if a busy season is coming, prepare for peak season with a data checklist makes sure your repeat-buyer engine is ready before the rush.
There is no universal benchmark, and chasing someone else's headline number will mislead you. A once-a-year furniture store and a monthly supplements brand have completely different healthy ranges. The number that matters is your own repeat purchase rate measured consistently over time. Compute your baseline, then watch whether it trends up or down across acquisition cohorts. Improvement against your own past is the real signal, not a comparison to an industry figure you can't verify.
Average order value is a single transaction: total revenue divided by total orders. Customer lifetime value spans the entire relationship, the total margin a customer brings across every order they ever place. A customer with a modest order value who reorders ten times is far more valuable than a big one-time spender. AOV tells you about a receipt; LTV tells you about a customer. That difference is exactly why a first order can be unprofitable while the customer is highly profitable over their life.
Yes, once your order history is connected. You ask VedaX Buddy in plain English, for example 'what's my repeat purchase rate this year?', and it writes the SQL and returns a chart or table. Because VedaX classifies your columns by semantic role, it recognises your customer identifier and order date and handles per-customer rollups and cohorts correctly. A true margin-based LTV needs cost-per-item in your data; if only revenue is present, VedaX computes a revenue-based version rather than inventing a cost it can't see.
Because the first order carries the full weight of acquisition cost on top of product, shipping, and fees, while later orders usually carry none of that acquisition cost. A buyer you acquired at a loss can become very profitable once they reorder a few times with no further marketing spend. This is why judging acquisition channels on first-order ROI alone is misleading, and why following customers forward by cohort, rather than counting single orders, is the only way to see true profitability.
At minimum, order history with three fields: a customer identifier so orders tie to a person, an order date so you can sequence and bucket them, and an order value. That alone gives you repeat purchase rate, frequency, AOV, and a revenue-based LTV. To get a margin-based LTV you also need cost per item. The most common accuracy problem is data shape, not math: duplicate emails or untied guest checkouts split one shopper into several and understate your repeat rate, so clean, consistently keyed records matter.
See it in VedaX: Shopify and marketplace analytics in VedaX