Filter data
When you use an analysis model, you may want to analyze only the behavior of a specific group, pinpoint events that meet certain conditions, or exclude abnormal data to keep your analysis accurate.
Feature details
Filters let you filter data based on specified properties and conditions. Event properties, user properties, user tags, and user cohorts can all be used as filter properties.
For example, if you want to analyze payments from the app store, you can add the filter Source Channel is app store. The triggering users are then counted only from payment events whose Source Channel event property is app store.
If you also want to select users with certain characteristics, you can add another parallel condition to filter users. This condition and Source Channel is app store are joined by And, which means only events that meet both conditions are used to count triggering users.
You can change the relationship between parallel conditions to Or. The result is then the number of triggering users of events that meet either condition. You can also set up multiple groups of parallel conditions to pinpoint what you want to analyze more precisely.
In an analysis model, you can filter a single analysis metric only (callout 2), or configure a global filter in All events meet that applies to all analysis content (callout 3). If the analysis metric is a custom formula, you can also filter a single event (callout 1), which applies only to some of the events in the formula.
Filter condition logic
Text Type
- is: The selected property equals any of the configured values
-
is not: The selected property has a value, and it differs from all configured values
-
contains: The selected property has a part that exactly matches the input
Example: "Xiaomi GetApps" contains "Xiaomi GetApps" and also "Xiaomi", but not "Xiaomi Store"
-
RegEx match: You can define a custom regular expression, and the selected property must match it
--Some common regular expressions
--Starts with xxx
^xxx
--Ends with xxx
xxx$
--Chinese characters only
^[\u4e00-\u9fa5]{0,}$
--Between x and y characters
^.{x,y}$
List type
- element existed: Any element in the list equals any of the configured values
Time type
-
compare to current date: The number of calendar days between the selected property and Today is within the range. A negative number means before, and a positive number means after
-
Compare to event time:
- range: The time difference between the selected property and the event time is within the range. A negative number means before, and a positive number means after
- same day, same week, same month: Whether the selected property and the event time fall on the same day, week, or month
When the system checks whether data meets the condition, Day (relative) means 24 hours rather than a calendar day. Suppose the filter condition is Compare to event time between -1 and +1 day, and the event time is January 1, 2023 17:00:00. As long as the selected property falls within December 31, 2022 17:00:00~January 2, 2023 17:00:00, the event meets the condition and isn't filtered out.
- Time-type event properties are offset to the display time zone before comparison. Time-type user properties and user tags are not offset
- Compare to event time is also relative to the event time after the time zone offset
Array Row type
- has rows that: Any row in the selected property meets the requirements
- no row meets: No row in the selected property meets the requirements
- all rows meet: All rows in the selected property meet the requirements
After you select one of the three filter conditions above, you also need to configure the requirements that the child properties of the rows must meet. You can set multiple parallel conditions

