Nice example, but a major pain point I see is dev time. There is going to be significant amount of time being spent making the analytics platform, and then scaling it. It might be better spent on the product itself until it takes off.
I disagree. We have a similar event table in our product, and there was a huge pain in getting stats and reports for our clients and vendors.
I've created a similar application - one with integrated cohort analysis, a full working definition dictionary for all events, and a reporting dashboard that allows account managers access to data for their clients on a daily basis. The idea is that dev + product + account mgmnt work on the same platform.
I built it myself in my spare time over the course of about 4-5 weekends. When data is fully integrated and accessible it makes it worth the investment.
cohort analysis is the best investment for us so far. without cohort, we never know if our iterations are contributing our goals -- usually it means keeping track of retention for identifying product/market fit.
Really? Mixpanel[1] is really nice for doing it, doing it realtime, doing it across platforms (not just web), and adding the cohort analysis[2] (which yields the most important non-vanity metrics).
Mixpanel is great, but it doesn't know everything about the user or the action. This is why being able to combine the events log with user data is critical and something like this is needed.
mixpanel's got a long way to go. As the main dev leading mixpanel at my company, it is a pain inserting a line to track every event some person may need at the organization.
This really holds back an organization where product and dev teams are separate.
I fully agree. We track millions of events per day and I use hive and hadoop to do my analysis. Not as user friendly but putting the data into a pivot table helps alot.
The thing about analytics is that it's BIG data. A single user event can cascade into multiple datapoints that you either have to keep normalized (like in the SQL example) or denormalize into something more manageable. The latter of which is really the only way to handle TBs of data, and it's not trivial. It's a fun job, but it's full time.
Nice to see an article on this subject. I'm of the thought that basic analytics are an extension of an app's/site's dashboard. You do have a dashboard don't you?