Customer Lifetime Value in Magento: Find Your Real VIPs

Magento customer lifetime value (CLV) is the total profit a customer generates across every order they place, not the total they spend. It's average order profit multiplied by orders per year multiplied by years retained. The distinction matters because your highest-spending customer can be one of your least profitable once discounting, shipping and returns are counted. Real VIPs are found by ranking on lifetime profit, not spend.
What is customer lifetime value and why spend is the wrong metric
CLV estimates what a customer is worth to you over the whole relationship. Magento, like most stores, ranks customers by lifetime spend by default, and spend is a reasonable first proxy - but it breaks in four common cases, and those cases are exactly the customers you most need to identify.
A workable CLV formula for a Magento merchant:
CLV = average order profit × orders per year × expected years as a customer
Note "profit", not "value". If you plug in average order value you get the number most tools show and it flatters discount-hunters and returns-abusers. The whole point is to swap spend for profit so the ranking tells the truth. A simpler version you can calculate today from history: total profit generated to date, which needs no prediction and sorts your existing base on real numbers.
Four customers who break simple ranking
These four turn up in every store. Rank them by spend and you'll reward the wrong three.
| Customer | Looks like | Actually |
|---|---|---|
| The big spender, thin margin | Top of the spend leaderboard | Only ever buys discounted, on free next-day shipping. High revenue, slim or negative profit. |
| The quiet earner | Mid-table by spend | Buys full-price, standard shipping, never returns. Lower revenue, high profit per order. |
| The frequent buyer | Small individual orders | Orders monthly for years. Modest AOV, but the order count and low acquisition cost make lifetime profit large. |
| The refund-heavy buyer | Healthy spend total | Returns a third of what they order. Each cycle costs outbound shipping, the payment fee and restocking. Net contribution can be negative. |
Worked quickly: the big spender places 4 orders a year at £200 but on a 5% net margin after discounts and free shipping, so about £10 profit each, £40 a year. The quiet earner places 4 orders at £90 on a 35% margin, about £31 each, £124 a year. The spend leaderboard puts the big spender first by a mile. The profit leaderboard flips them. Send your loyalty perks and early access to the spend leader and you're subsidising your least profitable customer while ignoring the one quietly paying your rent.

Why order count, margin and refunds all matter
Three factors decide whether a customer is a real VIP, and no single one is enough on its own.
Order count is the closest thing to a loyalty signal you can measure. A customer on their fifth order cost you nothing to acquire this time, so more of each order drops to profit. Repeat rate is the cheapest growth a store has.
Margin decides whether spend is worth anything. Revenue at a 5% margin and revenue at a 40% margin are not the same money, and a customer who only ever buys your loss-leaders is worth far less than their spend suggests.
Refunds and support burden are the costs that never show on a spend report. A customer who returns heavily, or opens a ticket on every order, carries a cost that eats their contribution. Two customers with identical spend and margin can differ entirely once one returns a third of their orders.

How to segment customers by value
Once you can rank by profit, split the base into a handful of segments you'll actually act on differently. A pyramid works because the shape is real - most stores have a wide base of one-time buyers and a narrow tip of genuine VIPs:
- VIPs (top by lifetime profit): your priority segment. Early access, the odd genuine thank-you, human support. Small in number, large in contribution.
- Repeat buyers (multiple orders, healthy margin): the growth pool. Nudge order frequency and average order value, and protect them from churn.
- One-time buyers (single order): the base. The goal is a good second-order experience, not a discount that erodes the margin further.
- Watch list (high refunds or negative contribution): not to punish, but to understand. Sometimes it's a sizing problem you can fix; sometimes it's a customer you stop actively chasing.

How this applies to Magento 2
Magento 2's customer grid shows name, email, group, and not much that helps you judge value. There's no lifetime-value column, no order count on the grid, no margin, and certainly no refund rate. The default customer groups (General, Wholesale, Retailer) are tax and pricing buckets, not value tiers, so out of the box you can't sort your base by what customers are worth. As of Magento 2.4.9 that's all reporting you'd build or add.
You can get partway with the Reports menu - Customers > Order Count and Order Total give you a per-customer view, and the default admin dashboard even has a best-customers tab - but it's all spend-based, slow on a large base, and you can't act on it from the customer grid where you actually manage people. And none of it touches profit, because Magento never calculates profit anywhere.
Where Moogento helps
ProfitEasy adds the columns Magento's customer grid is missing: lifetime value, average order value, order count, account age and acquisition source, all sortable, right on the customer listing. Because ProfitEasy calculates real per-order profit (from the native product Cost attribute, real shipping, payment fees and refunds), the lifetime-value figure is profit-based rather than spend-based - so sorting the grid by it surfaces your quiet earners and demotes your thin-margin big spenders. Customer figures refresh on a daily background job, so the grid reflects yesterday's orders without an export.
Once you can see who your VIPs really are, HelloCustomer is how you treat them differently - grouped review requests, welcome and winback sequences, so your best customers get the right message and aren't buried in the same blast as everyone else. And Pulse surfaces top customers and new-versus-returning trends on the dashboard, so the health of your repeat base is visible next to the day's revenue rather than hidden in an export.
CLV audit checklist
- Sort your customers by lifetime spend, then by lifetime profit. How different are the top tens?
- Find your highest spender. Work out their real margin after discounts and shipping. Are they actually a VIP?
- Identify your most frequent buyer. Is their lifetime profit reflected anywhere in how you treat them?
- Check your highest-refund customers. Is any of them still net positive?
- Look at your repeat rate: what share of orders come from returning customers?
- Ask whether your loyalty or perks currently reward spend or reward profit.
- Pick your top 20 by profit. Do they get any different experience from a first-time buyer?
FAQ
How do I calculate customer lifetime value in Magento?
Multiply average order profit by orders per year by expected years as a customer. For a reliable figure from data you already have, sum the actual profit each customer has generated to date. Magento doesn't calculate this natively - you need product costs populated and either a custom report or an extension that computes per-order profit and rolls it up per customer.
Is my highest-spending customer my most valuable?
Not necessarily. A high spender who only buys discounted items on free shipping, or who returns heavily, can generate less profit than a mid-tier customer who buys full-price and never returns. Rank by lifetime profit rather than lifetime spend and the order often changes at the top.
What's a good repeat purchase rate?
It varies enormously by category - consumables see far higher repeat rates than one-off durables - so the useful benchmark is your own trend over time, not an industry number. Track the share of orders coming from returning customers month over month; a rising line means your existing base is compounding, which is the cheapest growth there is.
Can I segment Magento customers by profit automatically?
Not with default Magento. Customer groups are pricing and tax buckets, not value tiers, and there's no profit figure to segment on. You need per-order profit calculated first, then you can rank and group customers by lifetime profit and treat each tier differently.
Start by sorting your base two ways - by spend, then by profit - and looking at who moves. The customers who climb when you switch to profit are the ones your current perks are probably ignoring.



