Menu

Event Analysis

1. Overview

Events represent in-app user actions, such as app launches, registration, login, page views, purchases, etc.

Event analysis in SolarEngine, refers to the analysis based on events through functions such as metric selection, conditional filtering, and result grouping. It enables us to understand user behavior within the app, dive into overall data performance based on metrics, and optimize product design and advertsing strategies.

Event analysis is the most commonly used analytical model in SolarEngine Analytics. It can be applied to various scenarios, such as:

  • How many new users are acquired from each channel today?
  • How many users open the app today?
  • What is the trend of payment over the last 30 days?
  • What is the average payment amount for users at each game level?
  • What is the hottest-selling in-game item this week?

2. Usage Guide

The most fundamental operations in event analysis involve adding Single Metric and adding Composite Metrics.

2.1 Add Metrics

2.1.1 Add Single Metric

Clicking "+ Single Metric" allows you to select an event using the event selector and then choose a statistical method for that event (Event Totals, Uniques, Times Per User). Alternatively, you can select a specific event property and then choose a statistical method for that property. You can also perform calculations by selecting metrics that have already been saved as "Metrics".

You can add multiple metrics and calculate them at the same time.

2.1.2 Add Composite Metric

Composite metric refers to creating a new metric by applying arithmetic operations to the existing events and event properties. These operations involve defining custom formulas using arithmetic operators (+, -, *, /).

  • The formulas support calculations between metrics, such as the average number of ad displays per active user: the number of ad displays/the number of active users.
  • The formulas also support calculations between metrics and numerical values. For instance, converting cent into US dollar, the formula would be: payment amount (in cent) / 100 = payment amount (in dollar).

Please ensure that the arithmetic expressions comply with the rules of basic arithmetic operations. This means that there should be operators or parentheses between two calculation units, and there should be calculation units between two operators. Also, ensure that you select complete metrics and properly enclose parentheses. Failure to adhere to these rules will prevent successful calculations.

Composite metrics support various ways of presenting numerical values, allowing users to choose the format that suits their analysis needs.

Taking user proportion as an example:

2.1.3 Event Selector

When adding metrics, the first step is to use the event selector to choose either an event or a saved "metric".

The event selector allows for quick access to events in the system. We provide additional functionalities for convenient event bookmarking, grouping, sorting, and searching, aiming to enhance usability and improve efficiency when working with events.

Event Bookmarking

  • To add an event to your bookmarks, simply click on the favorite icon next to the event name in the event list.
  • The most recently bookmarked events will be displayed at the top of the event list.

Event Group

  • To access the event group management page, click on the administration icon located next to the "Events" tab.

  • In this page, you can configure whether the event group is public or personal.
  • Each user can manage their own personal groups. They can create groups, add new events to their groups, and rearrange the event order within the group by dragging and dropping.
  • Only account owner, super admin, and group managers have the permission to manage public groups.
  • The "Default Group" is not draggable and always stays at the bottom of the group list.
  • After completing the group management operations, it is necessary to click on "Save" to apply the changes and make them effective.

Select Metrics

  • By clicking on the "Metrics" tab in event selector, you can add pre-saved metrics to your analysis conditions.
  • The "Metrics" tab is visible when adding single metric, but not selectable when adding composite metric.
  • The "Metrics" tab displays a list of metrics at the tenant level and product-specific metrics for selection.

2.2 Statistical Indicators for Event and Event Property

In analysis, statistical indicators vary based on the object of analysis.

Statistical ObjectStatistical Indicator
EventTotal Count
Unique Visitors
Average per User
Property (Numerical)Sum, Maximum, Minimum, Average, Per User, Variance, Standard Deviation, Median, Quantiles(99、95、90、80、75、60、40、30、25、20、10、5), Deduplication
Property (Boolean)True, False, Null, Non-Null, Deduplication
Property (List/Sequence)List Deduplication, Element Deduplication, Sets Deduplication
Property (Date/Time)Deduplication
Property (String)Deduplication


Preset Metrics:

  • Total Count = The total occurrences of the event
  • Unique Visitors = The number of unique visitors who engaged in the event
  • Average per User = Total Count / Unique Visitors

Numerical Metrics:

  • Sum = The total sum of the selected property.
  • Maximum = The highest value of the selected property.
  • Minimum = The lowest value of the selected property.
  • Average = Sum / Total Count
  • Per User = Sum / Unique Visitors
  • Variance = The average of the squared differences between each property value and the mean ( the sum of property values / the number of values).
  • Standard Deviation = The square root of the variance.
  • Median and Quantiles = Sorting the attribute values in descending order (without removing duplicates) and identifying the value at the Nth percentile or position.

Boolean Metrics:

  • True = The number of true results.
  • False = The number of false results.
  • Null = Total - True - False
  • Non-Null = True + False

List Metrics:

  • List Deduplication = Deduplicate number of list results (Lists with the same but differently ordered elements are treated as 2 results)
  • Element Deduplication = Deduplicate number of elements in the current list
  • Sets Deduplication=Deduplicate based on the set of elements in the list   (Lists with the same but differently ordered elements are treated as 1 results)

All Metrics:

  • Deduplication = The number of distinct values excluding null values and placeholders.

2.3 Conditional Filtering

By setting appropriate conditions, you can narrow down the scope of analysis and focus on metrics with specific event properties, device properties, user properties or user tags. By doing this, you can obtain more precise and targeted analysis results.

These filtering conditions are applicable to ALL analysis models within the User Analysis module.

The filtering options are divided into single metric filtering and global filtering. The "Filter" option following each metric in event selector represents single metric filtering, in contrast, the "Filter" located below the event selector area, represents global filtering. In single metric filtering, the available property options are limited to the properties of the currently selected event. However, in global filtering, the properties of the multiple selected events are available to be selected.

You can set multiple filter options in one analysis. These filter options can be configured by "AND" or "OR" logic. Additionally, the filter options can have secondary filter options, which also support "AND" or "OR" filtering logic.

2.3.1 Add Property Filtering

The filtering method available depends on the data type of the selected properties.

Data TypeFiltering Method
NumberMore than, less than, equal, not equal, in range of, have value, no value, less than or equal, more than or equal
BooleanTrue, false, have value, no value
ListHave element, no element, have value, no value
DateAbsolute time, relative to current time, relative to time of event, more than or equal, less than or equal, have value, no value
StringEqual, not equal, contains, doesn't contain, have value, no value, RegExp match, RegExp not match
New and Existing users(Device/User Properties) Equal, not equal


Number

• More than: The results more than the specified value will be preserved.

• Less than: The results less than the specified value will be preserved.

• Equal: The results equal to the specified value will be preserved.

• Not equal: The results not equal to the specified value will be preserved

• In range of: The results in range of  the specified values will be preserved, including the results equal to the set value.

• More than or equal to: The results more than or equal to the specified value will be preserved.

• Less than or equal to: The results less than or equal to the specified value will be preserved.

Boolean

      • True:The results with a value of true will be preserved.

• False:The results with a value of false will be preserved.

List

• Have element:The results that contain the specified element in the list will be preserved, regardless of their position and order.

• No element:The results that do not contain the specified element in the list will be preserved, including those that are empty or have no value.

String

• Equal:The results that match the specified value exactly will be preserved; this includes results that are identical to the specified value. Multiple selections are supported.

• Not equal : The results that do not match the specified value exactly will be preserved; this includes results that are not identical to the specified value. Multiple selections are supported.

• Contains: The results that contain the specified value in their result value will be preserved, including partial matches and exact matches. Only single selection is allowed.

• Doesn't contain: The results that do not contain the specified value in their result value will be preserved, including results that are empty or have no value. Only single selection is allowed.

• RegExp match: The results that match the regular expression will be preserved.

• RegExp not match: The results that do not match the regular expression will be preserved.

New and Existing users

The distinction between new and existing users is a boolean value determined by predefined rules and conditions. The determination of whether a user is new or existing is calculated based on these rules during the computation.

• New User: When the event time and the user's signup time are within the same granularity, it is considered a new user event and will be matched by the "equal to - new user" condition.

• Existing User: When the event time and the user's signup time are not within the same granularity, it is considered an existing user event and will be matched by the "equal to - existing user" condition.

All Types (excluding "New User" and "Existing User")

• Has Value: Results with a value will be preserved, excluding empty and null results.        

• No Value: Results with no value will be preserved, including empty results.

Properties available to be selected include event property (including attribution property), device property, and user property:

PropertyDescription
Event Property Properties recorded in the event table, including reported event properties, attribution results generated by SolarEngine attribution services, and virtual event properties.
Device PropertyEvery device reporting data to SolarEngine will be recorded in a device table, in which it records device related properties, including device source information, cost, in-app ad revenue, and in-app purchase revenue.
User PropertySolarEngine uses ID mapping logic to create users based on the product for cross-platform user identification with a login system. Developers can pass corresponding user properties as they need.

Note:

In the analysis model, you can use attribution properties, as well as device source, cost, and revenue from device properties, for filtering and grouping. However, these properties generated by SolarEngine are not available by default. Please contact your account manager for activation.

2.3.2 Add User Tag Filtering

Data TypeFiltering Method
Numbermore than, less than, equal, not equal, in range of, less than or equal, more than or equal, belongs to tag, dose not belong to tag
BooleanTrue, false, belongs to tag, dose not belong to tag
ListHave element, no element, belongs to tag, dose not belong to tag
DateAbsolute time, relative to current time, more than or equal, less than or equal, belongs to tag, dose not belong to tag
StringEqual, not equal, contains, doesn't contain, belongs to tag, dose not belong to tag, RegExp match, RegExp not match

Number

• More than: The population with tag values more than the specified numerical value will be targeted.

• Less than: The population with tag values less than the specified numerical value will be targeted.

• Equal to: The population with tag values equal to the specified numerical value will be targeted.

• More than or equal to: The population with tag values more than or equal to the specified numerical value will be targeted.

• Less than or equal to: The population with tag values less than or equal to the specified numerical value will be targeted.

• Not equal to: The population with tag values not equal to the specified numerical value, including users not in the label, will be targeted.

• In range of: The population with tag values within the set numerical range will be targeted.

Boolean

  • True: The population with a tag value of true will be targeted.
  • False: The population with a tag value of false will be targeted.

List

  • Have element: The population with tag values that contain the specified element will be targeted.
  • No element: The population with tag values that do not contain the specified element, including users not in the tag, will be targeted.

String

• Equal: The population with tag values that are exactly the same as the specified value will be targeted; supports multiple selections.

• Not equal: The population with tag values that are not exactly the same as the specified value, including users without the tag, will be targeted; supports multiple selections.

• Contains: The population with tag values that contain the specified value will be targeted; can only be selected once.

• Not contain: The population with tag values that do not contain the specified value, including users without the tag, will be targeted; can only be selected once.

• RegExp match: The population with tag values that match the specified regular expression will be retained.

• RegExp not match: The population with tag values that do not match the specified regular expression will be retained.

All Types

• Belongs to tag: All individuals within the user tag will be targeted.

• Does not belong to tag: All users not in the user tag will be targeted.

2.3.3 Add Time Filtering Options

   Properties and tags with a data type of date/time can be filtered using this method:

1) Absolute Time

       Filter out the results within the specified time period.

2) Relative to current time

       Relative to the current date, it can be divided into "Last" and " In range of".

Last

       You can choose the last few days.

0 means the current day, positive values mean last days, while negative values like "-3" are not applicable here.

  • in lase o day means today
  • in last 1 day means yesterday, and so on
  • in last -1 day indicates a negative value, it cannot be calculated

In Range Of

       You can select a start date and an end date for the desired range.

The selection of the start and end dates is based on today as the reference point. While '0' represents the current day, negative values represent the past, and positive values represent the future. The chosen interval should have the start date smaller than the end date for the calculated range.

  • In Range of -7 to 0 day, it refers to from 00:00:00 seven days ago until 23:59:59 today.
  • In Range of -3 to 1 day, it refers to from 00:00:00 three days ago until 23:59:59 tomorrow.
  • In Range of -2 to -1 day, it refers to from 00:00:00 two days ago until 23:59:59 yesterday.
  • In Range of 0 to 0 day, it refers to from 00:00:00 today until 23:59:59 today.
  • In Range of 0 to -1 day, which has a start date greater than the end date, it cannot be calculated.

3) Relative to event time

      Includes in range of, same day, same week, and same month.

Relative to event time refers to the relationship between the result of filtering a certain time property and the event time. Assuming the current time is "event_time" and the filtering time is "reg_time," the filtering result represents the relationship between "reg_time" and "event_time." For example, "reg_time" falls within a specific relative interval of "event_time," or occurs on the same day, week, or month, etc.

In range of:

When the input fields represent an interval, you should fill in the start and end date. While '0' represents the current time, negative values represent the past, and positive values represent the future.

The interval for calculation should have the start value smaller than the end value. The unit of the interval can be chosen as days (relative), hours, or minutes. In the case of relative days, it refers to a period relative to 24 hours, not necessarily a calendar day.

Same Day/Week/Month:

      Means the event for filtering and event for metric calculation occur on the same natural day/week/month.

4) More than or equal to

      The results that are more than or equal to the specified time point will be retained.

5) Less than or equal to

      The results that are less than or equal to the specified time point will be retained.

2.4 Group Display

When calculating and analyzing metrics, you can display the results by grouping them based on event properties, device properties, user properties, and user tags for easy comparison among groups.

Event Analysis supports setting multiple groups simultaneously. However, too many groups can affect calculation and loading performance as well as understanding of metric results. Therefore, it is recommended to choose a reasonable number of groups.

The Group Display feature is similar in all analysis models within the User Analysis module.

  • In the "Group display" section of the settings area, click on "Add Group" to select a specific property as the grouping variable.
  • Once a grouping variable is set, clicking "Add Group" again allows you to add multiple grouping variables.
  • When setting multiple grouping variables, the total number of groups in the final result will be the product of the results and counts from each grouping variable. For example, if there are 10 group results for the source channel and 5 group results for cities, the final result will show 50 groups.

Different data types can be grouped by different criteria, as follows:

Data TypeFiltering Method
NumberDefault Interval, Discrete Numbers, Custom Interval
BooleanDiscrete
ListBy list whole, by element set, by element discrete
DateGrouping by day, hour, week, month, minute, quarter, year, and discrete
StringDiscrete
New and Existing usersDiscrete
  • Numerical Grouping

If you group by a numerical property, you can further select the grouping method: Default Interval, Discrete Numbers and Custom Interval.

Default Interval

If there are no more than 5 results, the system uses discrete number grouping method. If the result count exceeds 5, the system divides the range between the maximum and minimum values into five equal parts, leading to 5 result groups.

Discrete Numbers

Create as many groups as the number of unique result values.

Custom Interval

Define intervals flexibly according to your requirements. Add intervals manually or add batches automatically after setting steps and step length.

       You can manually "Add Interval" based on your analysis requirements, or you can perform "Add Batches" using a specified step length and steps.

  • List Grouping

Iist grouping divided into whole by list, set by element, and discrete by element

By list whole

Grouping by the overall attribute values of each list property as independent items, and elements with the same values but different order will be grouped into two separate groups.

By element set

Grouping by the element sets of each property's attribute values in a list, as long as the elements contained in the attribute values are the same, regardless of whether the order is the same, they will be grouped together.

By element discrete

Each element within an attribute value will be grouped separately, so a single event may be assigned to multiple groups.

  • Temporal Grouping

If you group by a temporal property, you can further select the grouping method: By day, by hour, by week, by month or by minute.

  • Discrete grouping

When the selected property is boolean, categorical, or string, the grouping method is Discrete Numbers by default, i.e., each unique result will be treated as a separate group.

When grouping based on device and user attributes into new and existing user groups, two groups are formed: the new user group and the existing user group. Events that have the same granularity as the user's signup time will be calculated within the new user group, while events with different granularity will be calculated within the existing user group.

2.5 Calculate and Save

      Each calculation requires selecting both the analysis entity and the query time.

2.5.1 Analysis Entity

       The analysis entity is the identifier used to recognize users when metrics related to user counts are involved (e.g. unique visitors, value per user). We support user ID, _account_id, _distinct_id, or custom ID.

       For instance, if you want to count the number of unique IPs in login events or the number of unique product IDs in purchase events, IP and product ID can be set as the analysis entities. You can review detailed information on setting the analysis entity in the relevant documentation.

       By default, the analysis entity is set as SolarEngine user ID, but you can modify it manually.

2.5.2 Query Time

       In the analysis model, the default query time is "Server Side Time," with an alternative option of "Client Side Time." The difference between these two is:

  • Server Side Time: The server time when the system receives the data.
  • Client Side Time: The device time when the event occurs on the device.

2.5.3 Calculation and Saving

After setting the conditions, click on "Calculate " to initiate the condition calculation. Once the calculation is completed, the results will be displayed in the results area below.

  • If the filtering conditions are set correctly and the metric results are calculated accurately, you can save the report via the "Save Report" button located on the top right corner of this page.
  • Once saved, the report can be added to a dashboard for convenient viewing and sharing.
  • Clicking on "Report Management" will show you all the saved Event Analysis reports.
  • When clicking on a report in "Report Management", you can directly view the saved report and its results

2.6 Result Display

After setting the conditions, click on "Calculate ", the results will be displayed in the calculation results area.

2.6.1 Time Zone

Analytical reports can be viewed in the desired time zone by switching to it. For example, if the product is launched in Thailand, you can choose to view the reports in UTC+7. After switching the time zone, the date window will adjust and switch according to the selected time zone's natural days. This allows the analysis results to be displayed in local time.

2.6.2 Time Unit

You can use the time aggregator to select the aggregation granularity of the computed results over time. Currently, it supports aggregation by hour, day, week, month, minute, quarter, year, and total for result display. The default setting is aggregation by day. When choosing weekly aggregation, you can specify the starting day of the week.

2.6.3 Time Range

In the result display area, you can choose the desired time range for data retrieval. By default, it is set to the past 7 days.

The left side of the date selector provides commonly used intervals, including Today, Yesterday, Last Week, Last Month, Last 3 Months, and Last Year. By clicking on any of these options, you can quickly navigate and choose the desired time period for your analysis.

Dynamic Time

After saving a report, once you revisit it later, the time range will automatically adjust relative to the viewing date. For example, if the original report was saved on July 5 with a time range of "Yesterday", when you reopen the report on July 20, the report will dynamically update to show data from July 19 rather than July 4. This ensures that the report always provides up-to-date information.

Static Time

If you select Static Time, the specified time range will remain fixed. For example, if the original report was saved on July 5 with a time range of "Yesterday", when you reopen the report anytime later, you will still see data from July 4.

2.6.4 Compare time ranges

Event analysis supports comparing the performance of metrics in different time periods for the same group. You can set up different time periods to compare the metrics' performance.

Up to 5 sets of time periods can be saved for comparison, but only one set can be selected for comparison at a time.

2.6.5 Switch the Result Display Format and Export Report Data

You can switch the display format of the results.

文章图片

The available display formats are: trend chart, distribution chart, and data table.

Please download the report for a complete view via the "Download" button.

2.6.6 Chart Display Settings

  • Chart display settings for trend charts

In trend chart mode, clicking on the settings button below the toggle bar allows you to configure individual metric settings. You can customize the chart style (line/bar) for each metric, choose whether to display it on the secondary axis, and decide whether to show the calculated result values on the chart.

Taking an example of a trend chart composed of the following two metrics, where one is measured in count and the other in percentage, you can display the ratio metric on the secondary axis while optionally showing the metric values.

  • Chart display settings for distribution charts

In distribution chart mode, clicking on the settings button below the toggle bar allows you to configure individual metric settings. You can customize whether to display calculated result values on the chart for each metric.

Using metric breakdown by dimension (grouping) as an example, when multiple metrics are split by a grouping dimension, they can be displayed as cumulative bar charts. Users can choose whether or not to display the numerical values based on their needs.

2.6.7 Data Table Display

The data table supports setting "Stage Summary" method for each metric.

       You can configure whether or not to include data from incomplete time periods in stgae summary:

  • Incomplete time refers to the time granularity that is ongoing at the time of calculation. For example, if the current time is 17:00, Feb 10, and you are calculating on a daily basis, Feb 10 is an ongoing time period. When selecting an event time range from February 1st to February 10th and enabling the 'Include Incomplete Time' option, data from February 10th will be included in the calculation. If the option is disabled, data from February 10th will be excluded.
  • This setting does not affect the data when the specified calculation time range does not include the current time granularity. For example, if you calculate results from the past 5 days on a daily basis, regardless of whether the "Include Incomplete Time" option is enabled, it will not impact the data.

       When calculating a single metric as "Total Count," the result number will be underlined. Clicking on the number will show the event list used to calculate that metric.

       When calculating a single metric as the "Number of Triggered Users", hovering over the result number allows you to save the users as a result label. Additionally, clicking on the underlined number will show you the user list targeted.

3. Permission Explanation

Operation Permissions: Super Admin, Group Admin, Analyst, Regular Sub-account with assigned permissions.

Entry: SolarEngine - Product - Analysis - Event Analysis


Previous
Overview
Next
Funnel Analysis
Last modified: 2024-12-13Powered by