I have a dataset of certain user activity per week (e.g. purchasing an item or using a service per week) for the past 52 weeks and for 100K+ users. The matrix is very sparse (85% of the entries are zeros). so, it looks something like this:
W52 W51 .... W01 User01 0 1 0 User02 0 0 0 ... User99 0 0 2 ...
W01 is the most recent week.
My question is whether there are good techniques to cluster the users based on their corresponding time series.