Overview
PetBox is a fictional eCommerce company that sells monthly subscription boxes containing animal care products. In the accompanying PetBox app, subscribers can track and customize their monthly boxes, view their box history, and purchase specific products they liked from their boxes. In addition, non-subscribers have access to features such as PetCam, which allows them to watch their cats through connected webcams.
PetBox wants to isolate the population of app users who are subscribers, and then bucket them by engagement level. They want to see:
- Level 1: Users who have opened the app 1-3 times a month
- Level 2: Users who have opened the app 4-6 times a month
- Level 3: Users who have opened the app 7 times or more a month
This information will allow them to create campaigns or promotions tied to a user’s engagement level.
Question
How many users belong to the three different engagement levels?
Open the Segmentation Tool
Find Segmentation on the Create New Analysis menu. We're interested in measuring users based on their behavior, so we want to use User Segmentation.
Select Event
Since we are defining user engagement by app opens, the best event to begin our analysis with is Start App. Every time a user opens their app, a session begins.
- Let’s start by adding Start App to the query builder.
- Make sure the query is set to "Users who performed" to give us the number of unique users who opened the app.
Create a Filter
Right now, we’re only interested in the engagement levels of app users who are also subscribers. We can modify our event with a Filter Where clause to create a filter that shows us only subscribers.
- Hover underneath Start App in the query builder and select "+ filter where".
- Now, select the User Properties tab and choose Subscription Plan.
- There are a number of subscription types, but we want to see them all at once. Therefore, we can modify the query so that it filters where Subscription Plan is not equal to None.
Using this filter, we should only see users who did Start App and who were also subscribers.
Use a For Clause
Now that we have a filter based on subscriber status, let’s finish expanding it to create our first engagement level: Users who have opened the app 1-3 times a month. We’ll be looking at subscribers who have opened the PetBox app 1-3 times in the past month. To do this, we will add a For clause to our row.
- Again hovering the mouse directly below our query, we see an option for + did [not] perform.
- The query row should read: “For users who also did Start App greater than or equal to 1 time within the prior 30 days”.
Our analysis now shows us subscribers who had an app session, who also had 1 or more app sessions within the prior 30 days.
Add a Second For Clause
We’re almost done creating our first engagement level. So far, we’ve narrowed it down to subscribers who had an app session, who also had 1 or more sessions within the prior 30 days.
Now, let’s limit this group to users who had 1-3 sessions in the past month. This can be done by adding a second For clause to our query row.
- Select + did [not] perform again to add a new row.
- The query row should read: “And did Start App less than or equal to 3 times within the prior 30 days”.
Our query row has now limited our results to subscribers who had an app session, who also had 1 to 3 sessions within the prior 30 days.
Label the Row
Let’s label our first engagement level query row. In the top right corner of the query row, type in "Level 1".
Duplicate the Row
Now, let’s create a second engagement level for those with 4-6 app sessions per month using the same framework that we used to create our first engagement level. However, instead of recreating it from scratch, we can simply duplicate the row we’ve already created and then modify the duplicated version.
- Let’s open the query row menu and click Duplicate Row.
Modify the Duplicated Row
Let’s modify our duplicated row.
- Change the For clause to “greater than or equal to 4 times”.
- Change the And clause to “less than or equal to 6 times".
- Label the row as "Level 2".
Duplicate the Row
Now, let’s create a third engagement level for those with greater than 7 app sessions per month. We can duplicate a previous row to get started. Let’s duplicate our row “Level 2”.
Modify the Duplicated Row
Let’s modify our duplicated row. This one will be a little different from our previous rows, since we do not have a maximum number of app sessions for this bracket.
- Change the For clause to “greater than or equal to 7 times”.
- Delete the second For clause.
- Label the row as “Level 3”.
The three query rows should read:
1. Users who performed Start App filtered where users’ Subscription Plan is not equal to None
-
- For users who also did Start App greater than or equal to 1 time within the prior 30 days
- And did Start App less than or equal to 3 times within the prior 30 days
2. Users who performed Start App filtered where users’ Subscription Plan is not equal to None
-
- For users who also did Start App greater than or equal to 4 times within the prior 30 days
- And did Start App less than or equal to 6 times within the prior 30 days
3. Users who performed Start App filtered where users’ Subscription Plan is not equal to None
-
- For users who also did Start App greater than or equal to 7 times within the prior 30 days
View Results
We now have our finished engagement level analysis.
Observation
- Level 3 (7+ sessions per month) represents the majority of the user base.
- Level 1 (1-3 sessions per month) is the next largest category.
- Level 2 (4-6 sessions per month), while closer to Level 1, is significantly less than Level 3.
With this information, PetBox should create engagement strategies for each of these buckets of users. They should also create targeted promotions and upsells for their more dedicated users in Level 3.