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:
The most fundamental operations in event analysis involve adding Single Metric and adding Composite Metrics.
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.
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 (+, -, *, /).
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:
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
Event Group
Select Metrics
In analysis, statistical indicators vary based on the object of analysis.
Statistical Object | Statistical Indicator |
Event | Total 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:
Numerical Metrics:
Boolean Metrics:
List Metrics:
All Metrics:
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.
The filtering method available depends on the data type of the selected properties.
Data Type | Filtering Method |
---|---|
Number | More than, less than, equal, not equal, in range of, have value, no value, less than or equal, more than or equal |
Boolean | True, false, have value, no value |
List | Have element, no element, have value, no value |
Date | Absolute time, relative to current time, relative to time of event, more than or equal, less than or equal, have value, no value |
String | Equal, 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:
Property | Description |
---|---|
Event Property | Properties recorded in the event table, including reported event properties, attribution results generated by SolarEngine attribution services, and virtual event properties. |
Device Property | Every 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 Property | SolarEngine 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.
Data Type | Filtering Method |
---|---|
Number | more 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 |
Boolean | True, false, belongs to tag, dose not belong to tag |
List | Have element, no element, belongs to tag, dose not belong to tag |
Date | Absolute time, relative to current time, more than or equal, less than or equal, belongs to tag, dose not belong to tag |
String | Equal, 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
List
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.
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 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.
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.
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.
Different data types can be grouped by different criteria, as follows:
Data Type | Filtering Method |
---|---|
Number | Default Interval, Discrete Numbers, Custom Interval |
Boolean | Discrete |
List | By list whole, by element set, by element discrete |
Date | Grouping by day, hour, week, month, minute, quarter, year, and discrete |
String | Discrete |
New and Existing users | Discrete |
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.
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.
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.
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.
Each calculation requires selecting both the analysis entity and the query time.
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.
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:
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.
After setting the conditions, click on "Calculate ", the results will be displayed in the calculation results area.
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.
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.
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.
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.
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.
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.
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.
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:
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.
Operation Permissions: Super Admin, Group Admin, Analyst, Regular Sub-account with assigned permissions.
Entry: SolarEngine - Product - Analysis - Event Analysis