# Funnels: conversion window, step order and who counts

> How a funnel conversion rate is computed, and why the conversion window, the step order and who enters give different numbers on the same users.

- Course: [Product Analytics: From Data to Decisions](https://productovi.com/courses/product-analytics.md)
- Module: Where do new users get stuck?
- Lesson 9/32, ~28 min
- Source: https://productovi.com/courses/product-analytics/funnels

## Funnel conversion rate: where does 58% come from?

**Alex Tutor:** New users are today's topic at Halves, and Theo has brought a number to your desk on the product team.

**Theo:** My onboarding dashboard says only **58%** of new users create a group. Am I paying for people who leave in the first minute?

**Sofia:** 58% of whom, though?

**Alex Tutor:** The right first question. A **funnel** is a sequence of steps with the share of users who reach each one. Its result depends on three choices: who enters, the order of the steps, and the conversion window, how long people have to take them.

![A line of doorways along a hallway; fewer people pass through each next door.](https://productovi.com/courses/product-analytics/inline/funnels-illustration-2.webp)

*A funnel: a row of steps and the share of people who reach each one.*

**Alex Tutor:** Let's use a small sample so we can see every person: 12 users who signed up last Monday, with the hours after sign-up at which each did each step for the first time.

**Dataset (CSV):** [12 new Halves users: hours to each onboarding step](https://productovi.com/datasets/product-analytics/funnels/halves-funnel-12-users.csv)

Empty cell: the user never did that step.

- `user_id`: User id
- `joined_via_invite`: true if the user signed up by accepting an invite into someone else's group
- `group_created_h`: Hours from sign-up to creating their first group
- `member_invited_h`: Hours to sending their first invite
- `first_expense_h`: Hours to their first expense
- `expense_after_invite_h`: Hours to their first expense added after the invite

**Alex Tutor:** Recount Theo's first step the way his dashboard does: everyone who signed up enters, and we count who created a group.

> **Exercise:** All 12 users enter the funnel. What share of them created a group (any time)? Give it in %, one decimal.

**Alex Tutor:** Seven of twelve, the same 58%. Now look at who didn't: f06, and all four users with `joined_via_invite = true`.

**Alex Tutor:** Those four accepted a friend's invite. They landed straight in an existing group, so there was nothing for them to create.

**Theo:** So they're not dropping out at all.

**Alex Tutor:** They skipped a step that was never theirs. That's the “who counts” choice: a funnel only makes sense for people for whom every step applies.

![Newcomers walk up to a front door, while invited guests step straight through a side door into a room where friends already share a receipt.](https://productovi.com/courses/product-analytics/inline/funnels-illustration-3.webp)

*Invitees skip a step that was never theirs, so they need their own path.*

> **Exercise:** How should the “sign-up → group created” funnel treat users who joined through an invite?

## What is a conversion window?

**Maya:** Among the eight self-signups it's 7 of 8 then. But how long do we wait before we call someone lost?

**Alex Tutor:** That's the **conversion window**: the time a user has to complete a step, measured from entering the funnel. Like any time window in a metric, it has to be written down.

**Sofia:** f07 created a group after 26 hours. With a one-day window, f07 would count as lost.

**Alex Tutor:** Check the whole group of eight with a 24-hour window.

> **Exercise:** Only the 8 self-signups enter. With a **24-hour** conversion window, what share created a group? In %.

**Alex Tutor:** 75% in a day, 87.5% in a week. Both are correct, and they're different metrics. A window shorter than the product's rhythm cuts off slow but real users. A very long one means waiting weeks for an answer.

**Alex Tutor:** Maya has already picked a favourite of the two. Check her reasoning.

> **Exercise:** Maya says: “87.5% with a 7-day window is higher than 75% with 24 hours, so the 7-day number is the more accurate onboarding conversion.” **True or false:** her reasoning is right.

![An hourglass beside a door; one person reaches it while sand still runs, another arrives after it has emptied.](https://productovi.com/courses/product-analytics/inline/funnels-illustration-4.webp)

*How long you wait before calling someone lost changes the number.*

## Strict order or any order?

**Maya:** The funnel I care about is longer: group created, then a member invited, then an expense. Within a week.

**Alex Tutor:** In a **strict order** funnel a step counts only if it happens after the previous one. So the expense has to come after the invite: that's `expense_after_invite_h`. Seven days is 168 hours.

**Sofia:** Eight self-signups enter, and I need all three steps, in order, each within 168 hours.

> **Exercise:** 8 self-signups enter. Funnel: group created → member invited → expense, **strict order**, each step within **168 hours** of sign-up. What share completes it? In %, one decimal.

**Alex Tutor:** Now drop the order: all three steps within 168 hours, in any sequence, using `first_expense_h`. That gives 5 of 8, 62.5%.

**Maya:** From 37.5% to 62.5% just by changing a setting? Who are those people?

**Alex Tutor:** Find them in the table: users who pass with any order but fail with strict order.

> **Exercise:** With **any order** (all three steps within 168 hours, using `first_expense_h`), 5 of 8 complete the funnel instead of 3. Which users make the difference? Select all that apply.

**Alex Tutor:** f03 and f05 logged an expense first and invited later. Strict order calls them failures; they may simply show friends a balance before inviting them. A step order is a belief about the right path, and the data can prove it wrong.

**Alex Tutor:** And f04 finished the steps in order but added the expense after 200 hours. With no window, strict order gives 4 of 8, 50%.

**Alex Tutor:** With all three choices on the table, build the invitees their own funnel: joined through an invite → first expense within 168 hours.

> **Exercise:** The 4 users with `joined_via_invite = true` enter. What share added a first expense (`first_expense_h`) within **168 hours**? In %.

## How to define a funnel: entry, steps, order and window

**Maya:** So 37.5%, 50% or 62.5%. Which one is our onboarding conversion?

**Alex Tutor:** Whichever one we define and keep. A funnel is a metric like any other: who enters, the steps, the order rule and the window, written next to the chart.

**Alex Tutor:** Here are two captions for the onboarding chart. Which one should go next to it?

> **Exercise:** Which caption would you put under the onboarding funnel chart?

**Theo:** And invitees get their own funnel, so they stop dragging mine down.

> **Exercise:** Write the definition of the Halves onboarding funnel in 3–5 lines: who enters, the steps, the order rule and the conversion window. Justify one of your choices with this lesson's data.

> **Key ideas**
>
> - A **funnel** is steps plus the share reaching each. Three choices change the result: who enters, the step order and the **conversion window**.
> - **Who counts:** include only users for whom every step applies. Invitees never create a group: 58.3% for all 12 vs 87.5% for self-signups.
> - **Window:** from entering the funnel. Group within 24 hours: 75%; within 7 days: 87.5%.
> - **Order:** strict order (each step after the previous) gave 37.5%; any order 62.5%. If many users take another path, question the funnel before blaming the users.
> - Write the funnel's definition next to the chart.

**Alex Tutor:** Theo's 58% wasn't wrong arithmetic. It answered a question nobody meant to ask.

- Previous lesson: [Case: a north star for Halves](https://productovi.com/courses/product-analytics/choosing-a-north-star.md)
- Next lesson: [Reading a funnel: right censoring and date ranges](https://productovi.com/courses/product-analytics/reading-funnels.md)

---
Productovi Learning. Free, no sign-up needed to read.
