I am segmenting customers using the RFM technique. The dataset looks like this: Sample
Recency shows the number of years since the last payment (ranging between 0 and 4). In this context, using years is the most meaningful way. Frequency indicates the number of payments made (a count), and Monetary presents the $ amount of purchases made by that customer.
I am trying to segment the customers (~10000 in total) using different clustering algorithms. The algorithms I am aiming to use are K-Means, HC, GMM, and DBSCAN. One goal is to show how each of these algorithms performs in the segmentation of the customers. However, I am confused about whether I should normalize and/or standardize my data. I am confused because each algorithm requires different preprocessing, and I cannot predict how normalization will affect the final result. One way to segment customers in this method is to assign each attribute to a quantile. But this is not applicable in my case since the original value of F and M matter a lot and will be lost this way.
Should I normalize data in one algorithm and leave it unnormalized in another?
Is my dataset suitable for normalizing?
Is there any other algorithm that will suit my purpose?
The ultimate goal is to perform segmentation using all of the mentioned clustering algorithms, choose the algorithm with the most accurate results, calculate the value of each cluster using CLV based on that, and perform demographic analysis on each cluster in order to gain deeper insight.