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$– ErwanSep 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$– NKUSep 18, 2019 at 8:12
1 Answer
Possible scenarios:
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 pickx%
and report them to business unit. They can offer discounts, campaigns to converge customers fast.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.
If you have transaction data you should try to use apriori based algorithms and collaborative filtering methods for recommendations.
Additionally you can do RFM analysis and compare RFM segments and already created segments to find best customers of yours.
Hope this is helpful!