# How many steps does a typical onboarding flow have?

Source: Lazyweb Research
Author: Ali Abouelatta, Lazyweb Research
Published: 2026-07-07
Updated: July 2026
Sample size: n=129
Tags: onboarding, signup, ux-patterns, experiments, mobile
HTML: https://lazylanding-labs.onrender.com/research/onboarding-flow-length-benchmark-steps
Markdown: https://lazylanding-labs.onrender.com/research/onboarding-flow-length-benchmark-steps.md

**Answer.** Across 129 canonical onboarding flows, the average is 13.9 steps with a median of 11, a p90 of 27, and a range of 2 to 70.[1] These are total onboarding steps, not quiz questions — a quiz is one segment inside them. Use the median of 11 as your baseline for total onboarding length.

> 129 onboarding flows average 13.9 steps (median 11, p90 27) — Lazyweb Research, July 2026.

## The finding

The corpus tracks 129 canonical onboarding flows out of 2,468 flows total.[1] Their step counts average 13.9, median 11, p90 27, range 2 to 70.[1]

| Metric | Steps |
|---|---|
| Average | 13.9[1] |
| Median | 11[1] |
| p90 | 27[1] |
| Range | 2–70[1] |

Important: these are raw step counts for the whole onboarding flow, not quiz-question counts. A personalization quiz (avg 3.9 question screens) is a slice of the larger flow.[2]

## How to apply it

Budget total onboarding length against the median of 11 steps. If your flow runs past the p90 of 27, you're in the long tail — justify it the way a deep-quiz app would, with clear value at each step.

When you add a personalization quiz, remember it stacks on top of everything else in onboarding (account creation, permissions, value screens). A 10-question quiz plus the rest can push you well past the median.

## Caveats

Step counts use COUNT of steps per flow; flow_steps.step is not a 1..N index, so position work requires ROW_NUMBER, not raw step values.[1] The 129 flows are the onboarding-labeled subset of 2,468 flows. These are flow-structure counts, distinct from the vision-based quiz metrics elsewhere in this family.

## The numbers

| Stat | Computed from |
| --- | --- |
| 129 onboarding flows; avg 13.9 steps, median 11, p90 27, range 2-70 | onboarding_flows_headline |
| quiz avg 3.9 question screens per app | quiz_question_count_distribution |

## Methodology

Universe: 129 canonical onboarding flows in the Lazyweb flow corpus. Method: COUNT of steps per onboarding-labeled flow, July 2026. Caveat: raw step counts (not quiz questions); flow_steps.step is not a 1..N index, so position work needs ROW_NUMBER.

## Visual references

Real, in-market app screens tracked by Lazyweb Research:

- Soundcloud: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/music4_soundcloud/lazyscreenshots/2025_04_15_01-35-45_4BE45A39.png
- Remini: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/photos112_remini/lazyscreenshots/2024_03_30_14-48-53_14ECF15C.png
- Shuteye: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/health10_shuteye/lazyscreenshots/2024_07_06_17-43-06_B971B099.png
- Adobe: https://zlfyzdmohcskkucuunmk.supabase.co/storage/v1/object/public/screenshots/graphics3_adobe/backlog/2025_11_17_18-41-39_109E8D88.png

## Sources & citations

- [1] Lazyweb Research analysis of 129 flows (Lazyweb onboarding-flow corpus), July 2026. 129 canonical onboarding flows; avg 13.9 steps, median 11, p90 27, range 2-70. Raw step counts, not quiz questions.
- [2] Lazyweb Research analysis of 119 apps (Lazyweb onboarding-quiz corpus), July 2026. Quiz averages 3.9 captured question screens per app, a subset of the full flow.

## Related questions

- [How many questions should an onboarding personalization quiz ask?](https://lazylanding-labs.onrender.com/research/how-many-quiz-questions-onboarding)
- [How many apps run a personalization quiz during onboarding?](https://lazylanding-labs.onrender.com/research/how-many-apps-use-onboarding-personalization-quiz)
- [Which apps have the longest onboarding personalization quizzes?](https://lazylanding-labs.onrender.com/research/longest-onboarding-quizzes-benchmark)
