打開分群報表,鑽石級客戶那一欄有兩千人。行銷部門把預算壓在這兩千人身上,做了一檔專屬優惠,回應率卻低得莫名其妙。後來把名單拉出來一個一個看,才發現裡面有將近三成的人,最後一次消費是在九個月前。
他們的分數確實很高。因為 RFM 算的是一段期間內的累積表現,而這些人在期間的前半段買得很凶。問題是報表沒有告訴你,他們在後半段已經走了。
這不是 RFM 算錯,是我們拿它回答了它回答不了的問題。RFM 擅長回答「誰貢獻最多」,但「誰正在離開」是另一個問題,需要另一套模型。
這篇文章談 NES 模型:它補上了 RFM 的哪一塊、沉睡門檻該怎麼定、以及為什麼真正該追的不是各層的人數,而是人在層與層之間的移動。
RFM 很好用,但它有一個時間上的盲點
先把 RFM 講清楚,才知道 NES 補在哪裡。
RFM 用三個維度給顧客打分:Recency(最近一次消費距今多久)、Frequency(期間內消費幾次)、Monetary(期間內消費多少錢)。三個維度各自切成高低,交叉出八到十幾個群,再依分數排出價值層級。
它的優點很實在。三個欄位都來自交易紀錄,不需要額外埋點,多數電商後台匯出的訂單表就算得出來。而且它給的是一個可排序的分數,行銷人拿到手上馬上知道預算該往哪一群壓。
盲點出在 F 和 M 這兩個維度都是期間累積值。
假設你用「近一年」當計算區間。一位顧客在去年九月到十二月密集買了八次、花了六萬元,之後就沒有再回來。到今年八月做分群時,他的 F 是 8、M 是 60,000,兩個維度都在最高分那一階。R 雖然差,但在多數的加權設計裡,一個差的 R 拉不動兩個滿分。
於是他還是高價值客戶。報表上是,實際上不是。
這個落差會隨著計算區間拉長而放大。區間拉到兩年,一年半前的爆買會一直留在分數裡;區間縮到三個月,數據量又不夠支撐分群。RFM 的分數會慢慢變成一份歷史紀錄,而不是一張現況快照。
延伸閱讀:從 RFM 模型到 Social CRM:用好友生命週期分析讓行銷更精準
NES 換一個問法:這個人現在是什麼狀態
NES 模型出自陳傑豪的《大數據玩行銷》。它不給顧客打分,而是給顧客一個當下的狀態標籤:
- N(New)新顧客:剛完成第一次購買,還沒有進入回購週期
- E(Existing)既有顧客:最近一次消費仍落在正常回購週期內
- S(Sleeping)沉睡顧客:超過回購週期沒有回來,再依沉睡深度分成 S1、S2、S3,S3 最久
差別在時間的處理方式。RFM 看的是「這段期間你做了什麼」,NES 看的是「以你自己的購買節奏來看,你現在是準時還是遲到」。
這個轉換帶來三個實務上的好處。
第一,狀態是互斥的,一個人只會在一個地方。 RFM 的群數多,八到十六群是常態,實際執行時行銷人往往只挑最前面兩三群操作,剩下的群名存實亡。NES 只有五個狀態(N、E、S1、S2、S3),每一個都對應一個明確的動作:N 要促成第二次購買、E 要維持節奏、S1 要趕快接住、S2 要加大力道、S3 要決定還投不投。
第二,門檻是跟著品牌的節奏走的。 一個賣咖啡豆的品牌,回購週期可能是三十天;一個賣床墊的品牌,可能是三年。同樣「四個月沒買」這件事,前者是重度沉睡,後者根本還沒到該回來的時候。RFM 的 R 分位數會自己適應資料分布,但它不會告訴你「這個人已經遲到多久」;NES 的門檻是明確的天數,遲到多久一目瞭然。
第三,狀態會變,變化本身就是訊號。 這是 NES 最有價值的地方,下一節單獨講。
要注意的是,NES 不是 RFM 的替代品。它們回答的是不同層級的問題:RFM 回答資源該分給誰,NES 回答現在該對誰動作。 兩張表並看的品牌,通常會做出比只看一張表更精準的判斷——用 RFM 找出高貢獻的那一群,再用 NES 檢查這群人裡面有多少正在往沉睡移動。開頭那個「鑽石級客戶回應率很低」的案例,其實就是這兩張表沒有並看的結果。
沉睡門檻不能抄別人的,要用自己的回購週期算
NES 有一個門檻,這個門檻定錯了,後面所有數字都會失真。
常見的錯誤是拿一個聽起來很合理的數字直接用——九十天沒買就算沉睡。這個數字對某些品類剛好,對多數品類都不對。
正確的做法是先算出整體回購週期中位數:把每一位有兩次以上消費紀錄的會員,前後兩次消費的間隔天數列出來,取中位數。取中位數不取平均數,是因為少數幾筆間隔三年的紀錄會把平均值拉得很誇張。
拿到中位數之後,門檻的設計邏輯大致是這樣:
- E:最近一次消費在一個回購週期內
- S1:超過一個週期、但還在兩個週期內
- S2:超過兩個週期、但還在三個週期內
- S3:超過三個週期
以回購週期中位數 45 天為例,E 是 45 天內、S1 是 46 到 90 天、S2 是 91 到 135 天、S3 是 136 天以上。倍數關係可以依品類調整,重點是這幾個門檻要能對應到你自己的商業直覺——S1 是「這個人有點晚了」,S3 是「這個人大概已經在別的地方買了」。
兩件事要提醒。
同一個品牌可能需要不只一組門檻。 如果你同時賣消耗品和耐久品,用同一組天數去分,耐久品的買家會被大量誤判成沉睡。實務上會依主要品類或會員等級分別定義,再合併呈現。
門檻一旦定了就不要頻繁改。 NES 的價值來自跨期比較,這一期的 S1 人數要跟上一期的 S1 人數比才有意義。門檻改了,整個歷史數列就斷掉了。要調整的話,把調整前後的資料分開看,不要混在同一條趨勢線上。
延伸閱讀:剖析 LTV 顧客生命週期五階段:Social CRM 精準分眾行銷,拉高顧客終身價值
真正該看的是狀態轉移,不是各層人數
這一節是整篇的重點。
多數品牌把 NES 做出來以後,看的是一張圓餅圖:N 佔多少、E 佔多少、S1 到 S3 佔多少。這張圖有用,但它是靜態的。看三個月都差不多,就會覺得「這個模型好像沒什麼用」。
問題不在模型,在看法。NES 的資訊量不在各層的人數,在人從哪一層移動到哪一層。
把上一期的狀態當列、這一期的狀態當欄,交叉出一張矩陣,對角線是維持原狀態的人,對角線以外才是故事。這張矩陣裡有四個數字值得每個月固定追。
N→E 轉換率:首購之後留不留得住
算法是:期間內從 N 轉成 E 的人數,除以期初的 N 人數。
這個數字衡量的是首購客願不願意回來買第二次。它是所有成長槓桿裡最關鍵的一個,因為 N 是唯一會被廣告預算直接推高的狀態——花錢就會有新客——但如果 N→E 一直很低,那些錢等於只是租來一次交易。
搭配看平均首購至回購間隔(首購日到第二次消費日的天數)會更清楚。如果這個間隔明顯長於整體回購週期中位數,代表新客的第二次購買是被拖延的,歡迎旅程的節奏可以往前拉。
E→S1 惡化率:主力客正在流失的第一個訊號
算法是:期間內從 E 掉到 S1 的人數,除以期初的 E 人數。
這是整張矩陣裡最該被設成警示的數字。E 是現在真正在貢獻營收的那群人,他們掉出去,營收的反應會慢好幾個月才出現。等到營收曲線下彎才發現,中間已經浪費了一整季。
E→S1 惡化率的用法是看趨勢不看絕對值。每個品牌的水位都不同,重要的是這個月比上個月高還是低。連續兩個月上升,就該去查是不是某個品項缺貨、某個門市服務出了問題、或是競品剛做了一波。
S1、S2 喚醒率:驗證喚醒活動到底有沒有效
算法是:期間內從該沉睡層轉回 E 的人數,除以期初該層的人數。
分層算很重要。把 S1 到 S3 加在一起算一個總喚醒率,會得到一個沒有行動指向的數字——因為三層的難度天差地遠。分開算才看得出來,你的喚醒活動是只對記憶還新的人有效,還是真的能把深度沉睡的人拉回來。
這也是做 A/B 驗證最乾淨的地方:同一層的人,發不同力道的優惠,比較轉回 E 的比例。優惠力道該給多少,用喚醒率除以成本來決定,比憑經驗抓一個折扣數字可靠得多。
S1→S2、S2→S3 惡化:沒接住的人往下掉的速度
這兩個數字是喚醒率的反面。它告訴你,這一期有多少人不但沒被喚醒,還往更深的地方掉。
沉睡層的人數看起來持平的時候,往下掉和被喚醒可能剛好互相抵銷。只看人數會誤判成「沒有變化」,看轉移才知道底下正在同時發生兩件相反的事。

為什麼 S1 該最先處理
如果只能挑一件事做,做 S1。
理由不是 S1 人多,而是 S1 的人對品牌還有記憶。他們剛超過回購週期不久,上一次消費的體驗還記得,收到訊息知道你是誰。喚醒他們需要的說服力,比說服一個一年沒買的人低得多。
反過來說,S3 的喚醒成本高在兩個地方。第一,優惠力道要下得重才有反應,重到某個程度就變成賠本;第二,他很可能已經在別的品牌建立了新的購買習慣,你要打斷的不只是遺忘,是另一段關係。
實務上會看到品牌把召回預算大量放在 S3——因為 S3 的名單最長,做起來最有感。但名單長不等於機會多,那份長名單裡有相當比例的人已經不在市場上了。
還有一個時機問題。多數品牌的喚醒是季度活動制的:季末盤點,發現沉睡客變多,排一檔召回。這個節奏的問題是,等到季末,這一季掉出去的 S1 已經有一部分往 S2 移動了。
比較好的做法是把喚醒做成常態機制。定義好觸發條件(跨過 S1 門檻),設定好訊息,讓它自己跑。這件事的技術門檻沒有想像中高,難的是先把門檻和訊息定義清楚。
延伸閱讀:B2C 的自動化行銷不等於「廣撒優惠券」!設計觸發門檻才能發揮真正價值
從追著跑,到提前接住
NES 還有一個很少被用到的算法,但它是整套模型裡最能改變工作方式的一個。
既然每位會員都有「最近一次消費日」和「所屬的回購週期」,那就可以往前推算:哪些人會在未來七天內跨過沉睡門檻。
這份名單的意義是介入時機整個往前挪。原本的流程是「他已經沉睡了,我來追」,變成「他快要沉睡了,我先接住」。同一個人、同一則訊息,發在跨過門檻之前和之後,效果不一樣——之前他還在自己的購買節奏裡,訊息像提醒;之後他已經進入另一個狀態,訊息變成召回。
而且提前介入的成本結構完全不同。不需要下重折扣,一則補貨提醒、一個新品通知、或是單純的使用建議就可能有效。優惠是用來克服抗拒的,還沒產生抗拒的時候不需要花這筆錢。
要做到這件事,需要三樣東西:每位會員的最近消費日(交易資料)、該會員或該品類的回購週期(算出來的)、以及一個能定期跑這個計算並把名單推到執行端的機制。前兩樣多數品牌手上都有,卡住的通常是第三樣——名單算得出來,但沒有辦法自動流到發送工具裡,最後變成每個月人工匯出一次 Excel,跑兩個月就沒人跑了。
NES 和會員等級不要互相取代
這是實際導入時最常見的混淆。
會員等級(銀卡、金卡、鑽卡)是用累積貢獻分群,回答的是「這個人對品牌的總價值有多高」。它決定權益設計、決定資源分配的優先順序,而且對顧客是可見的、有榮譽感的。
NES 是用消費行為的時間位置分群,回答的是「這個人現在的狀態如何」。它決定要不要動作、什麼時候動作,而且通常對顧客不可見。
兩者互補而不重疊。同一個人可以是「鑽卡 + S2」——累積貢獻很高,但已經兩個回購週期沒有回來。這個組合是所有格子裡最該被優先處理的,因為損失的金額最大。但只看等級表,他躺在鑽卡那一列,看起來安然無恙;只看 NES,他混在 S2 那一堆人裡,看不出他值多少錢。
等級看不出動態變化,NES 才看得到誰正在離開。 反過來,NES 也看不出誰值得投多少資源。兩張表交叉,才有一份可以直接執行的優先清單。
實務上會建議做一張「等級 × NES 狀態」的交叉表,每個月看一次。格子不多,五個狀態乘三到四個等級,但它是我們看過最能促成內部行動的一張表——因為每一格都能直接寫出一句該做什麼。
導入 NES 之前,先確認三件資料
NES 的算式不複雜,導不進去的原因幾乎都在資料端。
第一,交易紀錄要能歸戶到人。 NES 的每一個狀態都建立在「這個人的上一次消費是什麼時候」,所以會員 ID 和交易紀錄必須對得起來。如果門市 POS 的消費沒有記到會員身上、或是電商和 LINE 的會員是兩套 ID,那算出來的最近消費日會偏早,一堆實際上還在買的人會被誤判成沉睡。
這件事要在算指標之前處理好。順序反過來的話,得到的是一份看起來很專業、但方向錯誤的名單,比沒有還糟。
第二,交易明細要到品項層級。 只有訂單金額算不出品類的回購週期,也就沒辦法針對消耗品和耐久品分別定義門檻。品號如果沒有統一、分類有缺漏,這一段會直接失真。
第三,要有一個能承接名單的執行端。 名單算出來要能流到發送工具,而且是自動流。這決定 NES 是一份月報,還是一個真的會改變顧客行為的機制。
延伸閱讀:零售業的「自動化會員忠誠旅程」是什麼?從實體門市到線上通路的整合邏輯
延伸閱讀:CRM、DMP和CDP差在哪?數據行銷必修入門課!5分鐘一次看懂
喚醒的渠道選擇:先看他在哪裡
門檻定好、名單算出來,最後一步是發出去。渠道的選擇在台灣有一個很現實的前提。
Nielsen《2024 LINE 使用行為調查》指出,72% 的消費者會在購物前用 LINE 查找資訊,包括加入品牌官方帳號確認優惠券、集點活動與會員點數回饋。這代表對多數消費品牌來說,LINE 是沉睡客最可能還留著的接觸點——email 可能已經不看了,簡訊可能已經被當成廣告,但官方帳號通常還在好友清單裡。
不過 LINE 有一個成本結構上的特性:推播是計費的,而且沉睡客的封鎖風險比 E 客高。所以對 S3 這種喚醒率低的族群,全量推播不見得划算。比較合理的做法是把 LINE 留給 S1 和 S2,S3 用成本更低的方式測試水溫,有反應再投入。
這也是為什麼分層算喚醒率會直接影響預算配置。三層合在一起算一個平均值,就沒辦法做這種判斷。
現在可以立刻開始的三件事
- 算出你的整體回購週期中位數,然後用它去推 S1、S2、S3 的天數門檻。不要沿用聽來的九十天。這一步只需要訂單表,一個下午就能算完。
- 把上一期和這一期的 NES 狀態拉出來做一張轉移矩陣,先看兩個數字:N→E 轉換率和 E→S1 惡化率。前者告訴你成長的品質,後者是流失的早期警訊。
- 檢查你的交易紀錄能不能歸戶到人,特別是門市 POS 和線上訂單是不是同一個會員 ID。如果不能,先解決這件事,NES 算出來會失真。
常見問題
NES 模型是什麼?
NES 把顧客依「當下的購買狀態」分成三類:N 是剛完成首購的新顧客,E 是消費仍落在正常回購週期內的既有顧客,S 是超過回購週期沒回來的沉睡顧客。它出自陳傑豪的《大數據玩行銷》,特點是給狀態標籤而不是給分數。
NES 和 RFM 差在哪?
RFM 算的是一段期間內的累積表現,所以半年前爆買、最近三個月消失的人分數仍然很高。NES 看的是「以這個人自己的購買節奏來說,他現在是準時還是遲到」。RFM 回答資源該分給誰,NES 回答現在該對誰動作,兩張表並看才完整。
沉睡客的天數門檻怎麼定?
用你自己的整體回購週期中位數推算,不要沿用聽來的九十天。把每位有兩次以上消費紀錄的會員、前後兩次消費的間隔天數取中位數,然後 E 是一個週期內、S1 是一到兩個週期、S2 是二到三個、S3 是超過三個。
S1、S2、S3 差在哪?為什麼要先處理 S1?
差別是沉睡的深度,S3 最久。先處理 S1 是因為他們剛超過回購週期不久,對品牌還有記憶,喚醒需要的說服力最低。S3 要下重折扣才有反應,而且那個人很可能已經在別的品牌建立了新的購買習慣。
把狀態算出來,還要讓它自己更新
NES 的門檻定義和轉移矩陣,愛酷在協助客戶建置會員數據中心時,會做成儀表板的固定一頁,跟會員分層、回購週期、渠道成效放在同一份報表裡看。
底層由 AccuCDP 負責把 LINE、電商、POS、活動等不同來源的顧客資料歸戶到同一個 ID,讓每一位會員的「最近一次消費日」是完整的,而不是只看得到其中一個渠道;AccuNIX 則負責把算出來的名單接回 LINE 端,讓「未來七天可能轉為沉睡」這類名單能直接觸發旅程訊息,不用每個月人工匯出。
如果你已經在用 RFM,但一直覺得報表和實際感受有落差,可以從算出自己的回購週期中位數開始。想討論 NES 的門檻該怎麼定,或看實際的狀態轉移儀表板長什麼樣子,歡迎與我們聯繫。

