How to cluster user historical data?
If you have a whole year data, use the moving window technique, thus you'll have diffrent clusters each month (since users cycles can change), after that, I don't think you should use averaging because it does not take into consideration the times series aspects, which means clusters from the beginning of the year can be very different from the recent ones, you better attribute different weights to different clusters.
I recommend using Subsequence TimeSeries Clustering since it cluster data and it's based on its temporal aspect.
This research paper might help you out Subsequence Clustering
and this is the source code that you can start with Incremental Subsequence Clustering.