Mobile has a request for an ongoing reporting structure of session length, session counts per users, and events-per-session for the mobile app.
- Extract the UUID and timestamp from all pageviews within an N-day period for a sample of App UUIDs
- Convert the timestamp to a numeric value.
- For each user, sort the converted timestamps and sessionise, ending a session whenever there is a > 1800-second gap between two of a user's pageviews.
- Session counts: the number of sessions per user.
- Session length: for each session, the time between the first and last event. If there is only one event in a session, it should not be reported.
- Events-per-session: the number of pageviews in a session.
For each metric, the geometric mean, arithmetic mean, minima, maxima and quantiles should be generated. A must-have is a way to provide this to the mobile apps team; a nice-to-have is a public report for transparency purposes. I'm around if people want example C++ implementations or to ask questions.