Skip to main content

Insights Basics

Now, let's dive into the basics of insight creation with Mitzu. We recommend reading this section before creating segmentation, funnel, retention, or journey insights.

Mitzu insights​

Insights are the main building blocks of Mitzu. Currently, we support four categories of insights:

  • Segmentation
  • Funnel
  • Retention
  • Journey

You may be familiar with these from other marketing, sales, or product analytics tools. These insight categories let you create a wide range of metrics and KPIs for your business. This is also where you can dive into the behavior of individual users, groups, or cohorts.

A saved insight can also be reused inside another one: a segment of a segmentation can be a saved funnel instead of a single event. See Saved insights as series.

image

Adjusting the insight page layout​

Two controls change how much room the result gets. Both are saved with the insight and carried in its share link, so the insight opens the same way for everyone.

  • Minimize setup: the icon in the top-right corner of the setup panel collapses the panel into a narrow rail and gives its width to the result. The rail shows the insight type and the number of segments or steps. Click the icon or the rail to bring the panel back.
  • Chart and table: the switch at the left end of the divider between the chart and the table shows both, the chart only, or the table only. The toolbar stays available in every layout. Pivot tables have no switch, because the table is the chart.

Insights shown on a dashboard are not affected by either control.

Mitzu segment​

In this section, we will cover the most important concepts of the segments panel on the insights page.

A segment in Mitzu is a set of events performed by users or groups. A segment is the main building block of every insight in Mitzu. You construct insights by defining segments in the UI. A segment can be a single event you want to measure. For example: how many users visited your landing page?

image

However, filters are most often applied to segments. For example: how many users visited your landing page from a specific country?

image

You can combine multiple events into the same segment, e.g., page visits or sign-ups.

image

More about this later.

info

It is essential to understand segments to make the best use of Mitzu. You can interpret a segment as: "Find the users who performed X and Y actions matching these filter criteria."

note

You will often see different decorators on the segment panels, such as breakdown or count uniques. These are not actually part of the segment definition; they are applied to the segments during analysis.

Subsegments​

When we refer to a subsegment, we mean one of the sub-definitions of users that make up the segment. The best way to explain it is with an example. The following segment has two subsegments:

  • Users who performed a Page Visit event (visited the landing page).
  • Users who performed a User Signed Up event and are currently paying.
image

Using the same event twice to build two subsegments is very common, for example, during experimentation (A/B test) analytics.

image

As you will see later, funnels and retention insights benefit greatly from subsegments.

info

You can add subsegments with the + button at the top of the segment panel. You can add as many subsegments as you want.

Combining events into a single subsegment​

Within a single subsegment, you can combine multiple events with an OR operator using the Combine events button on the subsegment header. This is useful when you want to treat several different events as the same step — for example, "Page Visit OR Email Click" — without splitting them into separate subsegments.

image
info

Combined events inside a subsegment are joined with OR. Filters set on each combined event still apply with AND to that event's own conditions.

Hiding segments​

In segmentation insights, each segment has a hide/show toggle in its menu. Hidden subsegments are kept in the configuration but excluded from the chart and table — useful for temporarily comparing variants without losing the segment definition. Adding a calculation to a segmentation hides every segment for you, leaving only the calculation results; the same toggle shows a segment again.

image

Saving a segment as a custom event​

If your workspace has custom events enabled, the segment menu offers a Save as custom event action. The saved event becomes reusable across insights as if it were a regular event.

Event filters​

Event filters are also among Mitzu's most important concepts. They are used to narrow down segment definitions.

image

As you can see above, there are multiple types of filters. We will explore each of them in the following sections.

caution

When event filters are stacked in a subsegment, they are combined with an AND operator. Between two subsegments, they are combined with an OR operator.

image

In the example above, this is how you can interpret the filters:

Select all users who viewed our sites coming from one of the two Campaigns and where the site hostname is acme.com, or performed an Invitation Sent operation with an Email address containing @gmail.com and whose User Country Code is us.

Event property filters​

The most common property filters are the event property filters. These are marked with a . in the filter dropdown.

image

Event property filters exclude users who didn't perform the events matching the given filter condition.

To reuse a list of values across filters, such as all the countries of a sales region, save it as a filter group.

info

Mitzu collects event properties for each event during the table indexing process. If tables in your data warehouse change, you must re-index the event tables to reflect the changes.

Recent Event Usage Indicator​

The blue circles in the event selection dropdown indicate recent usage frequency for that specific event. The number of times an event has been used recently is also shown when you hover over the event.

image

Complex event properties​

Mitzu supports complex event properties. Complex event properties are event properties nested inside other event properties. For example, you can have a user_properties event property containing nested country_code and language event properties.

Mitzu shows these properties in the following format in the property filter dropdown:

image

In the example above, we have an Event props event property containing nested Cost Usd and Number of items properties.

note

Properties can be renamed on the catalog page.

User and group property filters​

User and group properties are not bound to specific events. The user and group profile tables are the source of these properties. In the property filter dropdown, you will see the User Property and Group Property options with the following icons:

image

If you filter on these properties, you directly narrow down the users based on their properties. Groups are associated with a set of users, so filtering on a group property filters on the corresponding set of users.

Cohort filters​

A cohort is a "cherry-picked" set of users. You can create cohorts in Mitzu in multiple ways:

  • Import from a CSV file
  • Create a cohort on the chart on the insights page
  • Create a cohort on the lookup page
info

Cohort filters scope an insight to the "cherry-picked" set of users, or filter your insights for users that are not in the "cherry-picked" set.

image
info

What is the difference between a cohort and a segment of users?

Both refer to a set of users. However, a segment is a set of users who share a common property, such as:

  • Country
  • Language
  • Gender
  • Age
  • etc.

A cohort is a set of users that doesn't necessarily share a common property. For example, two users who don't share a single property can still be in the same cohort.

You can stack cohort filters in the same subsegment. This is useful when you want to filter for users who belong to two cohorts.

image

Selecting users in one of two cohorts is equivalent to selecting users in two segments.

image

Distinct values per user filters​

In a segmentation insight, the property filter dropdown of an event has a Distinct values entry next to Cohort and Performed. This filter keeps only the users who had a certain number of different values of a property, such as the visitors who used at least 2 device classes.

  • Click Distinct values, then pick the property in the same dropdown. The filter reads like Distinct Device class · at least · 2. Click the property again to switch to another one, or use the back arrow to pick a regular property instead.

  • Pick is, is not, more than, at least, fewer than, at most or between, then type a whole number, or two for between (both included). A new filter starts as at least 2.

  • The values are counted over the event's occurrences that match its other filters. With country = DE on the same event, at least 2 keeps the users who had at least 2 device classes in Germany.

  • Users who had the event but never a value for the property count as 0 values, so is 0 lists them.

  • The filter keeps every event of the matching users, so event counts and property sums measure what those users did.

  • On a chart over time, the values are counted in each day, week or month, the same way as the distinct values per user breakdown. A daily point shows the users who had that many values on that day, and clicking it lists exactly those users. In an Overall insight, the values are counted over the whole date range.

  • On a chart over time, or with a comparison to a previous period, the filter can't sit in a segment that uses or and can't be combined with a first or last event ever filter. Use Overall without a comparison for those. With a comparison, the current and the previous period are counted separately.

  • Remove it like any other filter: hover the property and click the × next to it.

The same filter is added when you click a group of a distinct values per user breakdown and choose Filter on, Create cohort or List users.

Picking filter values​

Click the value area of a filter to open the value browser. It lists the values Mitzu knows for the property, with a search box on top:

  • Categories on the left narrow the list: Indexed values are the values found in your data warehouse during indexing, and Custom values are values somebody typed in by hand. The values the filter currently holds are always listed first.
  • Details on the right shows the hovered value in full, up to 1,000 characters. Long values such as URLs are shortened in the list, with their start and end kept visible. A value that is a web address is shown as a link that opens in a new tab.
  • To use a value that is not listed, type it and press Enter, or pick Use "<your text>". You can also paste a list with one value per line to add them all at once.
  • A filter holds up to 100 values. Operators that compare against a single value, such as >, take one value and apply it as soon as you pick it.

Ticking values does not refresh the insight. The filter is applied once, when you click Apply at the bottom right of the browser or close it by clicking outside of it, pressing Esc, or pressing Ctrl + Enter (Cmd + Enter on a Mac). Clear values, next to Apply, removes every value of the filter in one click and closes the browser. Both buttons are shown on filters that hold more than one value. The x at the top right of the browser closes it without applying the values you ticked. The filter row shows the first three values as pills and a +N pill for the rest. Hover over the row to see the values in a tooltip. Removing a pill with its x applies right away.

The bottom left of the browser shows when the values were last indexed. Workspace members and admins have two more actions:

  • Re-index, at the bottom left of the browser, reads the values of this property from the data warehouse again.
  • Search the data warehouse for "<your text>", shown under the search box while you type, looks for values containing that text. This helps with properties that have more values than Mitzu stores. It is available for text and array properties.

On the insights page both actions look at the date range of the insight. Everywhere else they use the workspace's default indexing window. Viewers and people opening a shared link see the stored values without these actions.

The same browser is used for filter values on dashboards and on the user and group lookup page, and for picking cohorts and events in the In cohort and Performed filters. For cohorts and events the Details panel also shows the description of the hovered item, and the search box matches descriptions as well as names.

Filter operators​

The available operators depend on the property filter type and the type of property data. Every operator is shown with an icon and a text label. Hover an operator, in the list or on a filter row, to read what it matches for that property's data type.

Event, user, and group property filters have the following operators available:

  1. Scalar data types (integers, float):
  • Is - Property is equal to any of the values listed for the filter
  • Is not - Property is not equal to any of the values listed for the filter
  • Greater than (>) - Property is strictly greater than the single value selected for the filter
  • At least (≥) - Property is greater than or equal to the single value selected for the filter
  • Less than (<) - Property is strictly less than the single value selected for the filter
  • At most (≤) - Property is less than or equal to the single value selected for the filter
  • Present - Property has some value in the event
  • Missing - Property has no value in the event
image
note

The example above selects users who performed a Page Visit event and whose country codes are any of the following: gb, br, de, in.

  1. Date and time data type:

Date properties have their own operators. The value is picked from a calendar:

  • Last - Property falls inside the last N days, weeks, months or years
  • Before the last - Property is earlier than the start of that window
  • Between - Property falls inside the selected date range, both ends included
  • Not between - Property falls outside the selected date range
  • On - Property falls on the selected day
  • Not on - Property falls on any other day
  • Before - Property is earlier than the selected date
  • Since - Property is on or later than the selected date
  • Present - Property has some value in the event
  • Missing - Property has no value in the event

Last and Before the last take a number and a period instead of a date. The window is counted back from the workspace's end date (the same end date insights use), so Last 30 days moves with it and never needs updating. It starts N periods before the end date and stops at the end date, so a property dated after the end date does not match Last.

For the other operators, tick Include time under the calendar to narrow a date down to the minute. Without a time, a date stands for the whole day: On Sep 26 matches everything that happened on September 26, and Between Sep 26 and Oct 3 includes all of October 3. With a time, On Sep 26 14:30 matches only that minute, and Between runs through the end of the last minute. Dates and times are read in the workspace's timezone.

info

Not between and Not on also match events where the property has no value. Filters saved with the earlier Is, Is not, > and <= date operators keep working and stay editable as they were. On a date property the last two are shown as After and At or before.

  1. String data type:

In addition to the operators above, the following operators are available:

  • Contains - The value of the event property contains any of the values listed for the filter
  • Not contains - The value of the event property does not contain any of the values listed for the filter
info

The Greater than, At least, Less than and At most operators are also available for string data types. They compare string values based on the ASCII codes of the characters.

image
note

The example above selects users who performed a Page Visit event and whose country codes contain either of the following letters: a or b.

  1. Boolean data type:

The following operators are available for boolean data types:

  • Is - Property is equal to any of the values listed for the filter
  • Is not - Property is not equal to any of the values listed for the filter
  • Present - Property has some value in the event
  • Missing - Property has no value in the event
image
  1. Array data type:

Array data types in Mitzu are special. Mitzu currently supports arrays only with scalar and string element types. Complex types are not supported inside arrays. The following operators are available for array data types:

image
  • Has - The array value of the event property contains any of the values listed for the filter
  • Doesn't have - The array value of the event property does not contain any of the values listed for the filter
  • Value like - At least one element of the array matches one of the SQL LIKE patterns listed for the filter (use % as a wildcard)
  • Value not like - No element of the array matches the SQL LIKE patterns listed for the filter
  • Present - Property has some value in the event
  • Missing - Property has no value in the event

Segment filters​

Segment filters are applied to the entire segment. They are most often used to select specific events in the sequence of events triggered by users.

Currently, we support the Nth event filter.

image
info

This helps you:

  • Pinpoint the Nth instance of a user action
  • Identify customers based on the number of times they've performed a critical action

To enable this segment filter, click the Nth event filter button in the segment menu.

image

With the Nth event filter, you can easily capture each Nth instance of any user action (up to the 99th). This helps you quickly pinpoint and resolve areas of friction for first-time users so you can boost your overall North Star metric.

You can also use it to identify your best customers based on the number of times they've taken a critical action in your product, like completing a purchase on an e-commerce platform or playing a song in a music streaming app.

Clicking the filter badge opens its settings:

  • Nth event — which occurrence to select (1–99).
  • Type — the scope the occurrences are counted in: In window (the analyzed time window), Per period (each period of the trend granularity separately), or Ever (the user's whole history).
  • Order — Chronological order counts from the user's first event, Reverse order from their most recent one.
  • Exactly N times — instead of selecting the Nth occurrence, keep only the users whose event count equals N within the chosen scope — for example, users who purchased exactly twice. Those users are represented by their last matching event. This option always counts in chronological order, so the Order setting is disabled while it is checked.
image
info

Segment filters don't only work with user as the subject. You can use them with any entity present in your data. Groups are typical candidates for segment filters, and so are sessions, etc.

We will cover this topic in more detail in the Analyze uniques by? section.

Understanding Segment Filters​

The following image highlights which user event is selected for each segment filter. Consider this situation for our actor:

  • Their activity occurs during the first four months of 2024.
  • The time window we are looking at starts on January 15, 2024, and ends on March 15, 2024.
  • We are looking at Segmentation with Monthly Trends.
image
  • No segment filter: all 6 events inside the selected time window are considered.
  • First event: none of the events are considered, because the actor's first event happened before the start of the time window.
  • First event in window: only 1 event is considered, which is the last event of the user in January.
  • First event per period: only 3 events are considered: the last event of the user in January, the first event in February, and the first event in March. These are the first events in each period, which corresponds to our months.

Segment breakdowns​

Breakdowns are powerful tools for understanding how your users behave across the different subsegments that make up the segment.

image

You can add as many breakdowns as you want. If you combine two or more events on the segment panel, you will see the combined properties of all of those events.

image
caution

You can use any event, user, or group property as a breakdown except properties with an array type.

Breakdown with subsegment index​

In segments that contain multiple subsegments, the breakdown dropdown shows subsegment as an option.

image

This option breaks down your segment analysis by the index of the subsegment. This is very useful when you want to compare the behavior of users who performed the same event with different property filters.

A great example of this is funnel analysis for A/B test variants.

image

Breakdown by frequency​

The breakdown dropdown also offers a Frequency option under Other breakdowns. It breaks down your analysis by how many times each user performed the event within the analyzed date range: users who did it once, twice, three times, and so on.

Each user is counted exactly once, in the bucket that equals their total number of occurrences in the range. The buckets are labelled with plain numbers (1, 2, 3, …), and each user is represented by their last matching event in the range.

image

This is useful for questions such as "how many of our users purchased only once, and how many came back for more?" — a segmentation broken down by frequency shows one series per occurrence count.

You can combine Frequency with other breakdown properties; the frequency bucket is always applied last. Frequency works with segmentation, funnel (conversion), retention, and journey insights.

info

Clicking a frequency bucket in a chart (for example to filter, zoom in, or create a cohort) narrows the analysis to the users with exactly that many occurrences — equivalent to the Exactly N times option of the Nth event filter.

Bucketing the frequency​

An event that users repeat often produces a long tail of counts (37, 38, 41, …). To group them, click the Frequency · Not bucketed row under the segment's breakdowns and turn on Bucket values. The settings are the same as for numeric breakdowns, with these differences:

  • Frequency is never bucketed until you turn it on.
  • The range and the interval size take whole numbers of at least 1.
  • An empty minimum starts at 1. An empty maximum is the highest count in the data.
  • Ranges include both ends: 1 – 5, 6 – 10. A bucket that holds a single count is labelled with that number.
  • Left on automatic, the interval is a round whole number that gives at most 10 buckets.

For example, a range of 1 to 10 with an interval size of 1 shows 1, 2, … 9 and a ≥ 10 bucket. An interval size of 5 with no maximum shows 1 – 5, 6 – 10, 11 – 15, and so on. Every user is still counted exactly once.

info

Clicking a bucket that holds a single count works as before. Clicking a range or a ≥ / < bucket shows the bucket and its value as usual, with a note that it cannot be filtered on, listed or turned into a cohort yet. In a journey, the note names the range it covers (for example Performed 6 to 10 times).

Breakdown by distinct values per user​

In a segmentation insight, the breakdown dropdown lists Distinct values under Other breakdowns, next to Frequency. Click it, then pick an event property in the same dropdown, for example Device class; the breakdown shows as Distinct Device class. Each user then lands in one group according to how many different values of that property they had: users who had one device class, two, three, and so on. On a chart over time, the values are counted separately in each day, week or month, so a daily point shows the users who had that many values on that day. With an Overall insight, they are counted over the whole date range.

This answers questions such as "how many visitors used more than one device?" or "how many customers bought from several countries?". Adding up the users per value and subtracting the total does not answer them: it counts extra appearances, not people.

  • Each user is counted once per day, week or month, or once in an Overall insight. The groups are labelled with plain numbers (1, 2, 3, …).
  • Users who had no value for the property in that period are in the <n/a> group, so the groups always add up to the total user count.
  • If the segment has several events, the values are counted across all of them.
  • To read "more than one" directly, turn on Bucket values in the row under the segment's breakdowns. The settings are the same as for bucketing the frequency. For example, a maximum of 2 with an interval size of 1 shows 1 and ≥ 2.
  • You can combine it with other breakdown properties. It is always applied last, and a segment has either a frequency or a distinct values breakdown, not both.

Clicking one of its groups in a chart offers the usual actions: Show trends, Filter on, Create cohort, List users and Show events. They turn the group into a distinct values per user filter on the segment, so the cohort, the user list or the filtered chart holds exactly the users of that group:

  • 2 becomes is 2, and <n/a> becomes is 0.
  • ≥ 2 becomes at least 2, and < 3 becomes between 1 and 2, so users without a value stay in their own <n/a> group.
  • A range such as 2 – 4 becomes between 2 and 4.

Create cohort, List users and Show events on a point of a chart over time use that point's day, week or month, so they return the same users as the point. Filter on turns the group into a filter that is also counted per day, week or month, so the filtered chart shows the same numbers as the group's bars.

info

Distinct values per user is available in segmentation insights. The chart actions need a segment with a single named event whose filters are joined by and, and no other breakdown next to the distinct values one. When the segment has several events, uses or, or uses Any event or a custom event, its groups count values across more than one filter branch, so the chart actions are not available there and the group shows a note instead.

Bucketing numeric breakdowns​

When you break down by a numeric property such as amount, price or duration, Mitzu groups the values into ranges (0 – 100, 100 – 200, …) instead of drawing one group per distinct value. You see the distribution rather than a wall of single-value bars.

image

Every numeric breakdown property gets a summary row under the segment's breakdowns, for example amount · From 0 to 1,000, with automatic buckets. Click it to open the bucket settings:

  • Bucket values turns bucketing on or off for that property. Turned off, every distinct value is its own group again. Your pinned values are kept, so turning it back on restores them.
  • Bucket range pins the minimum and the maximum. Leave either empty to take it from the data inside the insight's date range and segment.
  • Interval size or Bucket count sets how wide the ranges are. A pinned size is used exactly, unless the range comes from the data and that size would make more than 100 buckets: then the smallest round size that stays within 100 is used, and after the run the summary row names it, for example From 1 to 2,425, in steps of 25 instead of 5. A bucket count (at least 2) is a maximum: the size is rounded up to a round number (1, 2, 2.5 or 5 times a power of ten), so you may get fewer buckets. Leave it empty for at most 10 round-sized buckets.

Values below a pinned minimum go to a < min bucket and values at or above a pinned maximum go to a ≥ max bucket, so no event is dropped. These open-ended buckets are drawn with a hatched fill. Ranges include their lower bound and exclude their upper bound, except the last range when the maximum comes from the data: it also includes that maximum. Events with no value stay in the <n/a> group.

When you add a numeric property with more than 20 distinct values as a segment breakdown, bucketing is switched on for it. The same happens for numeric properties whose values could not be listed during indexing. Properties with only a few values, such as ratings or 0/1 flags, keep one group per value unless you turn bucketing on. Insights saved before bucketing existed keep their breakdowns as they were, and breakdowns added under Global filters & breakdown are never bucketed. Changes to the settings take effect the next time you run the insight.

In an insight with calculations, a bucketed breakdown needs both ends of the range pinned and the same settings in every segment, because the calculation matches the series by their groups. A saved insight used as a series takes the settings of the insight it is used in.

info

Clicking a bucket in a chart shows its exact condition, for example amount >= 100 and amount < 200. Filter on, Show trends, List users, Show events and Create cohort all use that range condition, not the label.

With Order by breakdown labels turned on (in the chart’s More menu), buckets are sorted by the start of their range, with the < min bucket first and the ≥ max bucket last.

Analyze uniques by?​

"Analyze uniques by" is an essential concept in insight creation. You can set the entity that Mitzu performs the analysis on. The two most common entities are users and groups, but you can select any entity in your data as the core entity.

By default, Mitzu selects the users entity for any analysis. This means each insight is built around users. In other words, you will analyze the behavior of user segments.

If you select groups as the core entity, you will analyze the behavior of group segments.

info

Mitzu performs segment filters and measurements on the entity selected in the Analyze uniques by dropdown.

image

Mitzu also performs chart interactions on the selected entity.

image

Counting by another entity or by a property​

Analyze uniques by is the counting unit of an insight, also called its analysis entity. Every step of a funnel, every segment of a segmentation and every period of a retention counts unique values of whatever is selected here. The dropdown lists the entities of your workspace first, then the properties that every event in the insight shares.

  • Pick an entity such as session to count by session instead of by user. The entity has to be linked to an id column on every event table the insight uses; see Entities for how to link one.
  • Pick a shared property such as order_id to count distinct values of that property.

Counting by session is not the same as holding a session constant. Analyze uniques by changes what is counted. A custom holding constant keeps counting the selected entity and only requires the steps to share the same session.

Setting it from the analytics agent​

Name the unit in the question and the agent sets Analyze uniques by on the chart it builds: "count sessions, not users", "per team", "distinct order ids at each step". The agent can only count by an entity that is linked on every event table the chart uses. When one is not, the agent names that table and offers to link it through the configuration agent.

Insight configuration

This section will cover the most important configuration options on the insights level.

Choosing the time window​

You will see the time window configuration component in the top center section of the insights page.

image

With this component, you can choose the time horizon for your analysis. You can choose between:

  • a relative time window:
    • relative date range (e.g., 1 month, 1 week, 1 day, etc.)
    • since date (e.g., since 1st of January 2024 to now)
  • an absolute time window:
    • calendar date range (e.g., This week, This month, This year, etc.)
    • custom date range (e.g., 1st of December 2023 to 1st of January 2024)

Relative time window​

The relative time window measures the time horizon from the default end date config, which you can find under Settings → Workspace → Insights.

image

Suppose you've set your default end date configuration to Now. Mitzu measures the time horizon for the analysis up to the current second. Similarly, if you set the default end date config to Start of the current day, the time horizon is measured up to the start of the current day, and so on.

If you choose to analyze your insights as "trends", the granularity of the trend also affects the time horizon. For example, if you choose to analyze your insights as "weekly trends", the start date for the analysis will be the first day of the week (Monday), which is treated as the beginning of the time horizon based on the relative time window. Similarly, Mitzu truncates the start date of the time horizon for the Month and Year time window options.

info

Consider the following example:

  • The time horizon is set to 1M - 1 month.
  • The default end date config is set to Start of the current day.
  • The insight type is set to Weekly trend.
  • The current date is 1st of September 2024.

Normally, the time horizon would start on Thursday, the 1st of August 2024. However, since we are looking at the weekly trend, the start date is adjusted to the Monday of the week containing the 1st of August 2024. So the final start date for the analysis will be 29th of July 2024.

Adjusting the time horizon for trends is important; without it, you would see misleading results at the start of your analysis.

Excluding recent periods and offsetting the window​

Sometimes the current period is incomplete — today's data is still partial, or the running week hasn't ended yet. Other times you want the same window a year earlier. The badge at the top right of the date selector covers both, on every window type (relative, calendar, custom range, since date and annotations) and every chart:

  • Exclude last trims the most recent N units off the end of the window, so the window gets shorter.
  • Offset moves the whole window back by N units, start and end alike.

N is a whole number from 0 to 100, where 0 means none, and the unit (hour, day, week, month, quarter or year) is chosen independently of the chart's time grouping. Both rows start in the chart's own grouping, for example days on a daily chart.

image

Click + Exclusion to open the popover, set the numbers and units, and click Apply. The popover previews the dates the chart will show, ending on the last day kept. Setting a number back to 0 removes that setting, and Clear removes both. Once something is set the badge names it, for example Excl. last 1 week · offset 1 year, and the date button shows it after the window, such as 3 months · excl. 1 week · −1 year.

The exclusion counts back from the end of the window, or from now when the window runs past now. The unit the window ends in is dropped whole, even when it has only just started, so the window always ends where that unit starts. The start does not move. For example:

  • Last 30 days, exclude 7 days: from 30 days ago to 7 days ago (23 days).
  • Last 30 days, offset 7 days: from 37 days ago to 7 days ago (30 days).
  • On Wednesday 15 October, excluding 1 week keeps everything up to Sunday 12 October; 2 weeks keeps up to Sunday 5 October.
  • At 14:30, excluding 1 hour keeps everything up to 14:00.

Exclusion is applied first, then the offset, which moves both ends back by the same calendar amount without lining them up again. So a 1 year offset can end a weekly chart mid-week, and a month offset that lands on a shorter month can be a day shorter (31 January moves to 31 December, 31 March to 28 February). A comparison is measured from the final window.

info

On a monthly trend, a 3M lookback with 1 month excluded covers the last three complete months, because trends start on the first day of their period (see above). On a Total chart the window starts three months before today and ends where the current month starts.

caution

If the exclusion is longer than the whole window, for example 4 months on a 3M lookback, the setting is still saved but the badge turns orange and the chart is empty.

On dashboards, the date filter replaces each chart's window together with its exclusion and offset; a filter without them clears the chart's own. A dashboard snapshot freezes the dates the chart showed, to the hour for an hour exclusion; editing that snapshot in Explore rounds its window to whole days, like any custom date range.

Insights saved before this badge existed with an "Exclude N periods" setting keep exactly the dates they had: those periods still follow the chart's time grouping, and the window keeps its full length before them. The badge shows them as an exclusion. They switch to the behaviour above, so the window gets shorter instead of moving back, when you change the exclusion in the popover, when you pick a different kind of window (a calendar range, a custom range or a since date), or when you pick another relative range whose unit would count the old periods differently (on Total charts and on dashboard filters without a time grouping the periods follow the range's own unit). An old setting counted in minutes becomes hours.

Custom date range​

Clicking the Choose date range button opens a modal window where you can set the start and end dates of the custom time window for your analysis.

image
info

Custom time window dates are inclusive, meaning the entire day is included in the analysis.

You can also select a single day in the custom time window calendar.

caution

Adjusting the time horizon for trends is also supported for custom time windows. For example, if you have chosen a start date other than Monday and choose to analyze your insights as "weekly trends", the start date for the analysis is adjusted to the Monday of the week containing the start date.

Since date​

Clicking the Choose date button in the bottom right corner opens a modal window where you can set the start date of the since-date window for your analysis.

image

Trend vs. overall measurement configuration​

You can select the trend vs. overall measurement configuration in the top center dropdown of the insights page.

image

Trend measurement types visualize the analysis as a change in measurement over the time horizon. In contrast, Overall insight types visualize the analysis as a single value (in most cases) for the entire time horizon.

Currently, we support the following trend measurement types:

  • hourly
  • daily
  • weekly
  • monthly
  • quarterly
  • yearly

The default trend type is daily.

info

Not every insight type supports every granularity. For example, retention is limited to daily, weekly, monthly, and yearly trends, and quarterly is unavailable for funnels and journeys.

Selecting the chart type​

Mitzu supports multiple chart types for each insight type (segmentation, funnel, retention, journey) and trend vs. overall measurement type.

Trend measurement types support the following chart types:

  • Bar
  • Line
  • Stacked bar
  • Stacked area
  • Percentage stacked bar
  • Percentage stacked area
  • Heatmap (only in retention insights)
  • Sankey (only in journey insights)

Overall measurement types support the following chart types:

  • Bar
  • Stacked bar
  • Percentage stacked bar
  • Horizontal bar
  • Number
  • Pivot table (only in segmentation insights)
  • Pie (only in segmentation insights)
  • GEO charts (only for breakdowns with ISO2 or ISO3 country codes)
  • Sankey (only in journey insights)

Percentage stacked charts​

Percentage stacked charts normalize the values in your analysis to 100%.

image

The same insight with regular stacked charts looks like this:

image

GEO Charts​

Mitzu supports GEO charts in segmentation and funnel insights with a single breakdown by ISO2 or ISO3 country codes.

image

Pie chart​

For overall segmentation insights, you can render the result as a pie chart. Each slice represents one segment (or one breakdown value if a breakdown is set). Use this when you want to communicate the composition of a single point in time at a glance.

image

Pivot table​

For segmentation insights, the Pivot table chart type renders the result as a pivot table: you choose which breakdown becomes the columns, and the remaining breakdowns stay as rows. On trends the time periods become one more axis, running down the rows by default. Every event in the segment must have the same breakdowns for the pivot view to be available.

image

Pivot tables also support totals and average columns, per-column sorting and filtering, and their own export behavior. See the Pivot tables page for the full picture.

Sankey chart​

Sankey is the only chart type for journey insights. Each node represents an event step, and the link width represents the share of users moving from one step to the next. See the Journeys page for details.

Chart interactions​

You can see the chart tooltip by hovering the mouse cursor over a data point on the chart.

image

Depending on the insight and chart type, you can perform different operations on some data points on the chart. To open the menu, click a data point on the chart.

image

If your chart shows a data trend, you can zoom in on a single data point by clicking on it and then clicking the Zoom in button.

If your chart shows the overall result for a time window, you can click the See trends button to see the trends within a nearby time window.

Filtering on a group​

If your insight contains a breakdown field, or multiple segments in the case of a segmentation insight, you can filter on one of the resulting groups by clicking a data point and selecting Filter on. This will open a new insight containing the necessary filters to show only the selected group.

List users, groups​

If you have selected either Users or Groups for Analyze uniques by, you can fetch the list of users or groups for the data point you've selected. Click the List users or List groups button to easily focus on a selected entity from the modal that opens.

The user (or group) profile modal lets you search and filter the entity's properties and recent events. If your workspace has an external profile URL configured, the modal also exposes a link that opens the corresponding profile in your CRM, support tool, or any other system you've connected.

Show events​

Show events opens a List of events modal showing the recent events behind the data point you clicked. You can pick any event property and the modal lists matching events in chronological order, so you can confirm exactly which events were counted into the chart value.

image

List of uniques (dimension table)​

The List users / List teams button (the entity name comes from your Analyze uniques by selection) opens a List of uniques modal. When the insight has a breakdown, the modal lets you pick any property and lists every value that contributed to the data point along with the count of unique users (or groups) behind it.

image

Legend interactions​

Each entry in the chart legend is an interactive chip. Click a chip to open its editor, where you can rename, recolor and hide that series:

  • Rename the series. Type a new label (up to 100 characters) and click Apply (or press Enter). The rename is saved with the insight and is also applied to the table view and CSV export.
  • Recolor the series. Pick any swatch from the palette to override the color Mitzu assigned automatically, then click Apply. This is useful when two series would otherwise be drawn in near-identical colors. Every color also comes in a faded version, the style a previous period is drawn in when the insight compares against one.
  • Show on chart. Toggle the eye button off and click Apply to take the series off the chart. Its chip stays in the legend, dimmed and struck through, so you can open it again and toggle the series back on. At least one series always stays on the chart, so the toggle is disabled on the last visible one.
image

Hiding a series is a presentation change only: the value axis stays where it was, so the remaining series keep the scale they had, and the chart redraws from the cached result without re-querying your warehouse. Hidden series still appear in the table view and the CSV export.

To reset a single series, open its chip, click Reset (bottom left) to return its label, color and visibility to their defaults, then click Apply. A previous-period series goes back to following its current-period counterpart's color, faded. To clear every rename and color override in one step, use Reset labels & colors in the More menu.

The + N chip at the end of the legend has a checkbox that toggles whether long-tail groups (everything beyond the top N) are bucketed into a single Other groups series.

Create a new cohort​

You can create a new cohort from a given data point.

Create a new global annotation​

If your chart type is not a GEO chart or heatmap, you can mark any date from the tooltip menu with a global annotation.

Data sampling and resolution​

You can trade some calculation accuracy for faster query execution. The sampling controls live in the segment panel, behind a button that summarises the insight's current setting — it reads No data sampling when both levers are off, and something like One User Event Per Hour, 10% of users when they are on. The button only appears once the insight has at least one segment.

image

The menu holds two independent levers. They reduce different things and can be combined freely.

LeverWhat it dropsWhat happens to your numbers
Event resolutionEvents — at most one event per entity per time bucketEvery entity is still counted; no scaling needed
Uniques samplingEntities — a fixed share of users, accounts, sessions…Counts are scaled back up to full-population estimates

Event resolution​

Event resolution downsamples the events Mitzu reads for the analysis. The available options are:

  • No sampling - every event is considered.
  • One user event per minute - at most one event per user per minute is kept.
  • One user event per hour - at most one event per user per hour is kept.
  • One user event per day - at most one event per user per day is kept.

Coarser resolutions translate to dramatically faster queries on long time horizons but also reduce the precision of time-based measurements (for example "average time to convert").

Event resolution is available on funnel, retention and journey insights. Segmentation insights do not offer it: a segmentation counts every event of the entities it reads, so dropping events would change the counts themselves. The control stays visible on a segmentation that already carries a resolution — a saved insight or a shared link, for instance — so you can turn it back off.

Uniques sampling​

Uniques sampling reduces the number of analyzed entities (typically users) instead of events. The supported levels are:

  • No sampling
  • 90% volume reduction - keep approximately 10% of entities.
  • 75% volume reduction - keep approximately 25% of entities.
  • 50% volume reduction - keep approximately 50% of entities.

Uniques sampling is available on every insight type, segmentation included.

Mitzu scales the resulting counts back up, so the numbers you read are estimates of the full population rather than the smaller counts of the entities actually scanned. Unique entity counts, event counts and sums over an event property are scaled.

Two kinds of measurement are deliberately left alone:

  • Rates and averages — a funnel's conversion rate, or Average. Both sides of the division come from the same sampled entities, so the ratio already holds.
  • Count distinct of an event property — the number of distinct values a property takes does not shrink in proportion to the entities you drop, so there is no factor to scale it by. Read it as "at least this many", not as an estimate.

Uniques sampling is most useful for very large data warehouses where exploratory iteration would otherwise be slow.

A Sampled results badge above the chart tells you the numbers you are looking at are estimates. It appears whenever either lever is on.

info

Listing users never samples. Return unique users, Return drop-off users, the List users action on a chart point and cohorts built from one all read every entity, whatever the insight's sampling is set to — a membership list has to hold the actual members, and there is no way to scale a list back up. Those queries are correspondingly slower.

note

Uniques sampling keeps a fixed share of entities rather than a random one: Mitzu hashes each entity's id and keeps the same slice every time. The same insight therefore returns the same numbers on every run, and two insights sampled at the same rate look at the same entities.

Where the starting values come from​

Neither dropdown starts empty. Both are seeded from your workspace's Performance settings, and Mitzu keeps adjusting one of them as you work — but the two behave differently, which is worth knowing before you wonder why a setting changed on its own.

Uniques sampling fills a gap. A brand-new insight is created with the workspace's Automatic entity sampling level already applied — unless it is a segmentation in a workspace whose Apply entity sampling to is Funnels, retention and journeys only, which starts at No sampling. After that, Mitzu only rewrites the value when it is No sampling:

  • Switch the metric type → if the dropdown reads No sampling, the workspace default is written back in. If you picked 50%, 75%, or 90% yourself, your choice stands.
  • The exception: when Apply entity sampling to is Funnels, retention and journeys only and Automatic entity sampling is not None, switching the metric type clears even a rate you picked and applies the new type's default — No sampling for a segmentation, the workspace level for the rest.
  • Change anything else — the date range, the conversion / retention window, segments, filters, breakdowns, chart type, aggregation — and nothing is touched.

The practical consequence: when the workspace default is not None, setting an insight back to No sampling does not survive your next metric-type switch — Mitzu cannot tell it apart from a value that was never filled in. To keep an insight genuinely unsampled, set it back after switching the type, or ask an admin to set Automatic entity sampling to None. A segmentation in a workspace that applies entity sampling to funnels, retention and journeys only is never re-seeded, so No sampling does stick there.

Event resolution is recomputed. A new insight starts at No sampling. From then on, every time you switch the metric type, Mitzu recomputes the resolution from the workspace's Event resolution level and the insight's current date range and conversion / retention window — and overwrites whatever is in the dropdown, including a value you picked by hand. Changing the date range or the window afterwards leaves it alone.

The thresholds are listed in Performance settings. In short: with the workspace level at Weak, Medium, or Strong, switching to a funnel or journey whose conversion window is 60 / 30 / 15 days or longer sets One user event per hour, and switching to a retention chart whose date range is 180 / 90 / 45 days or longer does the same. Below the threshold — and always, when the workspace level is None — the insight is reset to No sampling.

The practical consequence: a resolution you pick by hand holds through date-range and window changes, but not through a metric-type switch. Because the default is only computed at the switch, and a new funnel starts with a 1-day window, widening a funnel's conversion window later does not raise the resolution on its own — pick it from the menu if you want it.

info

Opening a saved insight, a shared link, or a dashboard card never re-seeds either value — what was saved is what runs. The defaults only apply when you switch the metric type on Explore.

info

On an entity profile — Explore opened for a single user or other entity from Entity Lookup, including after you add more filters — switching the metric type never applies the workspace defaults. Event resolution goes to No sampling, and so does Uniques sampling unless a rate you picked by hand survives the switch under the rules above. Sampling a single entity would usually drop it from the result altogether.

info

A dashboard can override Uniques sampling for every card at once from its filter bar; that override wins over the insight's own setting. See Dashboard filters and overrides. There is no dashboard-level override for Event resolution.

More options for insights​

You can find options and actions for your insight in the More menu.

image

Show SQL​

This shows the SQL query Mitzu generates for the insight.

image

Annotations​

This option turns global annotations on or off for the insight.

image

Forecast​

When the insight is rendered as a trend, the Forecast toggle extends the chart with a projection of the next periods based on the historical pattern of the visible series. Forecasted values are drawn as a continuation of the existing series so you can see them in the same chart context.

image
info

Forecast is only available when a trend granularity is selected. It is hidden for Overall measurements.

Download chart​

This button downloads the currently visible chart as a PNG image to your computer.

Copy chart to clipboard​

This button copies the chart as a PNG image to your clipboard so you can easily paste it into other applications.

Truncate numbers​

This button rounds and truncates the numbers shown on the chart, making them easier to read. Hover or click a data point to see its exact value: the tooltip always shows the full number. Only the small step bar chart inside a funnel's tooltip follows this setting. On a pivot table it shortens numbers of 10,000 or more (12K, 1.8M); hover a cell to see the exact value.

Consistent colors​

This button ensures that the same groups are shown with the same color. This is useful on dashboards that have multiple insights with the same breakdown.

Set Y Range​

This button opens a modal where you can set the range of the chart's Y axis.

Reset labels & colors​

This clears every legend label rename, color override and hidden series in the current insight at once, returning all series to their original names, the colors Mitzu assigns automatically, and the chart. To reset only one series, edit its legend chip instead (see Legend interactions).

Table and CSV export​

Below the chart, you can see the result as a data table. The table has different columns depending on your insight type and segments. Click the Export button to download the table contents in CSV format.

image