# Predictive Recency-Frequency-Monetary (RFM) through Classification of Customer Charateristics

I have an RFM model that I use to segment customers based on RFM score. What I would like to do is:

1. Understand more about the charateristics of my customers than just their RFM score;
2. Be able to predict which the RFM segment a non-customer is likely to fall into.

To do this I am planning to overlay other data I have about the customer (demographics, how much they use our other services etc) as indepenent variables in a supervised classification problem with my RFM segments as the dependent variables. I'd then look to use some sort of classification technique (random forrest etc) to build a predictive model that would give me:

1. The combination of independent variables that correlate with a customer being in any specific RFM segment
2. The probability of a non-customer being in any given RFM segment given the independent variables (demongraphic information etc)

I am also thinking about using PCA to determine which of the independent variables seem to have the greatest effects on which segmeent a customer falls in before starting the classification.

I have had a look around and I don't see many examples of people using RFM segments as dependent variables in a classification model.

Is this a worthwhile/scientifically sound approach or am I missing something that makes this approach unsuitable?

In principle, I do not see any problem with using the RFM score as dependent variable ($$y$$) since it is just an aggregate or balanced score of R, F, M.
I suggest using random forest or (tree based) boosting (like xgboost, lightgbm), since these techniques are very robust and usually deliver relatively good results (compared to other methods). You can look at "feature importance" from random forest or boosting to see which variables are most important. The main aspect you need to look at in the moment (as it seems) is, if the independent variables have sufficient explanatory power to build a proper model. Random forest seems to be a good choice to start against this backdrop.
You may also look at "causal" like linear regression models. These models can tell you "if $$x$$ changes by some amount, $$y$$ changes by $$\beta$$ amount. However, these models are relatively complex and you need to take care about a number of things. So probaly start with a standard predictive random forest and see how ot goes.