What is the best tool for customer segmentation?

I have a customer data set with the following data:

• The number of purchases that each customer made
• The Date that they made each purchase
• The Date that they signed up
• The amount they spent on each purchase

I want to segment my users into three groups:

• Great Customers
• Ok Customers

Is there a tool I can use (statistical method OR software tool) that will look at all the variables and create the segmentations? I have Stata and Excel, but your answer doesn't have to be limited to these.

-
To segment customers, not their data, a guillotine –  denis Aug 26 '11 at 9:25
Thank you Denis, someone had to say it :) –  Tom Zych Aug 26 '11 at 9:38

I'm afraid you are mistaking software programs and statistical algorithms for thinking, judging beings. No tool can give you the Good, the Bad, and the Ugly. You'll have to exercise your own judgment along the way! What you need is not so much a tool but well-thought-out criteria for classifying each customer. Then the rest is a matter of mechanics, or follow-through.

-

Survival analysis of LTV (lifetime value) is a good place to start. It's pretty basic, but it gets the job done. But there is a lot of business intelligence work that you could do with what you have. If you have response rates to advertisements and such it could also provide you with a good way to look at effectiveness.

I agree with rolando2, the good the bad and the ugly - being mathematically defined, is challenging. Especially with no behavioural or secondary element in your data other than purchases, even something as simple as postal code could add fantastic information to your data for understanding things like locus of purchase (it it's a store). I guess you could segment by LTV percentiles... 30%, 50%, 80% (following the 80/20 business rule...).

In terms of software, I have no idea how to do this in Excel or STATA. But, for R there's a mixed intro and example of survival analysis using the survival package here: http://sociology.uwo.ca/plcs/pdf/Bruce%20Jones%20survival_talk.pdf from Bruce Jones at the University of Western Ontario. I'm Canadian, sue me.

In his example, Death, would be something like your average time between purchases identified in the data as 0 or 1 if the observation did purchase in the last average time between purchases. Some people like to set this up as Purchased in Last 3 Months... but obviously it's different for every type of business. You wouldn't by a car every month, would you? So that's a judgement call on your end.

Otherwise, there's a lot of interesting things that you can do with your data from a business intelligence perspective. Average purchase price, number of items purchased based on stack outs in a store, or banners on a website if you know the time that the ad or stack out was placed.... those are just a few examples.

-
How does survival analysis relate to LTV? Survival analysis implies a discrete (possibly recurring) event, not a continuous value (life time value = \$). –  B_Miner Aug 26 '11 at 13:19
www2.sas.com/proceedings/sugi28/120-28.pdf is one example. –  Brandon Bertelsen Aug 26 '11 at 20:21
Thank you, I'll look into survival analysis. When you say there is a lot of things I can do from a business intelligence prospective, how is that different from segmenting customer data? –  jschwa Aug 29 '11 at 18:48
Alot of companies run on things of interest that don't necessarily have a complicated statistical element. Like average purchase price, average items purchased, average time between purchases, creating a scorecard of these metrics can sometimes be more interesting to business people than any statistical segmentation. –  Brandon Bertelsen Aug 29 '11 at 22:07

I would suggest with your limited data (and perhaps limited experience with clustering), you simply create an RFM coding and separate into the three bins your desire. Otherwise, cluster analysis on the data is a basic method for customer segmentation based on transactional variables (of course your dates have to become measures such as distance between purchases, tenure and recency of purchase).

-
Missed your answer somehow (+1) deleted my duplicate. –  Dmitrij Celov Aug 26 '11 at 14:00
Thank you for that. RFM looks interesting, but I had questions about the best way to go about finding meaningful breaks for the sub-categories. The wikipedia article mentioned CHAID, which I will look into. –  jschwa Aug 29 '11 at 18:24

Generally I would agree with rolando2. However, if you interested in unsupervised categorization, there are methods that exist that can provide you with unlabeled groups of your data. One such method is latent dirichlet process (LDA) which has been used for automatic topic discovery. K-Means might be a better fit for your needs, especially since you know the number of categories you expect.

-