What is a login streak? Why losing your streak hurts so much
A login streak is a counter that goes up by one each day you play and falls to zero when you miss a day. It works because of loss aversion: losing something feels worse than gaining the same thing feels good. After a while you open the app to save the number, not because you want to play.
What the game is doing
The mechanic has three parts:
- A counter shows how many days in a row you came back.
- Every day you play, it grows by one.
- Miss one day, and it goes back to zero.
That is all. The counter often has a calendar row, a flame or another icon so you can see it. The longer it gets, the more you have to lose.
Some apps add a safety net. Duolingo has the Streak Freeze, which lets you pause your streak for a day. Learners can equip up to two at a time.
Why it works
The first days are fun because the number grows. Later the novelty fades. Duolingo's own team says this is when the streak taps into "loss aversion," a bias that makes you very averse to losing something you already have. You practice to protect the number.
So the streak does not help you play. It works on you. At 11:59 PM, tired, you do one quick lesson just to keep a big number alive.
Without a streak, one busy Tuesday is just a missed day. Then another. A streak gives you a reason to come back even on a bad day.
Duolingo also reports a link: learners who reach a 7-day streak are 3.6 times more likely to complete their course. This is a correlation. It does not prove the streak causes it.
Real games that use it
- Duolingo. Duolingo is a learning app, not a game, but it is the one streak with official numbers. Source: the Duolingo blog post How the Duolingo streak builds habit by Osman Mansur (31 Jan 2022).
How to use it in your game
A streak is easy to build. The hard part is to keep it fair.
- Show one number that grows daily. Put it where players see it right when they open the game.
- Let players protect it. A freeze or shield that covers a missed day keeps one bad week from killing the habit. Duolingo's blog says letting learners equip up to two freezes raised the relative number of daily active learners.
- Define the day clearly. Say when the day ends and which time zone counts.
- Keep the reset gentle. Show the old best number after a reset so a loss feels less final.
- Do not punish too hard. If a missed day wipes out a huge number, some players quit for good.
void OnOpenApp(DateTime todayUtc) {
int gap = (todayUtc.Date - lastPlayDay.Date).Days;
if (gap == 1) streak++;
else if (gap > 1) {
int missed = gap - 1;
if (freezes >= missed) freezes -= missed; // freeze covers it
else { best = Math.Max(best, streak); streak = 1; }
}
lastPlayDay = todayUtc;
}
FAQ
What is loss aversion?
It is a bias where losing something feels worse than gaining the same thing feels good. Duolingo's team says its streak taps into it.
Do streaks really keep players coming back?
Duolingo says learners with a 7-day streak are 3.6 times more likely to finish the course. That is a link, not proof that streaks cause it.
What is a streak freeze?
It is an item that lets a player skip one day without losing the streak. In Duolingo, learners can equip up to two at a time.
Related: Energy timer ยท Near-miss