4 層推播通知疲勞模型

推播通知是讓你失去使用者最廉價的方式。每天 1 則推播時,留存曲線看起來還不錯——來自 Localytics 與 Urban Airship 的產業數據集中在約 88%的 3 個月留存率。每天 3 則推播時,曲線會下滑 17 個百分點。每天 5 則推播時,更會下滑 34。這條曲線陡峭且無法逆轉:當一款 app 每週傳送 2 到 5 則使用者不想要的推播時,有 46%的使用者會完全關閉推播。

Soulwise 的對策是一套 4 層疲勞模型。它會在滾動的 14 天區間內偵測開啟率的衰退,並在使用者徹底關閉推播之前,逐步降低通知數量。

這篇文章會帶你了解它的設計、各項門檻,以及恢復邏輯。

4 個層級

這個狀態機很精簡。每位使用者在同一時間只會處於 1 個層級。

  • T0 — 健康。 完整排程。早晨儀式提示、上午的情境提醒、晚間反思,再加上以事件為錨點的提示。
  • T1 — 降級。 上午的情境提醒暫停,其餘照常進行。
  • T2 — 僅保留錨點。 只保留早晨儀式提示與週日回顧,所有非必要的推播都暫停。
  • T3 — 僅保留每週。 只留下單一的每週推播,每日節奏暫停。

順序很重要。上午提醒最先被取消,因為它承載的事件權重最低:它只是情境提醒,並非每日儀式本身。早晨提示則保留最久,因為以事件為錨點的每日推播,留存率約為一般推播的 2.85 倍;取消它,等於毀掉整個 app。

什麼會觸發分層變動

系統會以每位使用者滾動的 14 天開啟率資料為依據。模型每天檢視最近 14 天,計算使用者在這段期間收到的推播通知開啟率。

Soulwise 的門檻是相較使用者個人基準線出現 30% 的開啟率衰退。如果某位使用者平時會開啟 60% 的推播,而滾動視窗內降到 42% 或更低,模型就會將他往下調一層。這個下滑必須持續至少 3 天,以免只因單一一週狀況不佳(度假、生病、工作特別忙碌)就做出反應。

升級的判定方式對稱。如果某位使用者目前在 T2,而開啟率連續 3 天回升到超過基準線減去 30% 門檻的水準,就會升回 T1。要回到 T0 也是同樣的步驟。

為什麼以事件為錨點的推播能存活最久

驅動這項設計的關鍵數據來自 Localytics/Urban Airship:以事件為錨點的每日推播,留存率大約是一般每日推播的 2.85 倍。在凌晨 9 點推送一句通用的「快來看看我們吧!」很容易被忽略。而一則錨定於今天實際週期階段的早晨提示(「溫和的開始。你今天有什麼安排?」)就是以事件為錨點——因為它帶有新資訊。

T2 之所以保留早晨提示,是因為移除它就等於移除了整個每日儀式。App 中的其他一切,都是圍繞著使用者早上登入一次、晚上登入一次而打造的。少了這則提示,整個循環就會中斷。

疲勞橫幅的使用者體驗

當使用者被降級時,下次開啟 App 時,畫面內會出現一個小橫幅:

「我們已經暫緩了 7 天──要重新開啟嗎?」

這句話做了 3 件事:它承認了改變、把原因歸於 App 的行為(而非使用者的失敗),並把選擇權交還給你。如果想重新收到通知,使用者只要輕點一下,就能取消降級。

這之所以重要,是因為無聲的降級會讓人覺得 App 拋棄了使用者,而明說出來的降級,則讓人感受到 App 的用心。同樣的動作,不同的呈現方式。

我們刻意不做的反模式

產品規格明確列出哪些做法是禁止的:

  • 不使用「別中斷你的連續紀錄」的罪惡感推播。 連續紀錄是利用損失趨避來羞辱使用者。疲勞模型會降階使用者,而不是羞辱他們。
  • 不在 T3 結束時發送「我們想你了」的回流推播。 處於 T3 的使用者,已經在向 App 傳達某種訊息。再加更多推播是錯誤的回應。
  • 不在推播內文使用假計數器或稀缺感。 「剛剛有 X 人註冊」是暗黑模式的把戲,而不是通知。
  • 不在推播標題或內文放入經期或占星內容。 推播會經過 CI lint 檢查,凡是包含禁止模式的版本都會被拒絕;疲勞模型絕不會繞過這道關卡。

系統內部的資料實際長什麼樣子

模型用 3 個欄位來儲存每位使用者的狀態:

tier: 'T0' | 'T1' | 'T2' | 'T3'
rolling_open_rate_14d: 0.0 to 1.0
baseline_open_rate: 0.0 to 1.0 (computed from first 30 days)
last_tier_change_at: timestamp

這就是整個疲勞狀態的全貌。沒有瀏覽紀錄,除了開信率之外沒有任何互動評分,也沒有針對使用者訓練的機器學習模型。這份簡單正是重點所在:規則可被稽核、門檻有明文記載、對使用者體驗的影響也能預期。

這不是什麼

關於範圍的說明。

疲勞模型是針對每位使用者,而非每個群組。我們不會去看「和你類似的使用者」,也不會進行那種把使用者降權、藉此研究留存率的實驗。這個模型服務的是個人。

它也不會取代由使用者掌控的設定。安靜時段、分類靜音,以及明確的「全部停用推播」,都獨立於疲勞模型之外運作。這 2 套系統相互搭配;使用者的明確選擇,永遠優先於模型的推測。

為什麼這件事對整個 App 都很重要

推播通知,是讓每日儀式能夠「天天延續」的關鍵。一個簽到型 App 一旦失去推播權限,就等於失去了主要的留存循環。4 階層的模型之所以存在,就是為了讓 App 不濫用這項權限、不至於以最緩慢的方式失去它——也就是只要稍微惱人、持續夠久就會發生的那種失去。

更完整的每日儀式脈絡,請見 Soulwise 中心頁。疲勞模型正是其中一環,讓這份儀式維持互惠,而不是一味索求。

簡短版本是這樣:推播的理想次數,就是不會導致使用者退訂的最大次數。而疲勞模型,正是 App 用來為每位使用者、每 14 天找出那個數字的方法。

常見問題

試試我們的免費工具

依據你的本命盤,獲得專屬於你的洞察

分享這篇文章