Database design - summary table vs always counting over tables
I think the answer will vary depending upon what you want to achieve. 

As you have mentioned that these things need to be acted on analysed, reported &amp; displayed then I would consider that having the data in tables would be advantageous. 

The decision to calculate summary data vs calc on the fly depends upoon size volume and scalability and accuracy required. A mixture of real time and batch processing might be viable and practical approach. 

I would expect performance would be an important consideration. Do end users need to see their stats updated immediately? Or are you collecting this data to drive marketing analysis which can happen periodically at a later date.

Go back to your requirements. What data do you need. Who needs it. When do they need it. How fast &amp; how often. Do they need raw data or aggregated. Detail or Summary? How much data are you expecting to collect. How long do you need to retain it? What are the storage requirements and how will that perform? 

If you can answer the questions above you may narrow down your choices and your remaining options will be clearer.