Mixpanel’s Funnels allows you to examine how end-users perform events in a series. This article explains how to interpret a Funnels report. Learn about Funnels report basics in this article. Learn about how to build a Funnels report in this article.
Interpret the results of your funnel by selecting different analysis charts from the drop down under Funnel steps. These are described in detail below.
You can visually segment your funnel to gain insights on how your conversion rates vary between different cohorts or property values. Click the Breakdown button and select an event property, user profile property, or cohort.
When you breakdown your funnel results, you can see the differences in conversion for different property values side by side.
These results are also broken down in the Funnel Trends and Time to Convert charts.
When segmenting a funnel by a property, the 200 top performing property values are shown in the Overall table below the funnel steps. All other segments are grouped into an $other category.
Here is a breakdown of all of the information contained in the Overall table:
Click on any column header to sort results by that column.
If you need to view all of the individual segments beyond the 200-Property limit, use the download button in the top right of the Funnels report and select Download CSV. Your download will contain all properties, including those bucketed into $other, up to 10k segments.
If you select any order funnels in the Conversion Criteria section, you have the option to select Top Paths under Breakdown to determine which order the steps are being performed in.
In the Overall chart below your funnel, the top paths are displayed as a list of different path orders so that you can examine which paths have a higher or lower conversion rate or conversion time.
User Count in Breakdown
When grouping or filtering the results of your funnel, user count will be determined by the number of unique users for each property combination.
For example, if you are an e-commerce site grouping by the property “item” to determine what users are searching for and purchasing, users will appear in the table once for each property they use. In a funnel where Event A is “Search”, Event B is “Add to Cart”, and Event C is “Purchase”, a user may complete the funnel twice, once with the property “hat”, and once with the property “shirt”. This user would convert through the funnel, and be counted in the Group By table for both “hat” and “shirt” when grouping by property “item”. They would be counted in the “overall” row as completing the funnel once.
This behavior matches how users are counted when filtering by property: if a user goes through the entire funnel X times with Y distinct event property values, the user will be counted Y times.
Statistical significance in funnels validates an increase or decrease in conversion rate for a property or cohort segment. It attempts to identify random chance with respect to overall conversion. A p-value indicating statistical significance is calculated in the overview table when you choose a property or cohort to group by.
In statistical hypothesis testing, the p-value or probability value is the probability that the variation in a segment’s conversion rate, compared to the overall conversion rate, is not driven by a random chance. This value is shown for every segment by default. To learn more about how this is calculated view the deep dive for statisticians.
In order to clarify this statistical significance, the segmentation chart shows the confidence level of each segment. Confidence level is defined as 1 - p.
- > 0.95 = statistically significant, indicated in green. This variation in conversion rate is likely not driven by random chance.
- < 0.95 = not statistically significant, indicated in red. This variation in conversion rate is likely driven by random chance.
Scrolling further down the table takes you to the statistically insignificant segments. If a segment has less than 30 samples, p-value is not shown, as the sample size is too low to detect difference from overall population. This is indicated by “Insufficient samples”.
The number of samples is the same as the count of entries into the funnel. If the funnel is looking at the unique count, this is the number of unique users who entered the funnel in that segment. If the funnel is looking at total count, this is the total number of entries into the funnel in that segment.
You can choose to sort by any of the columns of the overall table in descending or ascending order by clicking on the header. If you sort by statistical significance, values with confidence level of > 0.95 are shown first, and then values with confidence level < 0.95. The secondary sorting is determined by the overall conversion rate for the funnel.
Click on the dot beside the statistical significance number to make that property value the Control value that the other property values are compared to. To return to the default view, click the dot beside “Overall”.
Create Cohorts from Funnels
You can create a cohort from a funnel segment in order to examine that group of users more closely. Learn more about this feature here.
This is the primary view for Funnels which shows how users are converting across your steps.
Select Funnel trends from the drop-down list to see the percentage of successful conversions from the first event in the funnel to the last event in the funnel for a day, week, or month.
A user that completes the funnel within the conversion window is counted on the day, week, or month corresponding to when they performed the first event in the funnel.
By default this chart shows the conversion rate. Click on Conversion to view the options Time to Convert, Top of Funnel, and Bottom of Funnel.
Time to Convert
Time to Convert allows you to see how the amount of time it takes users to convert through your funnel has changed over time.
Generally speaking, a shorter conversion time is ideal. If your Trends chart shows that your conversion time is increasing, there may be a usability issue on your app making it more difficult for users to convert.
Top of Funnel
Top of Funnel allows you to see the trend of the count of users who entered the funnel.
Bottom of Funnel
Bottom of Funnel allows you to see the trend of the count of users who converted through the funnel.
Time to Convert
Select Time to convert from the drop-down list to see how long users take to convert through your funnel.
By default the interval for this chart is 2 days, but you can click on Interval size at the top of the chart to edit this.
You can choose to switch between viewing percentage or whole numbers in the chart by clicking % or # in the top right of the chart.
The dotted line indicates the median of the chart.
The chart updates if you select a specific step in the funnel above to indicate the conversion rate up to that step, rather than the full funnel.
Click on a segment of the bar chart to create a cohort or zoom in on that segment. If your users are converting within a small window of time, as seen above, it is useful to zoom into that bar in order to see a more clear breakdown of the range of time users are taking to convert.
Select Frequency from the drop-down list to see the number of times users performed a step before moving to the next step. For example, see the number of times a user listened to a song before purchasing the song.
By default this chart will show the frequency of steps performed from step 1 to step 2. You can change this by clicking on the drop-down beside the chart selector.
Edit the frequency interval by clicking on Interval size above the chart. A drop-down window gives you the option to change the frequency interval in order to bucket the numbers in the chart. For example, enter a frequency interval of 5 to have each line of the chart grouped by intervals of 5.
You can also enter the minimum and maximum number of frequencies in the interval dropdown. For example, in the image above the maximum is 10, so all frequencies above 10 are grouped at the bottom of the chart.
You can switch between viewing conversions to viewing dropoff by clicking on Conversion at the top of the chart.
Conversion shows you the number of times a user performed a step before converting to the next step. Dropoff shows you the number of times a user performed a step before dropping off the funnel.
If you have selected any order for your funnels steps, you have the option to select Top paths from the drop-down list to view a Sankey visualization of how your users are performing the steps in your funnel.
Compare to Past
In all Funnels analysis charts you can compare the results of your funnel to the past by clicking the Compare to Past button at the top of the chart. This allows you to compare your conversion rates from month to month, for example.
Your funnel results will show up alongside a past date range comparison in both the step chart and the table below. The current query is solid colored, while the past is hashed.
In the Funnel Trends chart the past date range is visualized as a dotted line, while the current date range is a solid line.
This feature is in beta- if you'd like to try out Comparison Events please reach out to email@example.com and we can unlock it for your projects.
You can select multiple events at a particular step in a funnel, and Mixpanel will compute a segmented funnel that shows what percent of users reached each of these comparison events.
To do this, click on the "..." and select "add event comparison"
Check out the video below for more information and an example use case.
Mixpanel Funnels include a built-in two second grace period. This means any consecutive steps that have timestamps within two seconds of one another are interchangeable. This window allows for inconsistencies that arise with cross-platform tracking, batch event sending, mobile time tracking, or variations in connection speed.
What does this mean in terms of your funnel? In a funnel with step A -> B, if a user completes event B first and then performs event A within two seconds, Mixpanel counts this as a conversion from A -> B or B -> A.
Event property values can vary from step to step in your funnel. For example, a user may select a blue shirt in step 1, but put a red shirt in their cart in step 3. If you want to control when the property value is locked in for all steps of your funnel, you can use property attribution.
To access this feature, filter or breakdown by a property in the funnel chart below the query builder. Click on Last touch to select either “Last touch”, “First touch”, or a specific step number.
Your selected choice will determine which step of your funnel determines the property value for the whole funnel.
First Touch Attribution and Forwardfilling
By default, Mixpanel “forwardfills” event properties in instances where properties are sent in earlier steps of a Funnel but not sent in subsequent steps of the same funnel. This means that the property that is present in early steps of a funnel is appended to the later steps of the funnel where it was previously absent.
Select First touch to attribute the first property value to the whole funnel, regardless of whether the property value changes in subsequent steps. First touch is not the same as the first step of the funnel, rather it is the first time the property is given a non-null defined value.
For example, say that the user is shopping on your website and you want to track a funnel from Log In to Purchase. There are three events in this journey: Log In, Item View, and Purchase. Each event has its own properties, and the “Name” property is only sent with the “Log In” event. This property will be added to the subsequent events, where it was previously absent:
As you can see in the diagram above, the property of “Name” is only a property for the event “Log In”, but that property is forwardfilled to the subsequent events.
Last Touch Attribution and Backfilling
By default, Mixpanel “backfills” event properties in instances where properties are sent in later steps of a Funnel but not sent in the earlier steps of the same funnel. This means that the property that is present in later steps of a funnel is appended to the earlier steps of the funnel where it was previously absent.
Select Last touch to attribute the last property value to the whole funnel, regardless of the property value in previous steps. Last touch is not the same as the last step of the funnel, rather it is the last time the property is given a non-null defined value.
For example, the user shopping on your website chooses to buy a shirt that costs $5. In this instance, properties of the item that is purchased are not sent until the “Purchase” event, so the property is backfilled and added to the “Item View” and “Log In” events:
As you can see, the property of “Item Price” is only a property of the event “Purchase”, but that property backfilled to the previous two steps. Also, the properties sent with the event “Item View” are backfilled to “Log In”.
If an event property is sent with all steps of a funnel but the value of the property changes across steps, then the most recent value is applied to all steps of the Funnel.
For example, the user shopping on your website views a blue shirt and adds it to their cart. However, when they make their purchase, they have changed their mind and decided to get a red shirt instead:
As you can see, the property of “Item Color” is Blue for Event 2, but changes to Red for Event 3. As a result of backfilling, the property of “Item Color” will be appended to Red in the “Item View” event, and further backfilled to “Log In” as well.
You can choose to attribute a property value from any step to the whole funnel by selecting the step number. Note that with this option you may see an "undefined" null value for the property, as this option is not tied to when the property value was defined.
For example, the user viewing your website encounters an error and sends in a support ticket to your business. On first touch they may have been using Safari as their browser, and used Safari to send in the support ticket at last touch, but they were using Chrome when they triggered an error-state. It is relevant for your business to know that they triggered an error on the Chrome browser and not Safari, in order to assist them in fixing the error.
Deep Dive for Statisticians
This section is intended for users who want to understand the mathematics involved in statistical significance in depth.
To determine whether a particular segment’s conversion rate is significantly different from the overall conversion rate, we use a hypergeometric distribution to calculate statistical significance. The hypergeometric distribution is used to model the probability of picking k items of a particular type in n attempts without replacement from a population of size N having K items of the same type.
For example, let’s say we have a sock drawer with 20 socks, 10 blue and 10 red. If we randomly picked 10 socks one at time from the drawer without putting them back between picks, and we wanted to know the probability of 9 of those socks being red and 1 of them being blue, we would use a hypergeometric distribution to calculate that.
This is applied to funnels by considering the total number of users who enter the funnel to be a finite population of size N, out of which a subset of users convert (K). We then estimate the probability of getting k conversions in a particular segment (given that there were n users who entered the funnel in that segment) if users in that particular segment were picked at random from the overall user set. The higher the probability, the higher likelihood that variations we see in conversion rate are due to random chance.
To calculate the actual p-value, we estimate the hypergeometric cumulative distribution function (CDF) for N, K, n.
In the CDF, the value of any point (X) represents the probability that a random draw would result in fewer conversions P(k < X). 1 - P(k < X) represents the probability that a random draw would result in more conversions P(k >= X).
These two probabilities are used to represent the probability that the selected segment will either outperform (P(k < X)) or underperform (P(k > X)) the overall set of users. Mixpanel takes the higher probability of the two, and calculate the p-value as 1 - max(P(outperform), P(underperform)).