Skip to content
Academy
Marketing Academy · Field Work●Human Psychology
MiniAudit· 20 minutes

The Streak Freeze Audit: Reading Duolingo's Loss Aversion Playbook

Duolingo

Objective: Audit Duolingo's real, public streak-loss messaging (in-app notifications, Streak Freeze upsell) and map each element to the lesson's reference-point mechanism.

You're a growth marketer at Duolingo reviewing streak-related messaging before a notification copy refresh.

Use the lesson's reference-point framework to classify each streak message as gain-framed or loss-framed, and check whether the loss it names is real or manufactured.

Before you start

What you'll need

Free path (everything below is enough to finish)

FreeLog and classify each streak message

Free, simple table structure for a short audit

The process

1 step

Step 01 of 01

Reference point shift making inaction feel like a loss

The lesson explains that the brain treats your current state, what you own or have already built, as a reference point. Anything that pulls you below that point registers as a loss, and loss-framed copy taps that reference point directly.

Duolingo sends 'Your 12 day streak is about to end!' rather than 'Practice today to build your streak.' Using the lesson's reference-point framework, why is the first message the stronger lever, and is the loss it names real or manufactured?

Google Sheets— Use the free Duolingo app (or publicly documented screenshots of its notifications) and log observed messages into a sheet.

Procedure

  1. Open the free Duolingo app or find publicly documented screenshots of its streak notifications
  2. Log 3-5 real streak-related messages you can find (in-app banners, push notifications, Streak Freeze upsell)
  3. Classify each as gain-framed ('build your streak') or loss-framed ('your streak is about to end')
  4. For each loss-framed message, verify the loss is real (the user genuinely has an active streak) rather than sent to someone who never had one
Sample output
Streak message log

Message                                          Frame   Reference point named   Real or manufactured?
'Your 12 day streak is about to end!'            Loss    12-day streak            Real, tied to actual usage
'Use a Streak Freeze to protect your streak'      Loss    Existing streak          Real, insurance against a real loss
'Practice today to keep learning!'                Gain    None                     N/A, no reference point named

Healthy

Every loss-framed message names a streak or feature the user has genuinely already earned through real usage.

Unhealthy

Wording implies a loss to a user who never had the feature at all, for example warning a free-tier user about losing a paid-only perk.

What this means

Loss framing is only as strong, and as honest, as the reference point behind it; a real streak makes the frame land, a fabricated one breaks trust.

So what do I do about it?

SymptomActionEffort
Notification opt-outs are risingAudit whether loss-framed messages are being sent to segments who never actually had the referenced feature or streak30 min
YouYou can do this yourself, no engineering access required.

Final deliverable

A classified log of 3-5 real streak or trial messages with gain/loss frame and a real-vs-manufactured verdict for each.

See a reference example
Sample output
Swiggy delivery-streak notification log (excerpt)

Message                                         Frame   Reference point named   Real or manufactured?
'Your 5-order streak resets at midnight!'        Loss    5-order streak           Real, tied to actual order history
'Order now and unlock free delivery!'            Gain    None                     N/A

Success criteria

You're done when you can:

  • Logs at least 3 real streak or trial messages
  • Correctly classifies each as gain or loss framed
  • Correctly flags whether the named loss is real or manufactured