I have a data set containing actions taken by customers (e.g., view a product, add a product to cart, purchase product), the product bought (if any) and times of said actions. I am attempting to use K-means clustering to identify the customers who are more likely to purchase a product based on these actions (minus the purchase).
I'm currently clustering using: the number of products viewed, the number of products put in the cart, the mean time between the actions, the variance of the time between the actions, the standard deviation of the time between the actions (all of these values are normalized), as well as the product purchased (if any). The clusters I'm getting contain
~10% buyers and
90% non-buyers, but I'm trying to separate buyers and non-buyers.
Any thoughts on what else I can do? Or should I try another method completely?
Yet another update: customers (not grouped by cluster, just as is) according to the average number of products they viewed and the average time between actions
I took some advice and tried using PCA (from this tutorial), and these are the results I got:
Any tips on how to cluster this mess?