Then you have the question of how to query it efficiently.
You can’t scan 1 year of data every time, so now you need some type of external process that can either pre-compute those metrics (not flexible) or a compaction type process that makes it manageable to scan all that data.
Which is basically the trade off between something like stream processing or compaction in a database.