User Behavior

Overview

The Behavior module of MoEngage Analytics provides insights into how your users interact with your web and mobile apps. It helps with analyzing app trends, campaign performance, and tracking events. 

Compare reports to know what kind of behavior inspires retention and drives revenue and behaviors that help users get the maximum value out of your app. After analyzing the user behavior, use MoEngage onboarding campaigns to solve your use cases.

The behavior module has tabular reports and graphical reports for easy visualization. Download them for deeper analysis. The reports range from basic surface-level actions to the impact of the latest experiment on business profits.

 

Use Cases

Here are a few examples where User Behavior can be employed:

  • How many Monthly Active Users (MAU) or Daily Active Users (DAU) does my app have?
  • Which cities saw the highest number of hotel bookings on my travel app last month?
  • How much revenue did we get last month from the latest product we added to our e-commerce app?
  • What is the distribution of my users based on the revenue made from their orders?
  • What is the distribution of users based on the average minutes of songs played at any given time?
  • What is the distribution of users based on the number of unique songs played at any given time?
  • How many distinct songs are played across different segments of users?
  • What is the average number of orders a user places using my app?
  • What is the median number of orders placed by each user by my customers last month?
  • How many minutes did the least active listener play over a day, week, or month on my music or video streaming app?
  • How many distinct songs did the 95th percentile user listen to?
  • How much has the highest spender spent?
  • What’s the minimum number of minutes a song was played?

How does User Behavior Work?

To analyze user behavior:

  1. Navigate to Analyze > Behavior on the MoEngage dashboard.
  2. Select the events and filters you want to analyze and add the Split By criteria.
  3. Filter users based on your segments.
  4. Select the Analysis Type and Compare By criteria along with the duration of your analysis.
  5. Click on Apply to view the behavior charts and tables.

Analyzing Events

An event refers to any action a user performs on your app that is tracked. For example, in an e-commerce app, track events such as:

  • App/site opened
  • Product searched
  • Product viewed
  • Added to cart
  • Order completed

To view a report for an event, navigate to Analytics > Behavior. Track up to 10 events simultaneously and compare the analysis side by side.

Events and Filters

You can select the events that the users perform in this section. Moreover, you can filter through these events by adding attributes. To do so:

  1. Click on +Attributes.
  2. Select the appropriate attributes you want to add.
  3. Select the Case Sensitive checkbox if you want the attribute to match the exact case of the value you specify.
  4. Add multiple attributes and choose whether to apply all or any one of them. Click on AND or OR to filter further.

For example, to combine data across two platforms, use the OR filter. If you want to know about the users who opened the latest version of your app on their Android device, user behavior will help.

 

info

Note

You cannot filter through events for geolocation with MoEngage analytics.

 

Comparing Events

You can add multiple events in the events and filters section. To do so, use the +Add Event button. You can compare all events, unique users, and more for the selected events. 

For example, you might want to compare the number of users who performed ‘App/Site Opened’ vs those who performed ‘Song Played’ or ‘Song Downloaded’.

Comparing Properties 

Compare the report using a specific attribute. To compare, click on Split By and select the attribute from the drop-down menu with which you wish to compare.

The top 10000 values of the selected event property, are displayed. Up to 10 Split-by attributes can be added which include event attributes and user attributes. User attribute comparison is explained in Compare by.

For example, you can get a report for the number of songs played across different platforms. Select ‘Viewed Product’ as the event and select ‘Platform’ from the Split By menu.

info

Note

Date attributes can be compared on various date attributes such as - Date ( DD MMM YYYY), Day of the month, day of the week, Day of the year, Hour of the day, Month of the year, Week of the month, Week of the year, and Year in addition to the actual date.

 

date.png

 

Filter Users

Custom Segment Analysis

By default, the behavior analysis is performed on all users present in the MoEngage system.

Behavior analysis can also be performed for a group of users. Groups of users are created using User Properties, User Activity, User Affinity or Custom Segments, or any other combinations.

You can also create a segment for the users you want to analyze and then run a Behavior analysis on this segment. For more information, refer to creating user segments and custom segments.

FilterUsers.png

info

Note

User attributes of custom segment analysis, contain the latest value of the user attributes. The filter works on the current data of the user attributes.

 

User Behavior Options

BehaviourOptions.png

Select an analysis type to calculate and click Apply.  The following are the analysis types:

Analysis Type Description
Total events
  • This analysis provides the count of the number of times the users performed the selected action or event.
Unique users
  • This function provides the count of unique users who performed the selected action or event. 
Unique sessions
  • This function provides the count of unique sessions where the event was performed.
Aggregation
  • This function provides aggregation options for the selected event or attribute.
  • The aggregation functions supported are sum, minimum, maximum, average, median, percentile, and distinct count. Aggregation operations can only be performed on numerical attributes.
Aggregation Distribution
  • This function provides distribution for users into buckets of events or attributes.
  • You can select the type of bucketing between auto (split based on each individual value in the given user set) or custom (where the buckets are defined and the users from the given set are sorted into each of those buckets). 
Total events per user
  • This function lets you run arithmetic operations on the number of events performed by a user based on event or attribute aggregation. 
Attribute aggregation per user
  • This function provides a two-fold aggregation where:
    1. The attribute is aggregated per user
    2. Then aggregated again with data operations. 

 

Total Events

Consider a music streaming app that wants to know the amount of times a specific song was streamed by its users. Suppose one of their custom events is Song played with a custom attribute Song ID, then:

  1. Select the Song played event in the Events and Filters section.
  2. Add the Song ID as an attribute.
  3. Select Total Count as the Analysis Type, and enter the date range.
  4. Click on Apply and view the results.

By running this analysis, they will be able to see the amount of times the song was streamed. Moreover, they can use the Split By option to divide this number based on countries. This will let them see the distribution of the streams of this song based on different countries like America, Canada or Ireland.

Example: The following chart contains the count of the number of times the MoEngage App or Site was opened by the users. 

 

Unique Users

Consider an E-commerce app that wants to know the number of unique users who upgraded to the latest version of their app. They can perform a Behavior analysis and select Unique Users as the Analysis type. To do so:

  1. Select the App Update event in the Events and Filters section. 
  2. Add the attribute App Version and enter the latest version of the app.
  3. Select Unique Users as the Analysis type, and enter the date range.
  4. Click on Apply and view the results.

After doing this, the E-commerce app will be able to see the number of unique users who updated to the latest version of the app. Moreover, they can use the Split By or Compare By option to view the time when users update. 

This will let them differentiate between the users who updated their app within the first day of the release or those who did it afterwards.

Example: The following chart contains the count of the unique users who opened the MoEngage App or Site. 

 

Unique Sessions

Consider an OTT platform that is running a promotional campaign for a new show. If they want to find out the number of sessions in which this show was watched, they can run a Unique Sessions analysis. Suppose one of their custom events is Episode Watched with the custom attribute Episode ID, then:

  1. Select the Episode Watched event in the Events and Filters section.
  2. Add the attribute Episode ID and enter the ID of the episode.
  3. Select Unique Sessions as the Analysis type, and enter the date range.
  4. Click on Apply and view the results.

After doing this, the OTT platform will be able to see the number of unique sessions where the first episode of the new show was played. They can also use the Split By or Compare By option to view the hour of the day when the episode was played. 

This will help them understand during which time the episode is being watched the most. Moreover, they can also get an understanding of the performance of their promotional campaigns by analyzing the difference in watch time before the campaigns and after the campaigns. 

Example: The following chart contains the count of the number of unique sessions where users logged out of their MoEngage account. 

 

info

Note

S2S and MoEngage standard events are not available for this analysis.

 

Aggregation

This function provides aggregation options for the selected events or attributes. These aggregation options are nothing but arithmetic operations that can be performed on the events. The arithmetic operations that can be applied are Sum, Min, Max, Average, Median, Percentile, and Distinct. 

Sum Min Max Average Median Percentile Distinct

The sum of a numeric attribute across all occurrences of an event.

  • Example 1: Get the sum of the prices of all orders placed by users.
  • Example 2: Get the sum of minutes songs were played.

 

Consider an OTT platform that wants to know about the number of episodes watched by the 99th percentile of users, i.e., the users that spent the most amount of time on their app. They can do so by performing an Aggregation analysis. Suppose two of their custom events are Time Spent and Episode Watched, then:

  1. Select the Episode Watched event in the Events and Filters section.
  2. Select Aggregation as the Analysis type.
  3. Choose the type of aggregation from the dropdown. In this case, select Percentile.
  4. Enter a number to define the percentile. In this case, enter 99.
  5. Choose an attribute or event from the dropdown to filter users. In this case, select Time Spent
  6. Click on Apply and view the results.

This will help them understand the number of episodes watched by the 99th percentile of their users.

They can also find the total number of episodes watched by users by selecting Episode Watched as the event and selecting Sum in the aggregation options. The Split By option can also be used here if they want to get a distribution of users based on their platforms.

 

Example: The following chart contains the average price of the products that users added to their carts.

 

Aggregation Distribution

This function allows you to distribute users into buckets of aggregated events or attributes. 

Sum Min Max Average Distinct

Get the distribution of users based on the sum of an attribute across all occurrences of an event

  • Example 1: Get the distribution of users based on the sum of the “prices” of the orders.
  • Example 2: Get the distribution of users based on the minutes of songs played.

 

Consider an E-commerce platform that wants to get a distribution of their users on the basis of the revenue made from their orders. They can run an Aggregation Distribution analysis to achieve this. To do so: 

  1. Select the Product Purchased event in the Events and Filters section.
  2. Select Aggregation Distribution as the Analysis type.
  3. Choose the type of Aggregation Distribution from the options. In this case, select Sum.
  4. Choose an attribute from the dropdown to filter users. In this case, select Price
  5. Click on Apply and view the results.

This will let the E-commerce platform view the distribution of users based on the sum of the prices of their orders.

They can further analyze this by using the Split By or Compare By option to differentiate between users from different regions. This will let them know about the region where the revenue per user is the highest. 

Example: The following chart contains a distribution of users based on the average prices of the products they added to their cart.

 

Distribution bucketing: 

Select any one type of bucketing:

Auto Custom

Auto distribution plots the value against the percentile of users on a line graph.

Total Events per user

Use the arithmetic operations for an individual user based on event attribute aggregation. For example, the average of “App/Site Opened” for an individual user for a given duration.

Min Max Average Median Percentile Distribution

Get the minimum number of occurrences of an event for every user.

  • Get the minimum number of orders placed by a user
  • Get the minimum number of songs played by a user

 

Attribute aggregation per user

Attribute aggregation per user is a two-fold aggregation where:

  1. The attribute is aggregated per user
  2. Then aggregated again with data operations.

First Level Aggregation

Use the following aggregation for the first level

Sum Min Max Average Distinct

The sum of a numeric attribute across all occurrences of an event for a user.

  • Example 1: Get the sum of the prices of all orders placed by users.
  • Example 2: Get the sum of minutes songs were played.

Second Level Aggregation

Min Max Average Median Percentile

Get the minimum value of an attribute aggregated for every user.

  • Example 1: How much has the lowest spender spent? (minimum of “sum” of price)
  • Example 2: How many minutes did the least active listener play? (minimum of the sum of minutes)

 

Consider a song streaming website that wants to know about the average number of distinct songs played by their users in a particular month. They can do so by running an Attribute aggregation per user analysis. Suppose one of their custom events is Song Played with a custom attribute Song ID, then: 

  1. Select the Song Played event in the Events and Filters section.
  2. Select Attribute Aggregation per User as the Analysis type.
  3. Choose the type of Attribute Aggregation per User from the options. In this case, select Distinct.
  4. Select the attribute from the dropdown to filter users. In this case, select Song ID
  5. Choose the second level of aggregation. In this case, select Average.
  6. Select the month in the date range and click on Apply to view the results.

This will show the average number of distinct songs played by a user in a month. Moreover, they can use the Split By or Compare By options to divide the users based on their age. This will give them a distribution of the average number of distinct songs played by users of all ages, helping them create campaigns that are better suited for their audience.

Example: The following chart contains the average of the sum of prices of products that users added to their cart. In other words, this chart contains the average amount of money a user spends on the app or website. 

 

Compare by

In addition to the ability to split an event by attributes,  split or compare all the selected events by common user attributes using the Compare by button in the Behavior Options tab.

For example, you can compare the number of successful orders placed by users from different cities.

info

Note

Compare by or Split by is not available for Predictive Insights (Sherpa) attributes i.e. Best time to send, Most Preferred Channel, and Prediction attributes.

 

Visualizing and Analyzing Results

Chart Types

Switch between the chart view for better visualization, depending on the type of data. Charts display a maximum of 20 different entities. The remaining entities are available in tabular format. User Distribution is displayed as a bar chart.

ChartTypes.gif

Choose between the following chart types to view progress, compare volumes over some time, or compare absolute numbers:

  • Line Chart
  • Area Chart
  • Bar Chart
  • Pie Chart
  • Column Chart

Line charts are viewed as:

  • A linear chart displays data with a continuous line
  • The logarithmic chart scales the values on Y-axis to logarithmic values.

  • The cumulative chart will cumulate all values leading to the latest period in the chart. 

LineChart_LiLoCum.png

Line, Area, Column, and Bar charts are scaled relative to percentages using an absolute number or percentage. Click # and % to display the charts.

AbsolutePercentage.png

Granularity

You can also break down the report into the granularity of Hourly, Daily, Weekly, or Monthly for easy visualization. Unique users will be displayed based on the granularity you select.

gran.png

ChartGranularity.gif

Add to Custom Dashboard

User behavior analysis reports can be pinned to any desired dashboard. Hence users don't have to enter all the filters and can see the analysis with one click on the custom dashboards. Click on the “Pin to Dashboard” button to save this chart in custom dashboards. For more information, refer to Custom Dashboards.

Table and Downloads

After viewing the report, you might need to share it with your team. You can download the report to do that.

Users can download charts in PNG format and you can export the tables as a CSV file.

Transpose Table

You can transpose the table, it allows you to view and download the table in your preferred format by shifting the vertical and horizontal orientation of the table.

Actionable Analytics

Behavior analytics is transformed from just informative to actionable through actionable analytics. The insights provided by Behavior analysis can be saved as custom segments, and you can take the following actions on custom segments:

  • Create Campaign
  • Analyze Segments

Click on any data point, column/line, to engage the respective users. On the Create Segment popup, select Dynamic segments to have the relative date range, or select Static segment to have a fixed date range for your segment. Provide the Segment name to save the insights (thus users) as a custom segment.

Check the box - Take action on the custom segment

  • Click on Create campaign for this segment to use this segment in the desired campaigns.

Screen Recording 2023-04-18 at 11.52.48 PM (1).gif

 

  • Click on Analyze this segment to directly use this segment in the desired analysis types.

Screen Recording 2023-04-18 at 11.57.57 PM.gif

Actionable insights are not available for hourly granularity at this point.

Previous

Next

Was this article helpful?
5 out of 13 found this helpful

How can we improve this article?