Behind the product: Duolingo streaks | Jackson Shuttleworth (Group PM, Retention Team)

Dec 15, 2024 Episode Page ↗
Overview

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.

At a Glance
31 Insights
1h 28m Duration
14 Topics
4 Concepts

Deep Dive Analysis

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

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).

?
What is Duolingo Streaks?

Duolingo Streaks tracks how many consecutive days a user has completed a lesson, with built-in flexibility like 'streak freezes' to prevent loss.

?
What was the biggest change to Duolingo's streak feature's core mechanic?

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.

?
At what point does user retention significantly improve with streaks?

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.

?
How does Duolingo ensure product quality and consistency despite constant experimentation?

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.

?
How does Duolingo balance flexibility and perfection in its streak feature?

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.

?
How can other companies determine if a streak feature would benefit their product?

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.

?
What is Duolingo's philosophy on building new features or iterations?

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.

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.

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

Duolingo's Streak Extension Protocol (Current)

Jackson Shuttleworth
  1. Complete one lesson in the Duolingo app.
  2. This action extends your streak by one day.
  3. (Optional) Use a 'streak freeze' to maintain your streak if you miss a day.
  4. (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
  1. Send a practice reminder 23.5 hours after the user's previous day's practice.
  2. If the streak has not been extended by 10 PM, send a 'streak saver' notification as a last chance reminder.
$14 billion
Duolingo company valuation At the time of recording, doubled in value in the past six months.
over 9 million users
Users with a year-plus streak Have used Duolingo almost every day for over a year.
over 600 experiments
Streak experiments run in four years Averaging one experiment every other day.
about half
Experiment shutdown rate Of all experiments run are shut down because they lose.
over 10,000 DAUs
Estimated DAU impact of a copy change For a small copy change on the streak goal screen.
23 and a half hours
Practice reminder notification timing After the user practiced the day before.
10 o'clock at night
Streak saver notification timing If the user has not extended their streak.
two streak freezes
Initial streak freezes given to new users Given when a user starts a new streak.
two streak freezes
Optimal number of streak freezes Three streak freezes were found to be no better than two, as more flexibility can train users to take more time off.