Suppose I have want to predict how likely people in both US and Canada will buy product A in a month. Basically, it's a binary classification problem.
Assume I have 2 millions rows of historical data with people who has bought/not bought the product (label). One millions rows data are from US, the other are from Canada.
I can build a machine learning models in following two ways:
- Build a model with 2 millions rows of data. One model with all the data.
- Model localization: Build a model with US data. Build another model with Canada data.
Intuitively, it seems to me option 1 will always performs better than 2. Because there will be more data in one model. But in practice, option 2 seems always performs better than option 1.
My question is when should I use option 2 instead of option 1? How to make the decision?