Never Start Your User At Zero
The psychology of progress bars in app onboarding
v2 — adds original audit data (Aug 2026); v1 preserved unchanged. Runtime: ~13 min → ~14.5 min. One new ~75-second beat — "What 47 real flows do" — inserted between Act 2 and Act 3. All timestamps after 7:45 shift +1:15. No other v1 content was touched.
Cut-list row Beat Runtime Cut priority 1 What 47 real flows do (new in v2) ~75s Cut last — this is the original-data differentiator. If the edit must come back to ~13:30, compress to ~35s: keep the 87% stat, the Strava clip, and the "nobody flips the counter" close; drop the 81% checklist and 14% reset middle.
Format: ~14.5 min | Audience: builders shipping apps with onboarding or multi-step flows Core thesis (say it 4 times): A progress bar is not a motivator. It's a speedometer. Users don't respond to how full it is — they respond to how fast it's moving. And you control the speed without changing the work.
COLD OPEN — 0:00–0:50
[ON SCREEN: two loyalty cards side by side. Left: 8 empty boxes. Right: 10 boxes, first two already stamped.]
Two loyalty cards for the same car wash.
The one on the left needs eight stamps. Eight car washes, then your ninth is free.
The one on the right needs ten stamps — but two are already filled in. So it also needs eight car washes.
[BEAT. Highlight both "8 remaining" counts.]
Identical work. Identical reward. The only difference is where the starting line is drawn.
Researchers handed out three hundred of these at a real car wash and waited.
[ON SCREEN: 19% vs 34%, animate up]
The card that started at zero: nineteen percent of people finished it. The card that started at two: thirty-four percent.
Same eight washes. Nearly double the completion rate. And among the people who finished, the head-start group came back faster — about three days less between visits.
[BEAT — hard turn]
Now here's the part that should bother you.
[ON SCREEN: "18 randomized experiments. Effect on completion: ~0"]
Researchers pooled thirty-two randomized experiments on progress bars. The eighteen that tested a normal, honest progress bar averaged out to an effect on completion that was statistically indistinguishable from zero. And one specific kind of progress bar made the odds of quitting fifty-six percent higher.
Both of those things are true.
The gap between them is the single most useful thing you will learn about onboarding, and it's why most of the progress bars shipping in apps right now are decoration.
ROADMAP — 0:50–1:35
[ON SCREEN: 4 numbered cards, build in]
Four things, in order.
One. The two laws of motivation that make the car wash result work. This is the mental model — get this and everything else is obvious.
Two. Why most progress bars do nothing, and why some actively hurt. This is where the thirty-two experiments come in.
Three. The playbook. Five rules you can implement in your own onboarding this afternoon. Actual code-level decisions.
Four. The three ways this backfires. Because there is a version of this that torches user trust, and I want you to be able to see the line.
By the end you'll be able to look at any multi-step flow — yours or a competitor's — and diagnose exactly why people are falling out of it.
Let's go.
ACT 1 — THE TWO LAWS
1:35–5:30
Law One: people speed up as they get close
[B-ROLL: simple animation of a rat in a straight runway, timing gates]
Nineteen thirty-two. A psychologist named Clark Hull proposes something he calls the goal gradient hypothesis: an animal moving toward a reward moves faster the closer it gets.
Two years later he actually builds the apparatus — a straight runway with electrical timing contacts every six feet — and measures it. The rats run faster in the last six feet than the first.
[Quick correction card, small, bottom of frame: "Theory: Hull 1932. The rat experiment: Hull 1934."]
That's it. That's the whole finding. Effort is not constant. Effort is a function of perceived distance to the goal.
Now fast forward seventy-something years. Researchers get access to the punch-card data from a real café — nine hundred and forty-nine completed cards, about ten thousand coffee purchases.
[ON SCREEN: line chart, gap between purchases shrinking toward the reward]
Same curve. Customers bought their coffees twenty percent faster at the end of the card than at the beginning. Not because they wanted coffee more. Because they could see the finish line.
The end-spurt is real, it's measurable, and it happens in your app too. Users who are one step from done are the easiest users you will ever have.
The problem is getting them there.
Law Two: you drew the starting line
Which brings us back to the car wash.
[ON SCREEN: the two cards again]
If effort is a function of perceived distance to the goal, then there are two ways to make someone try harder. You can move them closer to the goal — which is expensive, that's real work. Or you can move the goal posts and tell them where they already are.
That's what the ten-stamp card does. It doesn't reduce the work. It redraws the coordinate system so the user is already inside it.
The researchers called this the endowed progress effect, and their explanation is one sentence I want you to write down:
[ON SCREEN, held: "By framing the task as one that has been undertaken and is incomplete rather than one not yet begun, we expect people to be more committed to completing the task."]
Undertaken and incomplete. Not "not yet begun."
Those are the same objective situation. They are completely different psychological situations. A task you haven't started is a decision. A task you're in the middle of is an obligation.
[BEAT]
And there's a detail in that paper almost nobody quotes, which is the most practically useful thing in it.
The head start works better when you give a reason for it. In a follow-up study — this one measuring how appealing people found the program, rather than what they actually did — they offered points with no explanation, with a real explanation, and with a completely made-up throwaway explanation: "here's a bonus because you came in today."
[ON SCREEN: "Any reason > no reason"]
The throwaway reason worked as well as the real one. People don't audit the reason. They just need the head start to feel like it belongs to them rather than being handed to them by a marketer.
Hold that thought, because in Act 4 I'm going to argue that you should use a true reason anyway — and that you almost always have one available.
The synthesis
[ON SCREEN, held, this is the thesis card] Motivation doesn't track your position. It tracks your perceived rate of closing distance.
Position is the number in the bar. Rate is how fast that number is moving and how far it has left to go.
Rate is what you actually control. And you control it with four levers that cost you no engineering work at all: where the starting line is, what order the steps go in, what the denominator is, and which number you show.
Everything in the playbook is one of those four levers.
ACT 2 — WHY MOST PROGRESS BARS DO NOTHING
5:30–7:45
Okay. So if endowed progress nearly doubled completion at a car wash, adding a progress bar to your onboarding should be a free win, right?
No. And this is where the internet advice falls apart.
[ON SCREEN: "Villar, Callegaro & Yang (2013) — meta-analysis of 32 randomized experiments"]
Survey researchers have been randomizing progress bars at scale for twenty years, because they care obsessively about people abandoning halfway through. In 2013 somebody pooled thirty-two of those randomized experiments and sorted them by how the bar behaved. Here's the result, and I want you to look at all three rows.
[ON SCREEN: table, build row by row]
| Progress bar behavior | k | Effect on drop-off |
|---|---|---|
| Constant (honest, linear) | 18 | Nothing. Not significant. |
| Slow at first, fast later | 7 | Drop-off odds 1.56× |
| Fast at first, slow later | 7 | Drop-off odds 0.80× — helps* |
[VO over the asterisk:] — and I'll be straight with you, that bottom row only reaches significance after they drop an outlier. The row I'd actually bet on is the middle one, because that's the robust result.
A normal, honest, linear progress bar does nothing to your completion rate.
What matters is entirely which half of the flow feels fast.
And look at the asymmetry — this is the important bit. A second study found the same shape: when progress feels faster than expected, it improves how people feel but doesn't necessarily improve completion. When progress feels slower than expected, it makes people feel worse and it makes them quit.
[ON SCREEN: "The downside is bigger than the upside."]
So the bar has a bigger downside than upside. Which means:
[ON SCREEN, held: "A progress bar is a speedometer, not an engine."]
It doesn't create motion. It broadcasts the motion your flow already has. If your flow front-loads the hard stuff — account creation, email verification, permission prompts, connect-your-bank — then the bar is not helping you. The bar is telling on you. You've built a slow-to-fast flow and installed a public display of exactly that.
[BEAT]
And before we go further, the honest counterexample.
[B-ROLL: Monzo signup screens]
Monzo published their US signup funnel. Baseline: thirty-nine screens, about two hundred and ten taps, seventeen minutes, and nine percent of people who downloaded the app finished signing up.
They got it to forty percent.
They did it by deleting twenty-two screens. Not by adding a progress bar. One single verification check was causing forty percent of the total drop-off in the funnel.
[ON SCREEN: "Fix the flow. Then frame it."]
If your onboarding is genuinely too long, psychology is not going to save you. Delete steps first. Everything in the next section is for a flow that's already the right length.
INTERLUDE — WHAT 47 REAL FLOWS DO (new in v2)
7:45–9:00
So that's the lab. Before I give you the playbook, I wanted to know what's actually shipping — so this month we audited forty-seven real onboarding and setup flows from top iOS apps.
[ON SCREEN: "47 flows & screens · 40 apps · iOS · Aug 2026 · original audit"]
Finding one. The industry has quietly adopted the car wash trick. Of the flows where you can actually see the starting state, eighty-seven percent start the user above zero. Endowed progress isn't a growth hack anymore — it's the norm. Which raises the bar for you: doing it no longer makes you clever. Not doing it makes you conspicuous.
And the checklists are where it gets specific: eighty-one percent of setup checklists ship with at least one item already checked. Coinbase hands you "Account created ✓" before you've touched the list. Qonto goes further — it writes your first invoice number for you, then credits you for it.
[SCREEN: Strava — "You've joined the world's largest team!" directly above a 0/4 meter]
The apps that miss, miss like this. Strava's headline says you already belong. The meter directly underneath says zero out of four. The copy endows; the counter refuses.
Fourteen percent of flows still reset the bar to zero at a stage boundary — and the resets cluster at exactly one place: identity verification. "Account activated!" — then a fresh, empty bar for KYC. That's the cold-start penalty from Act 4, shipping today.
And here's the kicker. Not one app in the sample flips a single counter from "three done" to "two left." The clearest prescription in the research — the one from the sushi study — is the one nobody implements.
[ON SCREEN, held: "0 of 47 flip the counter. That's your cheapest edge."]
Which brings us to the playbook.
ACT 3 — THE PLAYBOOK
9:00–12:30
Five rules. Every one of them is a small change.
Rule 1 — Never start at zero, and count real work
[SCREEN RECORDING: onboarding checklist showing "Step 1 of 5 ✓ Account created"]
Your user did not arrive at your onboarding screen out of nowhere. They found you, they clicked, they typed an email, they picked a password, maybe they confirmed a link.
That's work. Count it.
Don't render "Step 1 of 4: tell us about yourself." Render "Step 2 of 5 — account created ✓, email confirmed ✓."
Nothing is fabricated. The user genuinely did those things. You just stopped throwing away the credit.
That's the endowed progress effect, implemented honestly, and it's usually a change to a single constant in your state initializer.
Rule 2 — Front-load your cheapest step
The meta-analysis says the first half of the flow is where the indicator does its damage. The reasonable inference — and I want to flag that it is an inference, nobody has run this exact experiment on app onboarding — is that the question isn't "how many steps do I have," it's "what happens in the first fifteen seconds."
There's a study of over twenty-five thousand real web surveys that puts a number on it. Every additional fifty words anywhere in the flow costs about half a percentage point of completion.
[ON SCREEN: "First question: −1.6 points per 50 words. 3× the cost of 50 words anywhere else."]
Fifty words in the first question costs 1.6 points. More than three times the damage.
So: your hardest, longest, most invasive step — the bank connection, the calendar permission, the twelve-field profile — should not be first. Put a one-tap question first. "What are you here to do?" Three buttons. The bar jumps. Now they're in motion, and the goal gradient is working for you instead of against you.
Rule 3 — Flip the framing at the halfway point
[ON SCREEN: split — left "3 of 10 done" | right "2 steps left"]
This one is the highest value-per-line-of-code in the video.
There's a finding called the small-area hypothesis: people are most motivated by whichever number is smaller — the accumulated progress or the remaining progress.
At the start of a flow, "three of ten done" beats "seven remaining." At the end, "two left" beats "eighty percent complete."
Field-tested at a sushi restaurant with nine hundred and seven customers, and replicated in the lab: low-progress people responded to what they'd done; high-progress people responded to what was left.
Now — notice what this means. A standard filled progress bar only ever shows you accumulated progress. Which makes it the wrong display for the back half of your own flow. A bar sitting at eighty percent is a weaker motivator than the exact same state written as "two steps left."
The implementation is a ternary:
[ON SCREEN:
label = done < total/2 ? \${done} of ${total} done` : `${total-done} left``]
That's it. That's the whole change.
Rule 4 — Count fields, not screens
Builders obsess over reducing the number of screens. Baymard — the group that's spent two hundred thousand hours doing checkout usability research — says that's the wrong variable: the number of form fields hurts usability far more than the number of steps.
Which means splitting a long form into more, lighter screens is a legitimate move — you're not adding friction, you're redistributing it, and you're buying more progress events to show.
The Obama 2012 campaign did exactly this with their donation form: split one long form into four sequential steps, ordered by which fields people were failing on. Over five percent lift in conversion.
More steps, less work per step, more visible motion. That's the trade.
Rule 5 — The endowment has to be real
[ON SCREEN, held: "Would it survive a tooltip?"]
Here's the test I want you to use, and it's clean.
Would the design survive disclosure?
If you put a tooltip on your progress bar that says "you start at twenty percent because we're counting the account you already created" — and the effect still works — that's framing. That's legitimate. Nothing false was ever asserted.
If the tooltip would have to say "you start at twenty percent because we found it makes you more likely to finish" — that's deception, and we'll deal with why that's a problem in about ninety seconds.
The car wash card passes this test easily. It says two of ten stamps. There are genuinely eight washes to go. The reframe is doing all the work and the interface never lied.
That's the standard. Reframe freely. Fabricate never.
ACT 4 — THE THREE WAYS THIS BACKFIRES
12:30–14:15
Backfire 1 — The post-reward trough
[ON SCREEN: bar chart of gap-between-purchases, showing the reset]
In that same café dataset, researchers watched what happened to people who finished one card and started a second one.
Their purchases had accelerated to a gap of about 2.1 days by the end of card one. On card two, the first gaps were back to 3.1 days.
Motivation didn't decay. It reset to cold start.
[ON SCREEN: "Setup complete! Now let's set up your team..." with a 0% bar]
Which means this screen — the one every SaaS onboarding ships — is charging the user a full cold-start penalty at every stage boundary.
The fix: don't stack sequential zero-to-a-hundred bars. Either run one continuous gradient across the entire activation journey, or if you must have stages, endow the next stage immediately so it never renders at zero.
Backfire 2 — A goal they miss is worse than no goal
The largest field experiment in this whole area: a hotel chain, ninety-five thousand loyalty customers, given a progress goal to hit.
Eighty percent of them missed it.
People who hit the goal bought more afterward. People who missed it bought less than comparable customers who were never given a goal at all.
And here's the part that should make you careful: the damage landed hardest on the company's highest-tier, most loyal customers.
To be fair to the study — overall, the promotion was still a net win. But it won by taking from the people most invested in the company and giving to the people who happened to clear the bar.
[ON SCREEN: "A goal most users miss redistributes damage onto your best users."]
So if you're going to show a bar, the target has to be genuinely reachable and it has to genuinely close. A profile-completeness meter that can never hit a hundred percent isn't a motivator, it's a permanent reminder of failure attached to your most engaged users.
Backfire 3 — Getting caught
Two findings here.
First, from the research on showing users your system working — the "searching 400 airlines" animation. It works; people preferred a sixty-second transparent wait over instant results. But the authors put a warning in their own paper: suspicion of manipulation erodes the effect. And they found it fully reverses if you make someone watch you work and then hand them a bad result. Show the effort, deliver the goods.
Second — and this is the one I think most builders get wrong — gamified completion rewards can suppress the motivation you're trying to build.
[ON SCREEN: two rows] "Finish setup and get a badge" → d = −0.36 on voluntary engagement "Nice — your workspace is set up correctly" → d = +0.33
This is a meta-analysis of a hundred and twenty-eight studies. Completion-contingent rewards — do this thing, get a token — measurably reduce voluntary engagement afterward. Informational feedback — telling someone they did it well — increases it, by about the same magnitude in the other direction.
So: don't dangle the badge. Confirm the competence.
CLOSE — 14:15–15:00
[ON SCREEN: thesis card, final time] The bar isn't the motivator. The perceived rate is.
Recap in one breath:
Effort scales with perceived closeness to the goal. You don't own how much work there is, but you do own where the starting line sits, what order the steps come in, what the denominator is, and which number you put on screen. Those four levers move motivation without moving a single unit of actual work — and every one of them can be done without lying.
Here's your homework, and it takes ten minutes.
Open your own product. Sign up as a brand new user. Start a timer.
What does a person see in the first fifteen seconds — and is that the fastest-moving part of your entire flow?
If the answer is no, you don't have a motivation problem. You have an ordering problem. And now you know exactly how to fix it.
[END CARD]
PRODUCTION NOTES
Every number in this script, with its source
| Claim in script | Exact source |
|---|---|
| 19% vs 34% car wash | Nunes & Drèze 2006, JCR 32(4). n=300 (150/cell). χ²(1)=8.1, p<.01 |
| "~3 days less between visits" | Same paper: 2.9 fewer days, F(1,636)=5.2, p<.05. Measured among card completers only — script says "among the people who finished" for this reason |
| Constant bar ≈ 0 | Villar, Callegaro & Yang 2013, SSCR 31(6). k=18 of the 32. LOR=0.072, p=.365 |
| Slow-to-fast: 1.56× drop-off odds | Same. k=7. LOR=0.447, p=.001. Odds ratio — say "odds," not "quit 56% more often" |
| Fast-to-slow: 0.80× | Same. k=7. LOR=−0.212, p=.02, significant only after outlier removal. Script says this out loud |
| Hull rats | Theory = Hull 1932 Psych Review 39(1). Runway experiment = Hull 1934 J. Comp. Psych. 17(3) |
| Café, 949 cards, 20% acceleration | Kivetz, Urminsky & Zheng 2006, JMR 43(1). 0.7-day narrowing, t=2.6, p<.05. Redeemed cards only |
| "Undertaken and incomplete" quote | Verbatim, Nunes & Drèze 2006 — confirmed word-for-word |
| Any reason > no reason | Nunes & Drèze Study 3, n=240 liquor store. Rating-scale intentions, not behavior — script flags this |
| Monzo 9% → 40% | Monzo engineering blog, Sept 4 2024. 39→17 screens, 210→74 taps |
| First question costs 3× | Liu & Wronski 2018, SSCR 36(1). n=25,080 web surveys. b=−.016 (first question) vs −.005 (total survey words), both per 50-word block. 0.016÷0.005 = 3.2× |
| Small-area / sushi restaurant | Koo & Fishbach 2012, JCR 39(3). n=907, 4-month field study, South Korea |
| Fields > steps | Baymard Institute. Proprietary qualitative research, not peer-reviewed, no A/B tests — attribute by name, don't say "studies show" |
| Obama form, +5% | Kyle Rush, Obama 2012 digital team. Practitioner post, no n or CI published |
| Post-reward reset 2.1 → 3.1 days | Kivetz et al. 2006, n=110 two-card members, p<.01 |
| Hotel, 95,532 customers, 80% missed | Wang, Lewis, Cryder & Sprigg 2016, Marketing Science 35(4). Failure measured vs. matched comparison customers, not vs. own baseline. Promotion was net positive overall — script says so |
| Labor illusion + reversal | Buell & Norton 2011, Management Science 57(9) |
| d=−0.36 / d=+0.33 | Deci, Koestner & Ryan 1999, Psych Bulletin 125(6). 128 studies in the meta-analysis; the free-choice behavioral measure is available in 101 |
| [v2] 87% start above zero | Original Mobbin audit, Aug 2026 (mobbin/progress-bars-mobbin-audit.md). n=47 unique flows/screens across 40 top iOS apps. Base = 23 items where the time-zero state was determinable: 20/23 = 87%. Preview-sampling caveat: true base rate across all 47 could be lower — script says "of the flows where you can actually see the starting state" for this reason |
| [v2] 81% of checklists pre-checked | Same audit: 13/16 checklists ship with ≥1 pre-completed item. Named examples verified in captures: Coinbase "Account created ✓" (mobbin.com/flows/abbfdc52-c084-4574-83b2-cef0d6604b30); Qonto pre-writes first invoice number "F-2026-001" then shows "Numbering — Completed" (mobbin.com/screens/7c8ebb46-41e8-471a-9829-9581c3586394) |
| [v2] Strava "violates" clip | Same audit: "You've joined the world's largest team!" headline directly above a segmented 0/4 meter (mobbin.com/screens/987b88a5-3b61-4a7b-9b79-744167fc9320). Sub-count "Follow three people (0/3)" also visible — good zoom target |
| [v2] 14% reset at a stage boundary | Same audit: 4/28 flows stack sequential tracks (Monzo per-section bars, Kraken "Account activated!" → fresh KYC bar, Nutmeg affordability per-stage, Evernote bar + fresh percent ring). The cluster point is identity verification — say "KYC," it's accurate for Kraken and Monzo |
| [v2] Zero counter flips | Same audit: 0/28 flows change a single counter's format from done-count to remaining-count mid-flow. The flip exists only in copy (Monzo "halfway there" → "last section now"; Betterment "4 of 5" + "Almost there") or split across surfaces (Coinbase "2 steps remaining" and Lex "Complete two more steps," both late-stage). Only numeric-format flip in sample: Linktree percent → "5/6" — different widgets, not one counter |
B-roll shot list
- Two physical punch cards, macro, stamping the right-hand one twice (hero shot — worth doing for real)
- Rat-in-runway animation, simple, 5 sec
- Line chart: gap-between-purchases narrowing
- The three-row meta-analysis table, built row by row
- Monzo signup screen recording (or generic 39-screen scroll)
- Your own app:
Step 2 of 5 — account created ✓ - Split screen: "3 of 10 done" | "2 steps left"
- Code snippet of the ternary
- Generic "Setup complete! Now set up your team" with a 0% bar
- Badge-vs-praise comparison card
Thumbnail / title options
- 0% → 20% with a progress bar and a red arrow (title: Never Start Your User At Zero)
- The two loyalty cards, split, with 19% and 34%
- Title alt: The Progress Bar Trick That Doubled Completion
- Title alt: Your Progress Bar Is Doing Nothing (Here's The Fix)
Pinned comment draft
The four levers, since a few people asked: 1. Where the starting line sits — count work the user already did 2. What order the steps come in — cheapest first, always 3. What the denominator is — more, lighter steps beats fewer, heavier ones 4. Which number you show — "3 done" early, "2 left" late
Sources in the description. The car wash study is Nunes & Drèze 2006 if you want to read the original.