Behind the product: Duolingo streaks | Jackson Shuttleworth (Group PM, Retention Team)
Jackson Shettleworth, Group Product Manager at Duolingo, shares the journey and lessons of the Duolingo Streaks feature. He discusses how this single feature became a primary growth driver, contributing billions in value, and the extensive experimentation behind its success.
Deep Dive Analysis
14 Topic Outline
Impact of Duolingo Streaks on Company Growth
Origin and Evolution of Duolingo's Streak Feature
Key Experiments and Learnings on Streak Mechanics
User Psychology and Motivation from Streak Experiments
Duolingo's Product Review and Experimentation Philosophy
Designing for Clarity and Adaptability in Streak Features
Evolution and Impact of Streak Freeze Flexibility
Balancing Monetization and Retention with Streaks
Effective Notification Strategies for Streaks
The 'Perfect Streak' Feature and Celebrating Perfection
Enhancing User Experience with Animation and Haptics
Duolingo Team Operations and Experimentation Culture
Applicability of Streak Mechanics to Other Products
Lightning Round: Books, TV, Products, and Motto
4 Key Concepts
Current User Retention Rate (CURR)
A key metric Duolingo focuses on, representing users who are not new or resurrected returning the next day. It is considered the most effective metric for driving Daily Active Users (DAUs).
Unit of Use for Streaks
The specific action within an app that counts towards extending a streak. For Duolingo, this is completing one lesson, which provides a clear and meaningful engagement point for users.
Sanctity of the Streak
The perceived value and importance of a user's streak, which Duolingo actively protects from being 'cheapened' by making it too easy to maintain or recover, ensuring users continue to care about it.
Bend, Not Break Philosophy (Streaks)
Duolingo's approach to streak flexibility, allowing users to miss a day (bend) through features like streak freezes, but encouraging them to return to an intact streak rather than losing it completely (break).
7 Questions Answered
Duolingo Streaks tracks how many consecutive days a user has completed a lesson, with built-in flexibility like 'streak freezes' to prevent loss.
The most impactful change was moving from an XP (experience point) based streak to simply requiring one lesson a day to extend the streak, making it easier and more comprehensible for users.
Duolingo found that once users achieve a seven-day streak, a strong sense of loss aversion kicks in, leading to a significant increase in retention compared to earlier days.
Duolingo maintains product quality and avoids feature bloat through a rigorous product review structure involving product design, product management leaders, and founder Luis von Ahn, who review every proposed change.
Duolingo offers flexibility through streak freezes but also encourages and celebrates 'perfect streaks' (no freezes used) with visual cues, acting as a counterweight to too much leniency.
A streak feature is likely beneficial if the app has a core loop users want to engage with regularly, and the streak can contextualize long-term progress that is otherwise hard to track daily.
Duolingo resists the urge to build a 'big V1,' instead stripping away complexity to test the core hypothesis first, then iteratively adding features based on validated learnings.
31 Actionable Insights
1. Prioritize Core Product Value
Ensure your core app provides intrinsic value and is enjoyable to use daily before layering on engagement mechanics like streaks. A streak mechanic alone cannot solve fundamental product disinterest.
2. Structure Teams by Metrics
Organize product teams around specific, measurable metrics (e.g., DAUs, retention rate) rather than features. This laser-focused approach ensures efforts are directed towards the highest ROI initiatives.
3. Embrace Continuous A/B Testing
Adopt a strong bias for action by constantly testing hypotheses, as human psychology and user responses are best understood through real product changes. This includes investing in robust infrastructure for copy testing.
4. Ship Minimal Viable Experiments
Resist the urge to build a ‘big V1’ for new features; instead, strip down to the core hypothesis and ship the simplest version first to quickly validate and iterate.
5. Develop a Clear Feature Strategy
Guide all A/B tests with a clear long-term strategy and roadmap to prevent ending up in a ’local maxima’ or creating a disjointed, ‘kitchen sink’ feature. Each test should contribute to a larger vision.
6. Simplify Streak Mechanics
Simplify the criteria for extending a streak to increase user retention and engagement, focusing on a clear, easily understood ‘unit of use’ (e.g., one lesson per day). Simplicity leads to broader adoption.
7. Ensure Universal Comprehensibility
Design features to be easily comprehensible to a broad, diverse user base, including different ages, cultures, and tech literacy levels. Clarity in understanding directly correlates with higher retention.
8. Focus on Early User Retention
Concentrate significant effort on the zero to seven-day user experience, as data shows a substantial jump in retention once users achieve a seven-day streak due to loss aversion. This is a critical period for habit formation.
9. Frame Goals as User Outcomes
Set goals in terms of tangible user outcomes (e.g., ‘7x more likely to finish the course with a 30-day streak’) to significantly boost motivation and engagement. Users are driven by clear, beneficial results.
10. Empower User Choice in Goals
Provide users with options and the ability to select their own goals or even opt-out, as this intentional act of choosing drives higher engagement and commitment than pre-selected options.
11. Design for ‘Bend, Not Break’ Flexibility
Incorporate flexibility into retention mechanics, such as ‘streak freezes,’ allowing users to miss a day without breaking their streak. This encourages eventual return and prevents permanent churn.
12. Protect Streak’s Perceived Value
Appoint a ‘keeper of the sanctity’ for your streak feature (e.g., a specific PM or founder) to prevent over-optimization that could cheapen its value and lead to long-term user disengagement. Balance engagement with meaning.
13. Ensure Streak Visibility & Celebration
If you want users to deeply care about a streak feature, ensure it’s highly visible, consistently celebrated, and frequently referenced throughout the app experience. This communicates its importance.
14. Optimize Notification Timing
Leverage revealed user behavior for notification timing, such as sending practice reminders 23.5 hours after the previous session, which proves more effective than user-set preferences.
15. Implement Late-Night Streak Savers
Send a late-night ‘streak saver’ notification (e.g., at 10 PM) as a last-chance reminder if a user hasn’t completed their daily activity. Users who value their streak will perceive this as helpful, not spammy.
16. Use Multi-Sensory Celebrations
Employ animations, haptics (phone vibrations), and sound effects to celebrate user milestones. These multi-sensory cues enhance delight, encourage users to pause, and deepen their connection to the feature.
17. Introduce ‘Perfect Streak’ Counterweight
Create a ‘perfect streak’ feature that visually celebrates users who maintain their streak without using flexibility tools. This provides a positive counterweight to flexibility, encouraging consistent, uninterrupted engagement.
18. Offer Earned Streak Repair
Implement ’earn back’ mechanics (e.g., complete a few lessons) to restore a lost streak, making the recovery feel earned. This maintains the streak’s value and user commitment more effectively than simply paying for it.
19. Stagger Feature Introduction
Introduce complex or additional streak features only after users have established a basic understanding and commitment to the core streak. Introducing too many concepts early can overwhelm and disengage users.
20. Conduct Periodic Feature Resets
Regularly evaluate and ‘reset’ highly optimized features or UI elements to a simpler, plainer state. This allows for new iterative layering and helps avoid getting stuck in local maxima, ensuring long-term evolution.
21. Foster Cross-Functional Learning
Encourage knowledge sharing across different teams (e.g., monetization, learning) to leverage insights from successful experiments in one area for other product features. This maximizes learning and impact.
22. Define Streak’s Primary Role
Clearly define whether a streak feature’s primary role is monetization or retention from day one. This prevents conflicting design choices and ensures alignment with overall product goals.
23. Tailor Streak to Usage Patterns
Design streak mechanics to align with your users’ natural or desired usage frequency (e.g., daily, weekly). This customization maximizes relevance and engagement for different product types.
24. Visualize Long-Term Progress
For products where progress is hard to measure daily (e.g., language learning), use a streak mechanic to provide tangible, day-to-day indicators of progress and commitment.
25. Prioritize Form Follows Function
Ensure product design clearly communicates what the feature tracks, with form following function. Overly metaphorical designs can confuse users from diverse backgrounds.
26. Balance Clarity with Delight
Combine clarity with delight and celebration, but reserve more complex or metaphorical delightful elements for users deeper into their journey. Prioritize straightforward clarity for new users.
27. Use Visual Cues for Daily Mechanics
Employ familiar visual cues, like a calendar-like design with days and checkmarks, to clearly communicate daily mechanics. This reinforces user understanding of the feature’s cadence.
28. Provide Early Streak Flexibility
Offer more flexibility (e.g., two streak freezes) to users in the early stages of their streak. This helps them overcome initial hurdles and increases the likelihood of reaching a committed retention point.
29. Limit Flexibility for Long Streaks
For users with established, long streaks, limit excessive flexibility. Too many ‘days off’ can condition users to take unnecessary breaks, potentially leading to disengagement.
30. Segment Users for Streak Design
Clearly define the target user and desired commitment level for your streak mechanic. This prevents designing for a ’least common denominator’ and ensures the feature resonates with intended users.
31. Decline Neutral Experiments
Shut down neutral experiments, especially if they introduce additional complexity or cognitive load. Only proceed if they are a strategic platform for future, high-conviction features.
5 Key Quotes
Streaks is the most impactful feature.
Jackson Shuttleworth
Getting users to come back the next day is the biggest problem to solve.
Jackson Shuttleworth
We've run in the last four years over 600 experiments on the street. So every other day.
Jackson Shuttleworth
The easiest way not to learn on Duolingo is not to come back the next day.
Jackson Shuttleworth
You miss a hundred percent of the shots that you don't take.
Jackson Shuttleworth
2 Protocols
Duolingo's Streak Extension Protocol (Current)
Jackson Shuttleworth- Complete one lesson in the Duolingo app.
- This action extends your streak by one day.
- (Optional) Use a 'streak freeze' to maintain your streak if you miss a day.
- (Optional) If you lose your streak, use the 'earn back' feature by completing a few lessons within a short window to restore it.
Duolingo's Notification Strategy for Streaks
Jackson Shuttleworth- Send a practice reminder 23.5 hours after the user's previous day's practice.
- If the streak has not been extended by 10 PM, send a 'streak saver' notification as a last chance reminder.