Cluster evolution over time


I have a dataset of transactional data with customer ID and I want to segment the dataset into groups using cluster analysis. I'm interested in following the evolution of each cluster over time, but since customers have very different behaviours (roughly 50% of the time a customer will change cluster the week after), I was wondering what would be a statistically sound approach. Is it a good idea to train a clustering algorithm every week and look backwards at the weekly evolution of each segment?


Posted 2019-10-08T03:39:49.193

Reputation: 163



Cluster once.

Study the clusters and refine them to define classes.

Then classify points to these classes.

Has QUIT--Anony-Mousse

Posted 2019-10-08T03:39:49.193

Reputation: 7 331

Thanks. Any reference to dive deeper? My concern is whether clustering once 2 years of monthly data would yield different results than clustering each month separately and then looking at the results. – Egodym – 2020-05-14T22:28:01.733


You can try

  1. Dynamic mode decomposition.
  2. Dynamic Time Warping. Found a nice resource on Towards data science blog.

These two have proven better approaches than PCA for time series clustering.

Happy coding


Posted 2019-10-08T03:39:49.193

Reputation: 101