I have a retail customer transactional data set with features such as customer ID, product, date, number of products bought, ZIP code of customers, amount of the transaction. There already exists a business rule-based segmentation to segment customers if they are interested in coke or not based on their buying. I have to do a binary classification to add more customers into the coke segment. Any suggestions on the kind of algorithms and approach that would suit this data set best?

  • $\begingroup$ Do you have annotated data? Maybe based on all customers who have bought the target product before? $\endgroup$
    – Erwan
    Sep 17, 2019 at 23:56
  • $\begingroup$ Yes, I do have that data. SO all customers are labelled either 1 or 0 based on the number of target products bought. $\endgroup$
    – NKU
    Sep 18, 2019 at 8:12

1 Answer 1


Possible scenarios:

  1. You can predict "Likely to Buy Probabilities": Create features that covers before purchase (e.g: product click, product view, purchases from same category etc). After, train a classifier and use prediction probabilities (predict_proba_) to obtain scores. Then sort them pick x% and report them to business unit. They can offer discounts, campaigns to converge customers fast.

  2. Try to find segment transitions. For example coke buyers move to lets say pie segments faster than vegetable segment. Identify those transitions and apply advertisement on cross categories.

  3. If you have transaction data you should try to use apriori based algorithms and collaborative filtering methods for recommendations.

  4. Additionally you can do RFM analysis and compare RFM segments and already created segments to find best customers of yours.

Hope this is helpful!


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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