Funnel analysis measures how many users get through each step of a path, such as sign-up → first project → first purchase, and shows where the biggest share of them stops. You define who enters, the steps, their order and a time window; count the users who reach each step; divide each step by the one before; then split the weakest step to find whose drop it is. The arithmetic takes minutes. The definition is where most funnel reports go wrong, so this guide starts there and then walks through a full example on an onboarding funnel.
What a funnel is (and isn't)
A funnel is a sequence of steps and the share of users who reach each one. It is a metric like any other, which means it only means something with its definition next to it. Four choices change the result:
Who enters. Only users for whom every step applies. People who joined through a friend's invite land in an existing group and never create one; count them in a funnel with a "create a group" step and they look like drop-offs. In one example from the course, excluding them moves group creation from 58.3% to 87.5% on the same data.
The steps. Events that users actually do, in the order you believe matters.
The order rule. Strict order counts a step only if it happens after the previous one; any order counts it whenever it happens. Strict order is stricter, and if many users take another path, it will call them failures.
The conversion window. How long a user has to complete the steps, measured from entering. A 24-hour window and a 7-day window give different numbers, and both are correct.
Write these four choices under every funnel chart. Otherwise two people will build "the onboarding funnel" and get 37% and 62% from the same data.
Worked example: the Halves onboarding funnel
Halves is a made-up app for splitting shared bills between flatmates, couples and friends on trips. The product lead wants to know where new users get stuck before they split their first bill. The funnel:
Who enters: self-signups (not invitees) from four complete weekly cohorts, 1,000 users.
Steps: sign-up → group created → member invited → invite accepted → first shared expense.
Order: strict; each step after the one before.
Window: 7 days from sign-up, and only cohorts that have had all 7 days.
Step
Users
Step conversion
From sign-up
Signed up
1,000
100.0%
Group created
820
82.0%
82.0%
Member invited
590
72.0%
59.0%
Invite accepted
330
55.9%
33.0%
First shared expense
280
84.8%
28.0%
Step conversions, not just the overall rate
The overall rate is 280/1,000=28.0%. It tells you the funnel leaks but not where. Step conversion divides each step by the previous one: 820/1,000=82.0%, 590/820=72.0%, 330/590=55.9% and 280/330=84.8%.
The weakest step is "invite accepted": only 55.9% of users who sent an invitation had it accepted within the window. That is where to look first. Note that the column "from sign-up" can't show this: it always falls, so the biggest absolute drop in it is not necessarily the weakest step.
Split the weakest step
A drop is always somebody's drop. Split the funnel by a dimension that could explain it: platform, acquisition channel, country, app version. Here, by channel:
Channel
Entered
Group
Invited
Accepted
First expense
Store search
600
500
400
230
196
Paid social
400
320
190
100
84
Step conversions:
Channel
Group
Invited
Accepted
First expense
Overall
Store search
83.3%
80.0%
57.5%
85.2%
32.7%
Paid social
80.0%
59.4%
52.6%
84.0%
21.0%
Two different findings come out of one table:
Acceptance is weak for everyone (57.5% and 52.6%). The friend who receives the invitation doesn't care which ad brought the inviter, so this is a product problem: the invite message, the link, what the friend sees when they open it.
Inviting is weak for paid social (59.4% against 80.0%). People who came from an ad create a group almost as often, but fewer of them invite anyone. Perhaps they installed the app to try it alone.
Is the difference real?
With a few hundred users per segment, check before you conclude. The 95% Wilson intervals:
Acceptance: store search 52.6–62.3%, paid social 45.6–59.6%. The intervals overlap a lot, so there is no evidence the channels differ on this step.
Inviting: store search 76.3–83.3%, paid social 53.9–64.6%. No overlap: this gap is very unlikely to be chance.
The team can fix one thing this sprint. Instead of fixing the biggest drop by reflex, estimate what each fix would add at the bottom of the funnel, holding later steps at their current rates:
Acceptance from 55.9% to 65%:590×0.65=383.5 accepted, 53.5 more, and at 84.8% about 45 more first expenses.
Paid social inviting at store search's 80%:320×0.80=256 inviters, 66 more; 66×0.559×0.848≈31 more.
Group creation from 82% to 88%: 60 more groups; 60×0.720×0.559×0.848≈20 more.
The targets are assumptions, so treat the result as a ranking, not a forecast. It still settles the argument: a better group-creation screen, often the first thing teams want to redesign, is worth less than half of a better invitation.
Invite acceptance is the weakest step at 55.9%; raising it to 65% adds about 45 first expenses, more than fixing paid-social inviting (31) or group creation (20)
Two traps in reading funnels over time
A funnel chart by week or month has two traps of its own.
Right censoring. Users who signed up yesterday have had one day, not seven. Their conversion looks low now and will rise. In one course example, the latest week showed 29.2% "so far" against 49.4% for complete cohorts, and the team nearly rolled back a release because of it. Show only cohorts whose window has closed, or grey out the incomplete one.
Date ranges that mix people. "First expenses in August ÷ sign-ups in August" puts late-July users in the numerator and not the denominator. The date range should pick who enters; then follow those same people through their window.
From funnel to activation
A funnel shows where people stop. It doesn't say which step matters for whether they stay. For that, compare later retention of users who reached a step with those who didn't: the step that separates them best is a candidate for your activation criterion. That is the subject of activation rate, and the retention side is covered in how to calculate retention rate.
Key takeaways
Funnel analysis starts with a written definition: who enters, the steps, the order rule and the window.
Read step conversions; the overall rate tells you there is a leak, not where.
Split the weakest step by platform, channel or version; a drop that's the same everywhere is a product problem.
Check small segments with intervals before acting on a gap.
Size each possible fix at the bottom of the funnel before choosing one.
Leave out cohorts whose window hasn't closed, and let the date range pick who enters.
FAQ
What is funnel analysis?
It is measuring the share of users who complete each step of a defined path, such as onboarding or checkout, to find where they drop off and which fix would help most.
What is a good funnel conversion rate?
There is no universal benchmark: it depends on the steps, the window and who enters. Compare your funnel with itself over time and across segments, using the same definition.
Should I use strict order or any order?
Use strict order when the sequence is what you want to test, for example "invited before adding an expense". If many users complete the steps in a different order, look at their path before calling them failures.
How long should the conversion window be?
Long enough for a normal user to finish at the product's pace, short enough to get an answer in time. For a first-week onboarding funnel, 7 days is a common choice. Whatever you pick, write it on the chart.