Which train test split performs better: 50:50 or 60:40?
It sounds like you have a lot of data, so probably a simple train-test split is enough. No need for cross validation.

I would just use something like 75-25. That is in fact the default value in sklearn.

I would use less data in the training only if your algorithm is too slow and cannot cope with the extra data. In that case, instead of throwing away the data, you might as well use it for validation or for testing hyperparameters.

All this being said, more important than all is how you split the data. You should make sure that customers in the testing data are not in the training data to make sure your algorithm is generalizing, and not merely memorizing customers. This is standard procedure in medical data mining, and it is very important. Make sure you do not have customer overlap.

You might also want to make sure that the distribution of the variable you want to predict is similar in the training and the testing data.