0
$\begingroup$

Newly practicing data scientist here! I am currently stumped on a project and reaching out for some guidance:

I am working with the marketing team in our customer database. There is a small subset of customers who have exhibited a desired behavior (first purchased Product 1 and within 2 years purchased Product 2). The marketing team wants to target customers within our database that are similar to the desired customers before they made their purchase of Product 1. There are about 3,000 customers who exhibit the desired behavior (response = 1) and 300,000 have not purchased either product (response = 0). I have chosen 6 features, mostly based on purchase history. 5 are numeric and 1, Gender, is categorical.

  1. I have attempted to use K Means clustering, by dropping the categorical feature and removing outliers. I did this in hopes that most of the response 1 customers would be clustered together. The model produced 3 clusters, and 80% of response 1 customers were indeed assigned to one cluster, along with 40% of response 0 customers (over 90K people altogether). However, I don't feel comfortable with the rigor of this attempt to create a "lookalike" audience or suggesting these nearly 90K response 0 customers to the marketing team as good leads.

  2. I would like to try a classification algorithm like the random forest model but am coming up against several obstacles: a) the data is highly imbalanced and b) I only have one pool of customers so after training and testing the model, I can't figure out what data I would then use to classify and recommend for marketing. I considered under sampling to rectify the imbalanced data issue and then using the customers who were removed in under sampling to run the model on and classify. This seems very odd and counterintuitive to me.

Overall…I need help! Looking for the right direction. Clustering…classification..something else entirely? Any advice appreciated!

$\endgroup$

1 Answer 1

0
$\begingroup$

Solution is data-based, so without data, I will give my two cents based on what you have tried:

I have attempted to use K Means clustering, by dropping the categorical feature and removing outliers.

Try K-means again but putting the categorical features back. As long as you properly scale all features they shouldn't harm. Try different scaling if needed. The hope is more features will help you cluster better.

a) the data is highly imbalanced and b) I only have one pool of customers so after training and testing the model, I can't figure out what data I would then use to classify and recommend for marketing.

  1. Save some customers from your 300,000 for inference. Don't use all of them for training.

  2. Define a time window after which the customer will never convert. Suppose all your 3000 customers convert within the first 180 days after registration, then among your 300,000, only choose those who has registered an account over 180 days as training data.

$\endgroup$

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.