Queries and Measures

Introduction

Query is a Report used to get Measures from user events using mathematical functions. Functions such as Count or Aggregation (MIN/MAX/SUM/AVG) can be used to compute simple measures, which can then be compounded using the + and / operators for more complex analysis.

Measure

Measure includes one Function (e.g. "Count Events") applied to at least one set of Events each can have its own Event Filters.

  • Name: you can provide a name for each Measure so they can be easily identified on the result analysis chart. If the name is not specified, a default name such as "M1", "M2" will be used.
  • Format: you can decide how to format the Measure in the chart by selecting between #, % and $, and also specify the number of digits to keep.
  • Saved Measure: you can save a measure when it is completely defined. All Saved Measures will be available in the Measure dropdown list for others to reuse.

Create and Save a Measure

Often the same Measure would be used over and over for the calculation of different business metrics. Measures can be saved in order to promote re-use and consistency across queries.

Re-use a Measure

Sometimes Measures would be complicated as they would be based on multiple events and filters and that makes it really hard for everyone across multiple teams to remember all the details to compute the Measure correctly. Luckily, it only has to be defined once and can then be re-used by everyone. All you need to know to re-use a measure is its name.

Use Functions

Functions are applied over Events in order to produce insights. Each Function can be applied to multiple groups of Event(s) and each group may have different filters. The following are supported out of the box:

  • Count Events: count number of events
  • Unique Users: count unique users with distinct User Id
  • Unique Values: count unique number of values for a certain Event Property
  • Min/Max/Sum/Average: aggregation functions on a certain Event Property

Apply Filters

Filter is the constraint applied during analysis. There are two kinds of filters:

  1. Event filter - filters applied to the events
  2. Global filter - filters applied to the Report globally

Each filter contains three parts:

  1. Field: a field of the data model. For example: App Version, Device Name, OS, Language.
    • Each field has a data type of: string, number, boolean, JSON or BigQuery Struct.
    • JSON or BigQuery Struct field can expose their internal data for filter or breakdown through Nested Property.
  2. Operator:
    • Exist operators: exists TRUE or FALSE
    • String operators: =, !=, starts with, ends with, contains etc. Note: = and != can have multiple values.
    • Math operators: =, !=, >, >=, <, <=, between. Applicable to numeric and date data type
  3. Value(s): depends on the Field data type and selected Operator, there can be multiple values to be selected from a list of lookup values, or manually entered.

Filter Groups

Both Event Filter and Global Filter support up to three Filter Groups which are connected with a logic operator AND/OR. You can think of each Filter Group as a parenthesis.

Within the Filter Group you can specify an unlimited amount of filters and connect them with AND/OR operators. Note: the evaluation order of filters within a certain Filter Group is decided by the natural order of logical operators, i.e. A or B and C = A or ( B and C ).

Named Filters

Sometimes Filters can get really specific and non-obvious, so we developed this feature primarily to allow users who are more expert in the data to prepare filters and share them with others. It is also handy when you have plenty of Filter conditions you want to share between different types of analysis, e.g. Query , Funnel and Retention .

Save a Named Filter

Now you can save a Named Filter from any analysis, here's an example in Query:

Re-use a Named Filter

Named Filters appear above Fields in the dropdown, autocomplete matches both Named Filters and Fields:

Named Filters are displayed like this and there's an i icon which you can click to see the Filter definition and the associated description:

Delete a Named Filter

📘

Note

To delete a Named Filter you must go to the Dictionary page and then to Filter as shown below.

Group results with Breakdown

"Group by" is a technical term for slice-and-dice, which means split the data into groups. In Kubit, the Breakdown` input allows you to do just that. You can slice-and-dice by 1 or 2 Fields and by up to 5 Cohorts.

When using Breakdown you tell Kubit to split the events into groups based on a certain field's values. Any event with the same field value are grouped into the same slice/group and measured.

Kubit will then display the Top 8 groups in the UI and the top 100 groups will be available through the Breakdown group drop-downs.

📘

Note

When there are more than 100 Breakdown groups that matter to you, you can use Export to CSV. The CSV contains results for the top 500 groups.

Overall in Query

Whenever a Breakdown is specified in Query you can also use to Overall toggle to display the cumulative count for all breakdown groups as a separate group.