The Behavior module of MoEngage Analytics offers valuable insights into user interactions with web and mobile apps. Through in-depth analysis, it enables tracking of events, examination of app and campaign performance trends, and comparison of reports to identify behavior patterns that drive user retention and revenue generation.
The behavior module comprises graphical reports designed for straightforward visualization and tabular reports intended for in-depth analysis. These reports encompass a spectrum of data, ranging from fundamental surface-level actions to the impact assessment of the latest experiment on business profitability.
Behavior Analysis Overview
Behavior answers the following questions:
- 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?
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 launches
- Products searched
- Products viewed
- Added to cart
- Purchase completed
To view, a report for an event, navigate to the Analytics menu and click on Behavior.
Track up to 10 events simultaneously and compare the analysis side by side.
Events and Filters
Filters help narrow down the results to specific Event Attributes.
- Click on Add Filters
- Select appropriate filters from the Filter By section.
- Select the Case Sensitive checkbox if you want the report to match the exact case of the value you specify.
Add multiple filters and choose whether to apply all or any one of the filters. Click AND or OR to filter further.
For example, to combine data across two platforms, use the OR filter. If you want to get data for a specific platform and look at the visits to a specific website, then use the AND filter.
Filter for Geolocation is not supported in MoEngage analytics.
Comparing Event
Compare multiple reports by using the Add Events option. Compare All Events, Unique Users, and Formulae for the selected events. Use comparing events to compare a maximum of 10 reports at a time.
For example, you might want to compare the number of users who performed ‘App/Site Opened’ vs the users who performed ‘Song Played’ vs ‘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, 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.
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.
Filter Users
Custom Segment Analysis
By default, the behavior analysis is performed on all users preset 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 combinations. It is similar to creating a segment and analyzing these users on Behavior analysis. For more information, refer to creating user segments and custom segments.
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. |
Behavior Options
Select an analysis type to calculate and click Apply. The following are the analysis types.
Total Events
Count the number of times the selected action or event is performed by users.
Unique Users
Count of unique users who performed the selected event.
Unique Sessions
Count of unique sessions where the selected event was performed.
S2S and MoEngage standard events are not available for this analysis.
Aggregation
Arithmetic functions are performed on specific events, users, or device attributes. For example, to determine the revenue, find the sum of prices of all purchases.
Select one of the following arithmetic functions Sum, Average, Maximum, or Minimum applied to the event attribute. The drop-down displays the arithmetic attributes of the selected event.
Aggregate an event attribute using data operations like sum, min, max, average, median, distinct, and percentile. For example, the “sum” of “price” displays revenue.
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.
Minimum of a numeric attribute across all occurrences of an event.
- Example 1: Get the min of prices of all my orders.
- Example 2: Get the min number of minutes a song was played.
Maximum of a numeric attribute across all occurrences of an event.
- Example 1: Get the max of prices of all my orders.
- Example 2: Get the max of minutes songs were played.
Average of a numeric attribute across all occurrences of an event.
- Example 1: Get the average of all prices across all orders placed by the users.
- Example 2: Get the average number of minutes songs are played.
Median of a numeric attribute across all occurrences of an event.
- Example 1: Get the median of all prices across all orders.
- Example 2: Get the median number of minutes songs are played.
The Xth percentile of a numeric attribute value across all occurrences of an event.
- Example 1: Get the 50th percentile of price across all orders.
- Example 2: Get the 75th percentile number of minutes songs are played
Count unique or distinct attribute values across all occurrences of an event.
- Example 1: How many distinct products were purchased across all my orders?
- Example 2: How many distinct songs were played across all songs played?
Aggregation Distribution
Distribute users into buckets of aggregated event attributes. E.g users can be bucketed into different buckets of revenue (“sum” of “price”) for a selected period.
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.
Get the distribution of users based on minimum values of an attribute across all occurrences of an event.
- Example 1: Get the distribution of users based on the minimum price of orders placed by them.
- Example 2: Get the distribution of users based on the minimum number of minutes played by them.
Get the distribution of users based on the maximum values of an attribute across all occurrences of an event.
- Example 1: Get the distribution of users based on the maximum price of orders placed by them.
- Example 2: Get the distribution of users based on the maximum number of minutes played by them.
Get the distribution of users based on the average of an attribute across all occurrences of an event
- Example 1: Get the distribution of users based on the average “prices” of the orders.
- Example 2: Get the distribution of users based on the average minutes of songs played.
Get the distribution of users based on distinct values of an attribute across all occurrences of an event
- Example 1: Get the distribution of users based on distinct/unique products purchased.
- Example 2: Get the distribution of users based on the number of distinct/unique songs played.
Distribution bucketing:
Select any one type of bucketing
Auto distribution plots the value against the percentile of users on a line graph.
Custom Distribution provides a user count for the specified interval. Provide lower and upper bounds values here along with interval size. You can have up to 10 intervals.
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.
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
Get the maximum number of occurrences of an event for every user
- Get the maximum number of orders placed by a user
- Get the maximum number of songs played by a user
Get the average number of occurrences of an event per user
- Example 1: Get the average number of orders per user
- Example 2: Get the average number of songs played per user
Get the median number of occurrences of an event per user
- Example 1: Get the median number of orders per user
- Example 2: Get the median number of songs played per user
Occurrences of an event per user for Xth percentile user.
- Example 1: How many orders did the 25th percentile user place?
- Example 2: How many songs did the 75th percentile user play?
Get the distribution of users based on the number of occurrences of an event.
- Example 1: Get the distribution of users based on the number of orders placed per user.
- Example 2: Get the distribution of users based on the number of songs played per user.
Distribution bucketing
Select any one type of bucketing:
- Auto Distribution plots the value against the percentile of users on a line graph.
- Custom Distribution provides a user count for the specified interval. Provide lower and upper bounds values here along with interval size. You can have up to 10 intervals.
Attribute aggregation per user
Attribute aggregation per user is a two-fold aggregation where
- The attribute is aggregated per user
- Then aggregated again with data operations.
For example, get the average number of unique or distinct songs played by the users
First Level Aggregation
Use the following aggregation for the first level
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.
Minimum of a numeric attribute across all occurrences of an event.
- Example 1: Get the minimum prices of all the orders.
- Example 2: Get the minimum number of minutes a song was played.
Maximum of a numeric attribute across all occurrences of an event.
- Example 1: Get the maximum prices of all the orders.
- Example 2: Get the maximum number of minutes a song was played.
Average of a numeric attribute across all occurrences of an event.
- Example 1: Get the average of all prices across all orders placed by the users.
- Example 2: Get the average number of minutes songs are played.
Count unique or distinct attribute values across all occurrences of an event.
- Example 1: How many distinct products were purchased across all the orders?
- Example 2: How many distinct songs were played across all songs played?
Second Level Aggregation
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)
Get the maximum value of an attribute aggregated for every user.
- Example 1: How much has the highest spender spent? (maximum of “sum” of price)
- Example 2: How many minutes did the most active listener play? (maximum of the sum of minutes)
Get the average value of an attribute aggregated for every user.
- Example 1: Get the average revenue received from a user (average of the sum of price)
- Example 2: Get the average number of minutes songs are played by each user (average of the sum of minutes)
Get the median value of an attribute aggregated for every user.
- Example 1: Get the median of total revenue received from a user (median of the sum of price).
- Example 2: Get the median of cumulative minutes played by a user (median of the sum of minutes).
Get the value of an attribute aggregated of Xth percentile user.
- Example 1: How many distinct products did the 25th percentile user buy (Distinct products purchased by Nth percentile user)
- Example 2: How many distinct songs did the 75th percentile user listen to (Distinct songs heard by Xth percentile user)
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 “Compare by” in the Behavior Options tab.
For example, compare the number of successful orders placed by users of different subscription tiers.
info |
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.
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.
Line, Area, Column, and Bar charts are scaled relative to percentages using an absolute number or percentage. Click # and % to display the charts.
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.
Add to Custom Dashboard
All the analyses performed on the Behavior, Funnels, Retention, and Session & Source sections of MoEngage Analytics can be added to the custom dashboard as reports & charts by selecting Save chart to the dashboard or Save table to the dashboard from the Save dropdown.
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.
Sorting
You can organize and analyze the data in the Behavior Table without relying on external tools.
To sort the data, click the column header in the table. The data in that column will be sorted in ascending or descending order.
You can also sort in the transpose view of the table.
Calculations
info |
Note Calculations are only available in the tables for line and area charts. |
For any set of data in the Behavior Table, the following calculation types are available:
- Sum
- Median
- Average
- Min
- Max
You can choose the calculation type from the list in the column. For tables with multiple events, you can sort the calculation by clicking the header of the calculation type. This will sort the data in ascending or descending order.
In the transpose view, the calculation type row remains fixed while the columns are sortable.
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 Create campaign for this segment to use this segment in the desired campaigns.
- Click on Analyze this segment to directly use this segment in the desired analysis types.
Actionable insights are not available for hourly granularity at this point.
Reach out to us directly from your MoEngage Dashboard - Need Help? - Contact Support or send an email to support@moengage.com.