I'm developing a new extension for an ecommerce platform, that basically builds Customer Equity and Lifetime Value. Already got that.

But I'm having some problems trying to figure out a formula to rate an ecommerce customer.

I'm not looking for code, but rather for a formula.

I'm pretty sure I already have all vars needed, like customer sales, average sales, profit, first order, last order, marketing spent on a specific customer, discounts spent on a specific customers, shipping costs, payment costs,number of returns he made, etc.

What I'm missing is a formula to rank each customer. The basic Idea is that someone from customer support will see in customer's dashboard a summary and the customer rating. Like from 1-10

So he can have a better knowledge on how to deal with it. If it's a valuable customer or someone that gives the company a very low profit and is always returning things and stuff like that. My intention here is not to discuss the way we should treat customers.

My first thoughts we something like: Get current profit, add project profit, check lifespan point...


I doubt there is a specific formula, and if there were one, it would almost certainly need to be tweaked to your specific situation.

Probably the best you can do is to create your own formula with behavior that makes you happy. So what makes you happy? If you have a low profit margin on an item, a single return might cost a lot, so you might not like customers that have a high return rate, even if they buy a lot. In other circumstances, how much they buy trumps everything. Unless you can specify what makes a customer "better" than another, you can't calculate it.

If you're a programmer and not a business person, you probably won't have a good enough idea of what your company likes about a customer to guess well. Having someone who does have a feel for that rate some customers manually, and then reverse-engineering their evaluation process could work.

A few caveats:

  • Numbers that a computer spits out can be given more psychological weight than they deserve. The formula may have bugs in it. There is a possibility that bad decisions could be made because of a bug.
  • If this is something prominent that customer support people see as an official rating of a customer, they may see a low rating as an official sanction from the company to be unfriendly to "bad" customers. This could easily affect the company's ability to keep customers. I remember once when a customer service lady was rude to me. That company will not be getting any more of my money. Ever.
  • The formula may work well for old customers who buy a lot, but what about customers who don't buy much or don't buy often? What about brand new customers? Keep in mind that "good" customers will buy something for the first time, and if they are treated badly by customer service because their number isn't high, it might be the last time.
  • Hi Michael, I totally agree with your points, they make sense. I'm not trying to distinguish between bad and good customers, simply the "premium" ones. I agree that you can't really rate a customer that made just one purchase and for some reason he legitimately had to return it. You can also see it from another angle. If a customer has a low rating, customer service should be getting more info about why and try to increase customer value. I think I'm going to let store owners decide their own formula, but forcing two conditions. Define the minimum number of orders and months as a customer Feb 13 '14 at 15:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.