Custom user activation dashboard from event data
Create completely custom user activation metrics to display and a dashboard and keep your Customer Success team on track. Analyze cohorts and events.
Do you need this flow?
Activation is one of the most important, if not most important, step in your customers’ journey. While pretty much every analytics tool can track the events that are used to track if a user is activated or not, almost none of them allow you to create a report of cohort activation, or of overall activation event occurrences. Product management, founders, and customer success can all gain important insights from a flow like this, allowing more product and customer accuracy, and ultimately better activation metrics.
Like all Parabola flows, this flow is 100% customizable to suit your needs and your data. In this example, we are after two thing, cohort activation scores, and activation event occurrences. Another popular angle to add would be showing activation leaders and laggards for your customer team to focus on. Cohort activation scores show your historical and current activation scores, grouping users into monthly cohorts, though those grouping can be anything. Activation event occurrences can easily highlight which events are not being completed across all cohorts, signaling the need for a change in activation efforts. It is well documented that good user activation leads to low churn and high customer LTV.
How the flow works
The gist of the flow is that it takes in raw event data, decides what the first action of a user should be, finds only events after that first action per user, and then scores each action and sums the scores. If you want the flow to only count each distinct action once per user, then the flow can easily be adjusted to do that.
Any event data will work, but this example uses Mixpanel raw event data. We do a double sort, first by user id, then by timestamp for the event, both ascending, so that the list has all the actions for a user in a row, and those actions are ordered from oldest to newest, going down.
The top branch filters down to the desired initial event type, for us it is the event called “logged in”. Because of the double sort, we can use the dedupe object on the user id column to only keep the oldest instance of the logged in event per user. Then any unnecessary columns are removed. The bottom branch removes unnecessary columns, and any events not tied to a user id. With both branches containing user id, event names, and event times, we can use a join based on user id to bring the data back together. Now each row contains the starting event, and some sort of later event.
With this data, we can use the date comparison object to find the time between the initial event and any subsequent event per user. Activation happens within a time frame, so we can filter down the rows to only those that have a time difference equal to or less than 14 days (or any activation interval). With this data, we now have all of the events that all users performed within 14 days of their first login.
The scores are all added inside of the Scoring object, which assigns point values for each event that we care about for activation. All others are assigned a 0, so that they do not affect the final score per user. With that, the top branch of the end of the flow sums up total activation points earned by all users per day. Geckoboard will then aggregate by any interval you want, such as week or month. The lower branch finds the number of users who have completed each activation event.