原文:https://growth.design/case-studies/duolingo-user-retention
講到使用者留存,就應該談到 情勒鳥 多鄰國
我自己現在也還有持續在用,它厲害的地方,不只是每天提醒你回來學語言,而是會在不同時機,用不同方式降低你「繼續使用」的心理負擔。
這篇整理了 8 個留存手法,我覺得如果只單看其中一個,可能會覺得只是小技巧,但放在一起看,就很像一整套「怎麼讓使用者願意一直回來」的設計。
案例裡的使用者正準備去阿根廷出差,本來就有「學一點西班牙文」的需求,這時候剛好收到 Duolingo 的 Email,就很容易讓人產生「好,那我現在來學一下」的動機。
這背後其實就是 Internal Trigger 和 External Trigger 的搭配。Internal Trigger 是使用者自己的情境、情緒或需求,External Trigger 則是 Email、推播、廣告這些外部提醒。當兩個剛好對上,行動就比較容易發生。所以我覺得真正有效的通知,不是發得多,而是「剛好出現在有需要的時候」。
使用者打開 Duolingo 時,其實只是想快速上一堂課,但畫面上很多東西很容易分散注意力。這時候 Duolingo 提供了一個很直接的 Shortcut,讓使用者不用研究「我現在到底該選哪一課」,一個按鈕就能直接開始。
我覺得這個設計的重點不是少一個 Click,而是少一次「我要不要做、要做哪個」的猶豫。
尤其是剛回來的使用者,他的動機本來就可能很脆弱。如果一進 App 還要研究半天,很可能最後就直接關掉。
案例裡的使用者隔了一段時間重新回到 Duolingo,發現第一堂課明顯比以前簡單。
這其實是在替「回鍋使用者」設計一條比較簡單的 Happy Path。先讓他順利完成、重新找回信心,而不是一回來就被難題打趴。
這點我自己現在使用 Duolingo 也很有感,而且我覺得它已經做得更進一步。
以前我玩得比較多時,每日任務可能會要求「持續使用 15 分鐘」,但後來每天玩的時間變少,它的任務也會跟著變成只要完成 5 分鐘。我滿喜歡這個設計。因為如果一個人最近已經很忙,系統還一直叫他完成 15 分鐘,很可能最後乾脆連 App 都不打開。反過來,把門檻降到「今天先做 5 分鐘就好」,反而比較容易讓習慣繼續。
我覺得這跟 Lower Difficulty 的概念很像:不是要求使用者永遠維持同樣的投入,而是根據他現在的狀態,給一個比較做得到的下一步。
案例裡,使用者重新回到 Duolingo 後,拿到了 100 Gems。這個獎勵看起來很小,但心理感受差很多。它不是在說「你怎麼這麼久沒來」,而比較像是在說:**「你回來了,很好,送你一點東西。」**這和用罪惡感逼使用者回來很不一樣。對一個中斷很久的人來說,重新開始本來就有壓力,如果第一個感受是責怪,很可能更不想用;但如果先給一點正向回饋,就比較容易重新進入狀態。
每天完成學習,就可以把連續天數一直累積下去。當你已經累積十幾天、幾十天,甚至幾百天後,就會開始捨不得讓它斷掉。其中也帶到 Zeigarnik Effect,也就是人會比較容易記得還沒完成的事情。當畫面一直告訴你「再完成一堂就達成今天的目標」,很容易產生「都差一點了,那就做完吧」的感覺。但 Streak 也有反效果。文章直接提到,Streak 的確能讓人回來,可是一旦中斷,也可能變成使用者離開的原因。辛苦維持 80 天,某一天突然斷掉,很容易產生「算了,都沒了」的感覺。
我自己雖然目前還沒有真的斷過賽,但現在 Duolingo 已經有一些補救機制。像 Streak 中斷後還有機會補回來,League 段位掉下去,也可以用 Gems 把自己買回去。我覺得這種設計滿聰明的。
因為如果留存的目的本來就是讓人繼續使用,那一次失敗就把之前所有努力全部歸零,其實反而可能把人直接推走。
除了 Streak 之外,我自己現在使用 Duolingo 時,還有一個滿有感的地方,就是它會讓你看到其他人的進度。
有些地方可以看到朋友今天有沒有完成學習,獎盃或排行榜也會顯示其他人的排名。平常如果只是自己學,可能會覺得「今天做到這裡就好了」,但一看到熟人就在自己前面,心態很容易突然變成:「蛤,他怎麼比我高?那我再做一課好了。」
這種感覺和 Streak 不太一樣。Streak 是因為不想失去自己累積的紀錄,所以回來;排行榜和朋友進度則是把「別人」放進來,讓學習多了一點比較和競爭。
對我來說,如果排行榜上都是陌生人,可能還沒有那麼強烈,但如果剛好看到認識的朋友,動機真的會明顯變高。
我覺得這種機制有趣的地方是,它把原本很個人的語言學習,變成一件有一點社交感的事情。你不一定真的要跟朋友聊天,但光是知道「他今天做了」、「他現在比我高」,就可能讓自己再多完成一點。
不過從 UX 的角度來看,這種設計也需要拿捏。對喜歡競爭的人來說,排行榜可能很有激勵效果;但對比較不在意排名,甚至容易有壓力的人來說,太強的比較也可能讓學習變得有負擔。
Duolingo 曾經讓使用者拿 50 Gems 去「賭」自己能不能維持 7 天 Streak。一旦自己已經投入 Gems,就會更想把這件事完成。文章提到,這個 Investment Wager 曾讓 Day-7 Retention 提升 14%。這跟單純發獎勵不太一樣。
Welcome Back Reward 是「產品先給你東西」,Sunk Cost 則是「你自己先投入了一點資源」。因為是自己的東西,就會更想守住。我覺得這也是 Duolingo 很會玩的地方:它不是只用獎勵讓你爽一下,而是慢慢讓你對自己的學習進度產生投入感。
一般講 Retention,很容易想到「怎麼讓使用者再多做一點」。再上一堂、再解一題、再點一個功能。但如果使用者明明已經完成 Daily Goal,畫面還是一直塞新的 Lesson、Quiz、Podcast,很容易產生一種「永遠做不完」的感覺。文章因此提出,產品應該讓使用者在某些時刻有明確的完成感:今天做到這裡就可以了,明天再回來。這點我自己現在使用 Duolingo 時也有發現,它已經有加入比較明確的離開點。我覺得這個改變很好。有時候留存不是「今天再榨你 10 分鐘」,而是讓你今天心情不錯地關掉 App,明天還願意再打開。
案例中的使用者後來工作真的太忙,不管 Duolingo 怎麼提醒都沒有回來。最後 App 反而主動告訴他,因為最近一直沒有回應通知,所以會暫停繼續提醒。這點其實滿反直覺的。一個超級重視 Retention 的產品,照理說應該很怕少發一則 Notification。但一直提醒一個根本沒空理你的人,只會讓使用者越來越煩,最後乾脆把通知永久關掉,甚至刪掉 App。所以適時停止通知,其實是在保留未來重新喚回使用者的可能。我覺得這跟 Exit Point 很像。 真正好的留存,不是死抓著使用者不放,而是知道什麼時候該推、什麼時候該讓他休息。
另外有一個我覺得很容易被忽略的地方,是 Duolingo 在進入課程前的 Loading 畫面,會放一些小標語來鼓勵使用者。這個設計本身其實不錯,因為等待的幾秒也可以拿來增加一點互動感,不會讓畫面只是乾等。但問題是,鼓勵如果沒有真的符合使用者情境,就可能反效果。
案例裡就提到,有一段文案帶了一點「你是不是又把時間浪費在社群媒體上」的感覺,但使用者本人其實根本很少用社群媒體。這時候原本想要鼓勵人的一句話,反而會變成:「你根本不了解我,為什麼還要這樣講我?」
這也是文章提到的 User Shaming。用讓使用者產生罪惡感的方式逼他做某件事,通常不是太好的體驗,而且很容易慢慢靠近 Dark UX Pattern。我覺得這點對 PM 和 UX 都滿重要的。
很多產品很喜歡寫這種「有個性」的文案,像是「你今天又偷懶了嗎?」、「少滑一點手機吧」、「別再拖延了」。看起來很有趣,但如果這些話不是建立在真的理解使用者的前提上,就很容易從幽默變成冒犯。所以我會覺得,Retention 文案可以有個性,但不要隨便替使用者下判斷。
比起說:「你又把時間浪費在社群上了吧?」可能改成:「花幾分鐘,完成今天的一小步。」會安全很多。前者是在替使用者定義他的問題,後者只是鼓勵他完成現在的目標。
看完這篇,再加上我自己現在使用 Duolingo 的經驗,我越來越覺得 Retention 不能只看使用時間。
如果以前一天能玩 15 分鐘,現在因為工作忙只剩 5 分鐘,但還是每天願意打開 App,我反而會覺得這是健康的留存。所以如果我是 PM,我會很想多看一個問題:**使用者有沒有維持自己的最低有效習慣?**也就是不一定每天都要做很多,而是還願意穩定回來。
這可能是我看完這篇最有感的一題。短期來看,多上一堂、多解一題,Session Time 一定比較漂亮。但如果每次使用都讓人有「永遠做不完」的感覺,長期可能反而越來越不想打開。
所以我覺得 PM 在做 Retention 時,不能只問:**「怎麼讓使用者再多做一點?」也應該問:「什麼時候該讓使用者安心地離開?」**這看起來好像和 Growth 相反,但其實可能才是真正長期的 Growth。
把這 8 個留存手法放在一起看,我覺得 Duolingo 真正厲害的地方,不是某一個單獨的 Streak、Gem 或 Notification,而是它一直在處理不同階段的使用者心理。
想回來時,用剛好的 Trigger 提醒你;真的打開後,降低開始門檻;太久沒用,就先給簡單一點的內容和 Welcome Back Reward;做到一半時,用 Streak 和投入感讓你想完成;失敗時給補救;今天做完了,也願意讓你休息;真的太忙,甚至連通知都先停下來。
再加上我現在實際使用時觀察到的動態每日任務,我會覺得 Duolingo 的留存思路其實很一致:不是要求每個使用者永遠做更多,而是盡量讓他在不同狀態下,都還覺得「我做得到」。我覺得真正好的 Retention,不是讓人捨不得離開,而是讓人離開之後,還願意再回來。