Funnels help you understand how users are successfully navigating a defined path in your product and where there is a drop-off. A funnel is a series of events that a user progresses through within your app, such as successful onboarding. A user is considered converted through a step in the funnel if they perform the event in the specified order.
Table of Contents
- Creating a Funnel
- Chart Interpretation
- Default Configuration
- Holding a Property Constant
- Exclusion Steps
- Event Conversion / Drop-off
- Date Picker
- Compare to past
- Breakdown Data Table
- Acting on Funnel Results
- Computation Methods
- This Order
- Repeat Events in Your Funnel Definition
- Any Order
- Exact Order
- Simultaneous Events
- User Property Segmentation
- Session-Based Funnels
- Conversion Over Time
- Time to Convert
- Conversion Drivers: Analyze Events Performed Between Funnel Steps
- AB Test View (Growth & Enterprise)
- Conversion By Event & User Property
- Video Walkthrough
Creating a Funnel
Events: Select which events you want to be included in a funnel. You can also specify event property criteria for each event by hovering over a step and clicking "+where" to the right of the event name. To rearrange the steps in your funnel, you can drag and drop each event by clicking on the number to the left of the event name. If you would like to combine multiple events together into a single step, then you can create a custom event out of your event types. This would function like an "OR" clause so that users can do any of the individual events inside of a custom event and will count as having completed that step in the funnel.
by...: Define whether you want the funnel to look at Active or New Users.
- Active Users: Includes all users who have performed the first step of your funnel.
- New Users: Includes users who are new who have performed the first step of your funnel (at any point in the time period selected, e.g. funnel entry is not restricted to the day the user is new). This is the default behavior for a new user funnel. If you wish to change it this, see the bottom module section.
You can also specify user property criteria for each event by clicking "+where" to the right of the user segment.
The right panel in the Funnel Analysis chart control panel functions analogous to the right panel in an Event Segmentation chart. You can read more about how to compare user segments here. To learn more about changing "Users" to account-level reporting such as "Country" or "Company Name," click here.
...completed within: Here you can specify how much time a user has to complete the funnel from the moment they enter it. "Completed within" is also referred to as the conversion window. You should adjust your conversion window when there is a sequence of events that you expect users to perform within hours/minutes/seconds of each other. The default conversion window is 30 days (in UTC), meaning users have 30 days from when they enter the funnel to complete the funnel and to count as converted. The minimum conversion window is 1 second and the maximum conversion window is 90 days.
any day: If you are looking at a new user funnel, you will see a dropdown appear here. If you select "any day", then the funnel will include users who are new who have performed the first step of the funnel at any point in the date range selected.
their first day: If "their first day" is selected, then this restricts the funnel to users who perform event 1 (and enter the funnel) on their first day they appear in Amplitude (their new user date).
grouped by: See how users with a property value at a specific step have converted through the funnel. Read more about conversion by property here.
holding constant: This allows you to hold a selected property constant through the entire funnel. If you wish to hold an event property constant, the dropdown will only allow you to select an event property that was present in every step of the funnel (since event properties are not global properties like user properties). Read more about this setup below.
shown as: Select "Conversion Funnel" to see a step-by-step funnel or "Conversion Over Time" to analyze conversion rates over time. You can choose to view conversion rates over time for the entire funnel or for a particular step.
AB Test View: If you click "AB Test Improvement Over Baseline" or "AB Test Chance to Outperform" in the bottom module, you can see two different visualization of an A/B test you have instrumented via Amplitude's Funnel Analysis chart. You can use the "..where baseline is set to" dropdown to select the property value that you want to use as the baseline. You also have the options to show the visualization as "Improvement Over Baseline" or "Chance To Outperform". Read more about the AB test view below. This is an Enterprise only feature.
You can set up and interpret any Funnel Analysis chart easily as the platform allows you to read the parameters like a sentence. The default configuration has "grouped by" selected in the bottom module configuration. For example, the following chart shows you Events performed in this order by Active Users completed within 30 days shown as Conversion Funnel for the last 30 days.
In the chart, we see that there were 431,808 users who fired the event 'Search Song or Video' in the last 30 days. Of the 431,808 users, 426,092 of them fired 'Play Song or Video' within 30 days of searching for a song or video. And of those 426,092 users, 185,231 of them fired 'Share Song or Video' within 30 days of 'Search Song or Video.'
Holding a Property Constant
When not holding properties constant, the funnel chart will share the unique count of users who have gone through the funnel once or more. This means that if the user goes through the entire funnel multiple times, the user is only counted once. For example, given the following funnel, if a user were to perform 'SearchSong' -> 'PlaySong' -> 'ShareSong' ten times in the last 30 days, they would only show up once in this chart.
When holding properties constant, the funnels chart will share the unique count of user and user/event property pairs that have completed the funnel. If a user goes through the entire funnel N times with M distinct event property values, the user will be counted M times. For example, if a user does 'SearchSong' -> 'PlaySong' -> 'ShareSong' with ten different 'SongName' property values, then they will show up ten times in the following chart. In this example, 'SongName' is an event property that has been sent for all three events in the funnel. An event property can only be held constant if you have instrumented it for every event in the funnel.
Exclusion steps allow you to exclude users who perform selected events events between steps in a funnel. This provides a deeper understanding of how selected behaviors impact your target conversion rates.
To exclude events, you can click on the "exclude users who performed" button, and use the dropdown to select the excluded event. You can apply the exclusion between all steps in the funnel, or between two specific steps. For "any order" funnels, users are excluded if they perform the exclusion event between any of the funnel steps.
Event Conversion / Drop-Off
The bar graph shows each step in the funnel and the number of users who converted at each step.
- Solid regions: These represent the users who have successfully converted to or reached that step.
- Striped regions: These represent the users who dropped off at that step or have not yet reached that step.
Like all of Amplitude's chart types, you can use the date picker to choose a more specific time range to analyze your data and can switch between "Last", "Between", and "Since". You also have the option to view data in daily, weekly, monthly, or quarterly units by toggling between the different options in the dropdown menu next to the date picker.
Compare to past
On the top, left display area of the chart display area, there is the Compare to past where you can add a comparison of your current analysis to a specific day in the past. This feature is currently available in Segmentation and Funnel chart types. The options available are: Previous day, Previous week, Previous month, Previous quarter, Previous year or by setting a specific, custom date.
If you are looking at multiple segments in your chart, you can manually select and deselect each segment by hovering over the segment name in the bar below the chart and removing it or by clicking the "+" button to add it back. Finally, you can click on any data point in the chart and inspect the users that make up that data point by using Microscope.
Breakdown Data Table
Underneath the chart is a table of the data displayed. If you create a Group By, you can select or deselect which segments you see in the graph by clicking on the segment name in the data table. Here are some helpful definitions:
- Conversion: This is the percentage of users who successfully completed the entire funnel. This is calculated by dividing the number of users who successfully exited the funnel by the number of users who entered the funnel.
- Event Name: The number of users who complete that step in the funnel. The first step will always be 100% because a funnel only considers users who performed that first event (not all users).
- Average Time: The average time it takes users to move from one event to another event in the funnel. The average time is a function of the time of users' first conversion. So, if one user did Event A and Event B multiple times, the average only uses the time of the user's first "Event A-> Event B" instance. This cell will also show the median time it takes users to move from one event to another event. If the funnel is "any order", then the average time reflects the absolute value of the difference since it could be a negative number.
You can also export the table as a CSV file by clicking the "Export CSV" button.
Acting on Funnel Results
You can click on any segment of a funnel to see detailed information about users within the selected segment. See Microscope for more information.
- Show User Paths: View the event path users took within your funnel segment.
- View Users: See a list of User ID's that reached that step in the funnel.
- Create Cohort (Enterprise): Enterprise customers can create a Behavioral Cohort from the users in a selected funnel segment. Once a Cohort is created, you can further analyze user behavior and retention on your new cohort.
- Download Users (Enterprise): You can download a CSV file of all users and their information in a selected funnel segment. This feature is only available on our Enterprise Plan.
There are three ways to compute funnels: "this order" (ordered), "any order" (unordered), and "exact order" (no events in between). The default funnel computation mode is "this order."
Events must be performed in the order they are set for the user to be converted. For example, a user cannot perform:
Event C -> Event B -> Event A
and be converted. Event B must follow Event A before Event C, the user must have done the steps in the following order to be converted:
Event A -> Event B -> Event C
Note that if the user performs:
Event A -> Event C -> Event B -> Event C
then the user would be counted as converted because they eventually performed the steps in order.
Repeat Events in Your Funnel Definition
In "this order" you can have repeated events in the funnel definition. For example, if your funnel definition is:
Event A -> Event A -> Event B
a user is counted as converted if he did Event A at least two times and then did Event B later. There are no limits to the number of times an event can appear in the funnel definition. Repeated events are not supported in "any order" Mode.
Events can be performed in any order (up to the step the user drops off), and the user will be converted. Users cannot skip steps in Funnel charts. If a user skips the 2nd step in a 3-step any order funnel, this user will be considered as dropped off at the 2nd step even if the 3rd step was completed.
For example, suppose we have the following funnel step setup:
A user could have done the steps in the following order:
Event 1 -> Event C -> Event B
and still be counted as a converted user (assuming they perform all steps within the conversion window). Users cannot skip steps in funnel charts so it’s any order up until the step they drop off.
A user will only be included in the funnel if the user has fired the event in the first step, Event 1. For example, if a user fired only Event B, the user would not be in the funnel. In order for the user to be in the funnel, the user must have performed the first event. So, the user must have fired Event 1 in order to "enter the funnel" (though the 2nd or 3rd step events could've been completed in any order: Event B -> Event C or Event C -> Event B).
And if a user completes Event B -> Event C -> Event 1, the funnel will count this user as converted only if all three events occurred during your selected time range or within your conversion window following the time range. If the user only completed Event 1 within your selected time range, the user will be counted as entered the funnel but dropped off. This is because the funnel chart does not account for events that occurred prior to your selected time range.
Events must be performed in the order they are set, with no events occurring in between, for the user to be converted. Say for example we have an exact order funnel defined as:
Event A -> Event B
In order to be counted as converted, a User cannot have done any events between Event A and Event B. So if a User performs Event A, but then a series of events are triggered in the background before the User performs Event B, they will not be counted as converted. If an event that is not part of the funnel definition is simultaneously fired in the same second, the User will still be counted as converted. This is because a second is the lowest time resolution we currently support.
Events that are marked “Hidden from Dropdowns” in the “Advanced” section of “Manage Data” section are ignored from the query. Note that depending upon your instrumentation settings you may see a difference in exact order funnels results and a user’s individual event stream or results from Pathfinder queries.
We round all time to seconds and so we maintain a one-second window to account for "simultaneous events". As a result, if there is any ambiguity with two different events, we will count both directions as a conversion. For example, if a user triggers Event B first, and then triggers Event A within one second, a funnel will count this as a conversion from:
Event A -> Event B or Event B -> Event A
If two of the same event types are sent within the same second, then we will count only one of those events.
User Property Segmentation
If you were to segment the data on a user property (using the "where" clause under All Users), the segmentation would be done based on the first step of the funnel. In the example above, this would be Event A. For example, suppose a user did:
Event B with the user property '[Amplitude] Country' = 'Canada',
then Event A with the user property '[Amplitude] Country' = 'United States'
If you were to do "...by Active country(s)" above All Users, it will show the above user in the '[Amplitude] Country' = 'United States' segment in the Event A step since the segmentation is done based on the first step of the funnel.
By utilizing the "holding constant" feature in the bottom module, you can build session-based funnels. To do this, hold constant '[Amplitude] Session ID':
A user must complete each step in the funnel with the same Session ID in order to be converted. Like all other properties that can be selected with the "holding constant" feature, a Funnel Analysis chart with this setup will no longer show unique users since users can complete the funnel multiple times, each time in a different session.
Conversion Over Time
Below the bar chart module is a line graph that shows the funnel conversion rates over time. The conversion rate graph shows conversion rates for users who entered the funnel on a specific date. So if a user enters a funnel on January 1st and later converts in the funnel on January 5th, they will be counted in the bucket for January 1st since that is the day they entered the funnel.
The percentages seen here are conversions per unique user per day/week/month. For instance, if a user enters the funnel (performs the first step of the funnel) on July 1st and July 2nd, and completes the funnel on July 30th (within 30 days of both July 1st and 2nd), then that user will be counted in both the conversion percentages for July 1st and 2nd.
In addition to looking at the overall conversion rate, this graph can display the conversion rate between funnel steps.
Time to Convert
Time to Convert helps you understand how long your users take to complete sequences or sets of important behaviors. It allows you to observe your users’ distribution of time between the different steps of your funnel in a histogram.
The percentages on the vertical axis represent the part-to-whole ratio of the users who converted within the given interval, relative to the number of all users who converted within the selected range.
As an example, let’s say that 100 users converted within a 15 minute window in the last 30 days. All 100 users had a conversion time of exactly 15 minutes. This means that 100% of users who converted within 15 minutes in the last 30 days will fall in the 15 minute bin.
The intervals on the horizontal axis are divided into 25 buckets. We automatically pick a bin size from 1 second, 10 seconds, 1 minute, 10 minutes, 1 hour, 1 day, 10 days, and 30 days where we have the most standard deviation in bins. The maximum and minimum time to convert is dependent on the conversion window and time range you’ve chosen.
If your analysis require a bin size that is not in line with the Amplitude default ones, you also have the option to create custom bins:
This feature can also help you understand how long your users take to complete specific steps of your funnel within your conversion window. If you click on “the entire funnel,” you will see a dropdown with pairs of event steps from your funnel.
Frequency displays a distribution of the number of times a user performs Event A before Event B is performed for the very first time in a given time interval. You can select the specific events you want to analyze below the conversion window. See below screen shot for reference.
For example, in the below example we see that 68.1% of users who reached Step 3 perform the ‘Download Song or Video’ event one time before purchasing a song or video.
Conversion Drivers: Analyze Events Performed Between Funnel Steps
Within each Funnels chart, you can click into any of the steps after the initial event to open up the Conversion Drivers option, which allows you to look at the actions performed by users between steps in the funnel. This helps you clearly identify potential drivers of conversion, or drop-off.
Within Conversion Drivers, the top controller allows you to choose the steps of the funnel that you want to look between. The conversion and drop-off numbers show you the rates between the two selected steps.
Below the step controller, there is a table of the events your users have performed between the two selected steps. There are two metrics visible. Adoption is defined as the percentage of converted/dropped-off users who performed a particular event between the two steps selected. Engagement is defined as the average number of times your converted/dropped-off users performed a particular event between the two steps selected.
In the example below, 100% of converted users performed the "Main Landing Screen" between step 1 and step 2, while only 78.6% of dropped-off users performed this event. The ratio of adoption between converted users over dropped-off users is 1.27.
For users who are considered converted, we look at the events performed between the timestamps of the two selected funnel steps. For users who are considered dropped-off, we look at the timestamps of the first selected funnel step, and their entry into the funnel plus the conversion window.
Imagine a funnel defined as A --> B --> C, and you wanted to investigate drivers of conversion at step C. The time periods analyzed each set of users is shown below, where t() represents the timestamp of the event performed:
|t(b), t(c)||t(b), t(a)+ conversion window|
AB Test View (Growth & Enterprise)
You are able to track user conversion with A/B test results in the default funnel view. However, with our advanced AB Test View, you can also receive a report on the statistical significance of each test variant to help better analyze the results and choose winners. To do this, first create the funnel you have instrumented the A/B test for. Then, create segments of users. The first segment you have selected will be the default baseline but you have the option to change this later in the bottom module of the chart control panel. You can change to the AB Test View by clicking the button in the bottom module. For example, let's say you have instrumented an A/B test to see if adding a picture to a song will increase the number of song purchases. We've instrumented the AB test under the 'A/B_Tests_Song_Purchase' user property and have three segments representing the baseline and the two variants. In the bottom module, you can choose to switch which segment you would like to use as the baseline.
AB Test - Improvement
When the bottom module is set to "AB Test - Improvement", the chart will display the conversion rate for each segment over all steps. For example, we can see that the variant 'Purchase_With_Picture' is performing 6% worse than the baseline while the variant 'Purchase_No_Picture' is performing 3.75% worse than the baseline. Note we are using demo data, but with real segments that impact funnel conversion you should expect the better suited segment to positively impact your baseline, while a worse suited segment would negatively impact your baseline.
Improvement over baseline is the ratio of the mean variant (A) over the mean baseline (B), .
AB Test - Significance
If you set the dropdown in the bottom module to "AB Test - Significance", then the chart will display the chance to outperform for each variant. This is calculated using the methods outlined below, and it will show how often a certain variant will likely convert better than the baseline.
Results with a sample size above 30 and chance to outperform of greater than 97.5% are assumed to be significant.
In our example, we can see that both segments has a really low chance to outperform over the baseline, since both segments negatively impacted our baseline.
Chance to outperform is the probability that our variant (A) is better than our baseline (B). We use a two-tailed test with a 95% confidence interval to judge whether or not a result is significant. A 97.5% chance to outperform is the threshold for outperform significance. A 2.5% chance is also a significant result, but it signals a significant chance to underperform.
Note: A/B test results with samples sizes of less than 30 are automatically considered as insignificant.
The probability of our variant (A) outperforming our baseline (B) is based on the distribution of the difference B – A. If the individual distributions of B and A are assumed to be normally distributed, then the difference B – A is also a normal distribution (Gaussian) with a mean of and variance of .
To find the chance of A outperforming B, we need to determine the area under the curve that falls to the right of zero.
The area under the curve or cumulative distribution can be expressed in terms of the error function erf, which has the mean μ and the variance σ.
Erf can be calculated with a numerical approximation, and we incorporate the same approach to for calculating chance to outperform:
Once erf has been determined, the final equation to calculate the chance that B is better than A is:
(Source: O'Connell, Aaron. “The Math of Split Testing Part 2: Chance of Being Better”)
The AB Test View will also display whether or not statistical significance has been achieved in the top left corner of the chart. Amplitude uses a two-tailed p-value of 95% confidence to ascertain this and only looks at the best performing variant. Sample sizes of less than 30 are automatically considered to be not statistically significant.
When a test has reached statistical significance, you will see the green text appear:
If the test is not found to be statistically significant, then you will see the following red text:
The data table below the chart will give you a breakdown of the data. As with all data tables in Amplitude, you have the option to export the data as a CSV file. Here are the columns included:
- Count: The number of users or groups that entered the funnel.
- Converted: The number of users or groups that completed all the steps in the funnel with all conditions met.
- % Conversion: This is calculated by the number of converted users or groups divided by the number of users or groups that entered the funnel.
- % Improvement over Baseline: This is calculated by the equation (% conversion for that variant - % conversion for the baseline) / (% conversion for the baseline). The percentage in the data table will be green when the value is a positive number.
- % Chance to Outperform: This is the percent probability that your test variant will convert better than the baseline using a Bayesian model. The percentage in the data table will be green when the value is above 51%.
Conversion By Event & User Property
You can set up your funnel to view how users with an event property value at a specific step have converted through the funnel. This helps you analyze what property value potentially has the greatest or smallest impact on users' conversion through the funnel.
In the example below, we have a three-step funnel: 'Search Song or Video', 'Play Song or Video', and 'Share Song or Video'. In the first image, we've segmented the funnel by Step 2's event property, 'Content_Type'.
The below image shows the conversion distribution of users, who performed the 'Play Song or Video' event with that 'Content_Type' value. Of the possible values, we see that both songs and videos had roughly 42% conversion. Lastly, if you choose to Group By on a Step that is not the first, you will see a segment of users who did not reach that segmented step (the orange shaded segment for 'did not reach step' in this example).
Note: If users in your funnel can complete the steps multiple times, then the group by will take the first occurrence of each event and bucket the user for the value on that event.