I have around 30,000 data points and for those data points I have some numerical fields like customer_age, customer_number_of_previous_purchases, etc and also some categorical string fields such as customer_gender, customer_ethnicity, etc. I have lots of different fields like the above. Finally I also have an output field did_customer_make_purchase which is a binary yes or no depending on if they made a purchase or not.

I have around 30,000 data points.

I am wanting to figure out the best way of using a model to make use of the above information so I can essentially plug in things like customer_age, customer_number_of_previous_purchases, customer_gender, customer_ethnicity, etc and it tell me whether it thinks a new customer will make a purchase or not (this can either be a yes or no or better a probability of that occurring).

I don't know what type of model is good for this kind of scenario. Could someone give me some ideas of which types of models may work good for this scenario please?

I have used neural networks before (maybe too fancy for this use case?), and know python so implementation should be fine but I am struggling with what model to investigate. Should I try to classify customers into purchase and non purchase using some classification algorithm or is there something better?

Thank you.


1 Answer 1


It is know that all optimization algorithms show more or less the same performance when it is averaged over all possible objective functions. This is know as the no free lunch theorem.

You will have to do some experimentation. If you want to plug things in as you write in your post, you might want to use models that leverage feature importance, such as the random forest and XGBoost, as they both have the feature_importances_ property.


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.