Anchor the Streak to Your Unit of Use
Tie a streak to the smallest genuinely-meaningful action, not the easiest possible tap.
- Difficulty
- Moderate
- Time to result
- ~weeks to results
- Steps
- 3
- Confidence
- 92%
When building a habit/streak mechanic, the counting unit must map to your app's real 'unit of use' — the action that signals genuine engagement. Set the bar too high and users lose streaks they cared about; set it too low and you dumb down the metric and capture your least-committed users. Duolingo found the sweet spot by moving from an XP-goal streak to a one-lesson streak, then proved the floor by testing a single-exercise streak that failed.
Origin
Developed by Jackson Shuttleworth and the Duolingo retention team through their earliest and 'biggest change' streak experiments.
Core principles
- 01The streak's counting unit is a proxy for real engagement — pick it deliberately
- 02Easier to extend is only better if the unit still means something
- 03Over-lowering the bar captures users you were never going to keep
- 04Simplicity of the unit is itself a retention feature — more users understand it
How to run it
- 1
Define your app's true unit of use
Identify the single repeatable action that best signals a user is genuinely engaging with your product's core value. For Duolingo that is completing one lesson.
Pro tip Ask: 'What is the smallest action a real, engaged user actually does?' — for Duolingo nobody wakes up wanting to do 'one question'.
- 2
Set the streak bar at that unit, not above or below it
Move away from goal- or performance-based streak requirements (XP goals) that punish committed users for aiming high, and toward the clean single-unit requirement.
Pro tip Duolingo's XP-goal streak let serious learners lose streaks by setting too-hard goals — a clear signal the bar was wrong.
Watch out Connecting the streak tightly to a personal goal feels meaningful but creates unnecessary loss for your best users.
- 3
Stress-test the floor — but don't ship a dumbed-down unit
Test lowering the bar further to confirm you've found the floor. If daily-active-users don't move and you're only catching drive-by users, revert.
Pro tip A neutral DAU result on an easier bar is a signal you've diluted the unit, not improved it.
Watch out A one-exercise streak captured 'the least engaged users imaginable' and moved DAU 'not one bit' — an easy shutdown.
In the wild
As Jackson joined, the team moved the streak from an XP-based goal (hit 50 XP) to simply completing one lesson a day. The feared downside was users caring less because it was decoupled from their goal.
→ 'Huge driver of DAU' with no observed loss of meaning — became the biggest structural change to the streak.
Following the 'make it even easier' train of thought, they tested letting a single exercise within a lesson extend the streak, reasoning it would rescue users who start but don't finish lessons.
→ DAU 'moved not one bit'; the captured users were the least engaged, so the experiment was shut down.
Common mistakes
Optimizing for the easiest possible action
Lowering the bar to a single question captured users who do one or two questions and leave — the least engaged cohort — while blurring what the streak actually measured.
Coupling the streak to a personal performance goal
The XP-goal streak let serious learners lose streaks by setting too-hard goals, punishing exactly the committed users you most want to retain.
Is it for you?
Best for
Product/growth PMs designing a streak or daily-habit mechanic who need to decide what a 'day' of usage must contain.
Not ideal for
Apps whose value is inherently infrequent (e.g. tax software) where no daily unit of use exists.
From the transcript
“I think it's really important to think about like what the unit of use of your app is”
“nobody thinks about I just want to come you do one question on dualingo nobody thinks about that”
“this was huge driver of Da just making it making it easier to extend your streak”
“the users that we are capturing with our streak you know you come you do one or two questions on duelingo then you leave we're…”
From the episode
Behind the product: Duolingo streaks
Jackson Shuttleworth (Group PM, Retention Team)