I'm pretty new to predictive modeling, but am interested in generating predictions for credit card account spend. These are existing accounts.

The data I have available to me is Card Type (i.e. Platinum, Black, Gold) and spend/transaction data over the last year.

I have a two questions:

  • How do I decide whether to use linear regression or a decision tree/random forest? Or do I try many techniques?

  • I expect spend will differ considerably across Card Types; does this suggest I should build separate models by Card Types? If I had a another set of attributes that I thought might segment customers, but wasn't sure, how would I evaluate that?

If there are guides online that answer the above, that'd be much appreciated as well. Haven't found any good ones (or at least I think not)

  • $\begingroup$ Usually you don't build separate models unless you really cannot separate cases well. The model depends on your data and your objective, when in doubt try many and see what works better. $\endgroup$ Commented Dec 7, 2018 at 7:57
  • $\begingroup$ The ML strategy to use is a good question. Clearly you use multiple approaches at this level, random forests having strengths in being all-round and robust. $\endgroup$
    – M__
    Commented Jun 8, 2019 at 18:58

2 Answers 2


short answer: assess simple models first, and then build more complex ones if necessary.

For a roadmap, I'd go like this:

  • get familiar with the different categories of machine learning problems: classification vs regression problems. Your problem falls in the regression category (at least at first sight, you could also reframe it into a classification problem if necessary)
  • get familiar with the main corresponding algorithms
  • get familiar with the strategies to train / test a model performance
  • since you are explicitly asking for online resources, you can have a look at Andrew Ng's machine learning course (especially the first weeks of the course). It's not free, but you can also have a general overview buy looking for his Machine Learning Yearning Book. Another resource coming to my mind is Machine Learning Mastery website (can't remember the guy's name) where you can find some introductory ebooks to answer those questions. It's well written and can provide you a good lift

Does this help?

  • $\begingroup$ I'm not a fan of this answer. You are continuing with the assumption that its OK to immediately go into modeling. The data has to be studied first. $\endgroup$ Commented Jan 9, 2019 at 13:59

You are committing some classic mistakes that people make when first entering the world of data science. Your question should not be, "What model do I use?". The question should be, "What can I learn from my data?"

First mistake you're making is jumping straight to modeling - never do that. You need to go through a period of exploratory data analytics (EDA) to help you understand your data. The whole point of an EDA phase is to enable you to ask smarter questions of your project and when you come up with those questions, you will be in a much better position to determine what models you will need. Also, keep in mind that EDA can also serve to answer analytical questions. In your example, your question of spend by card type can probably be answered during a thorough EDA phase.

Second mistake you're making is thinking about the type of models you need without thinking about the questions you want to answer. What's the business case you're trying to solve? What's your hypothesis? What data will you have available when you will run predictions in the future? Do you have a supervised on unsupervised problem on your hands? Etc, etc, etc. These are all things that you need to have some answers to before you can even think about the models that will be used.

Don't forget, this is data science. You need to approach your problems in a methodical, scientific manner in order to truly achieve the results that you seek.


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.