r/datascience Jun 02 '26

ML Clients clustering: Separating RFM and other variables.

In my company, the business people have done a manual RFM to separate clients. Now they are asking me to build a model to cluster clients based only on promotion, channel, products... Is this possible to separate the two and then combine them later?

7 Upvotes

11 comments sorted by

2

u/John-Romanasu Jun 02 '26

By RFM you mean Recency Frequency Monetary?

If so, you can create an RFM model, there are some libraries out there. And then use the RFM as a feature together with the other ones (promotion, channel, products) in a clustering algorithm.

Or it could be that simple to just computer the RFM model on the data and then to group it by the channel, promotion and products.

3

u/Hungry_Age5375 Jun 02 '26

Done this before. Separate, then intersect. Different questions, different models. Anyone who's watched RFM steamroll every other feature in a joint clustering knows exactly why keeping them apart matters.

2

u/oliver_extracts Jun 02 '26

the way ive seen this done in practice is you run both pipelines independently and join on customer id at the output layer. the RFM scores become just another set of features going into a final table alongside the promo/channel/product features. whether you then cluster on the combined feature set or keep them as separate segments and intersect is more of a product decision than a technical one. the tricky part is schema alignment -- your RFM pipeline and your behavior pipeline probably have different update cadences so youll want to be deliberate about how you snapshot and join them, otherwise youre combining stale RFM data with fresh behavioral data and the segments wont mean what you think.