客戶分群實戰:以 Grab 為例打造精準用戶策略

2025-03-15·17 分鐘
Customer SegmentationK-MeansRFMPythonGrowth

客戶分群(Customer Segmentation)是資料科學在商業場景中最直接、最高 ROI 的應用之一。它讓你把「所有用戶一視同仁」的粗放策略,升級為「不同群體、不同對待」的精準打法。本文以東南亞超級應用 Grab 為例,從商業思維出發,完整拆解客戶分群的策略框架。

注意:文中所有數據皆為假設,僅供說明分析方法使用。Grab 的實際業務數據未公開。

什麼是客戶分群?

客戶分群是把用戶依照行為、屬性或價值的相似度,劃分成若干個有意義的群體。每個群體內部的用戶盡量相似,群體之間盡量不同。

                    所有用戶(100%)
                         │
        ┌────────────────┼────────────────┐
        ▼                ▼                ▼
   ┌─────────┐     ┌─────────┐     ┌─────────┐
   │ 高價值  │     │ 成長型  │     │ 沈睡型  │
   │  用戶   │     │  用戶   │     │  用戶   │
   │  15%    │     │  45%    │     │  40%    │
   └─────────┘     └─────────┘     └─────────┘
        │                │                │
    VIP 計畫         交叉銷售         喚醒活動
   專屬客服          升級引導        低成本觸達

核心理念很簡單:不是每個用戶都值得同等投入。把資源集中在最有價值、最有成長潛力的群體,整體 ROI 自然提升。

分群 vs. 個體化

維度 分群(Segmentation) 個體化(Personalization)
粒度 群體(數千~數十萬人) 個人
複雜度 中等 高(需要推薦系統)
適用場景 行銷策略、產品規劃、定價 推薦、動態定價、個人化推播
數據需求 中等 大量即時行為數據
落地速度 快(1-2 週可產出) 慢(需要完整 ML pipeline)

實務建議:先做分群,再做個體化。分群是 80/20 法則的最佳實踐 — 用 20% 的複雜度,抓住 80% 的業務價值。

業務價值

  • 行銷效率:針對高價值用戶加大投入,低活躍用戶用低成本觸達
  • 產品決策:不同群體有不同需求,功能優先級因此不同
  • 留存策略:識別流失風險群體,提前介入
  • 定價策略:不同群體的價格敏感度不同

為什麼選 Grab?

Grab 是東南亞最大的超級應用,業務涵蓋叫車(GrabCar)、外送(GrabFood)、支付(GrabPay)、生鮮配送(GrabMart)與金融服務(GrabFinance)。

┌─────────────────────────────────────────────────────┐
│                   Grab 超級應用                      │
│                                                     │
│   🚗 GrabCar    🍔 GrabFood    💳 GrabPay          │
│   叫車/機車      外送平台        電子支付            │
│                                                     │
│   🛒 GrabMart   🏦 GrabFinance                     │
│   生鮮雜貨       借貸/保險                           │
│                                                     │
│   ─────────────────────────────────────────────     │
│   同一個用戶可能同時使用 3-5 條業務線               │
│   → 行為組合豐富 → 分群價值更高                     │
└─────────────────────────────────────────────────────┘

一個用戶可能週一通勤叫 GrabCar、午餐叫 GrabFood、週末用 GrabMart 買菜、全程用 GrabPay 付款。這種多業務線交叉行為讓分群更有挑戰,也更有商業價值 — 你不只看單一行為,而是看用戶在整個生態系統中的角色。

分群的完整流程

┌──────────┐   ┌──────────┐   ┌──────────┐   ┌──────────┐   ┌──────────┐
│ 商業目標 │ → │ 數據準備 │ → │ 選擇方法 │ → │ 結果解讀 │ → │ 落地執行 │
│ 定義      │   │ 特徵工程 │   │ 建模分群 │   │ Persona  │   │ 策略行動 │
└──────────┘   └──────────┘   └──────────┘   └──────────┘   └──────────┘
     ▲                                                            │
     └────────────────── 定期迭代(每月/每季) ──────────────────┘

很多團隊犯的錯誤是直接從「選擇方法」開始。但分群的起點是商業目標。你是想優化行銷預算分配?提升留存率?還是找到交叉銷售機會?目標不同,特徵選擇和分群策略就不同。

Step 1:定義商業目標

以 Grab 為例,常見的分群目標:

目標 關鍵問題 分群重點
行銷預算優化 哪些用戶值得更多投入? 以價值(消費金額、頻率)為核心
留存提升 哪些用戶快流失了? 以活躍度變化為核心
交叉銷售 只用叫車的用戶能導入外送嗎? 以業務線使用組合為核心
新客培育 新用戶從試用到忠誠的路徑? 以用戶生命週期為核心

本文目標:幫 Grab 找到不同業務線的用戶行為組合,制定跨業務線的交叉銷售策略。

Step 2:數據準備與特徵設計

可用數據源

┌──────────────────────────────────────────────────────────┐
│                    Grab 數據全景                          │
├──────────────┬──────────────┬──────────────┬────────────┤
│  叫車數據    │  外送數據    │  支付數據    │  用戶屬性  │
├──────────────┼──────────────┼──────────────┼────────────┤
│ 訂單數       │ 訂單數       │ 交易次數     │ 註冊天數   │
│ 總花費       │ 總花費       │ 交易總額     │ 城市       │
│ 最近訂單     │ 最近訂單     │ 線上/線下    │ 設備類型   │
│ 常用路線     │ 偏好菜系     │ 充值頻率     │ 推薦來源   │
│ 平均距離     │ 平均客單價   │ 綁卡狀態     │ 會員等級   │
└──────────────┴──────────────┴──────────────┴────────────┘

特徵設計原則

原始數據不能直接拿來分群。好的特徵設計決定了分群的品質。

原則一:反映業務意義

不要用「過去 6 個月 GrabFood 訂單的標準差」這種數據科學家懂但業務團隊看不懂的特徵。好的特徵應該是:

  • ✅ 總訂單數(活躍度)
  • ✅ 總花費金額(價值)
  • ✅ 最近一次活躍距今天數(流失風險)
  • ✅ 叫車佔比 vs. 外送佔比(業務線偏好)
  • ✅ 平均客單價(消費水平)
  • ✅ GrabPay 使用率(生態黏著度)

原則二:時間窗口要一致

所有特徵應基於相同的時間窗口(例如過去 6 個月),否則比較沒有意義。

原則三:處理極端值

少數極端用戶(企業帳號、測試帳號、API 用戶)會嚴重扭曲分群結果。建群前需要做截尾處理(Winsorize)或移除。

Step 3:選擇分群方法

方法論比較

方法 原理 優點 缺點 適用場景
RFM 按最近消費、頻率、金額三維度打分 簡單直觀、無需建模 只看交易行為、維度固定 快速分群、電商
K-Means 最小化群內距離 速度快、可擴展 需預設群數 K、對異常值敏感 通用場景、大數據量
DBSCAN 基於密度的聚類 自動決定群數、能找異常值 參數敏感、高維效果差 異常檢測、不規則分布
Hierarchical 層次合併/分裂 可視化樹狀圖 計算量大 小數據集、探索性分析
LTV-based 按客戶生命週期價值分層 直接對應商業價值 需要 LTV 預測模型 訂閱制、高客單價

推薦策略:RFM 先行 + K-Means 深入

┌─────────────────────────────────────────────────────────────┐
│                    分群策略選擇路徑                          │
│                                                             │
│   第一週:RFM 快速分群                                      │
│   ├── 3 個維度:最近消費 × 頻率 × 金額                      │
│   ├── 每個維度分 5 等份,組合成分群標籤                     │
│   ├── 產出:Champions / Loyal / At Risk / Hibernating       │
│   └── 目的:建立直覺,讓團隊先有東西討論                    │
│                                                             │
│   第二週:K-Means 多維分群                                  │
│   ├── 8+ 個維度:加入業務線偏好、支付行為、用戶屬性         │
│   ├── 用 Elbow Method + Silhouette Score 選最佳 K           │
│   ├── 產出:更精細的 5-7 個群體                             │
│   └── 目的:發現 RFM 看不到的隱藏模式                       │
│                                                             │
│   第三週:翻譯成 Persona + 制定策略                         │
│   ├── 每個群體命名、建立用戶畫像                            │
│   ├── 每個 Persona 配一套行動方案                           │
│   └── 目的:讓業務團隊能直接執行                            │
└─────────────────────────────────────────────────────────────┘

Step 3a:RFM 快速分群

RFM 是最經典的客戶分群框架,三個維度:

  • R(Recency):最近一次消費距今多久?越近越好。
  • F(Frequency):消費頻率多高?越高越好。
  • M(Monetary):消費金額多少?越高越好。

RFM 在 Grab 的應用

              高頻率 (F)
                ▲
                │
   At Risk      │    Champions
   很久沒來     │    最近買、常買、花很多
   但以前常買   │    → VIP 計畫
                │
   ─────────────┼──────────────→ 近期活躍 (R)
                │
   Hibernating  │    New Customers
   沈睡用戶     │    最近才來、頻率低
   已流失       │    → 新客培育
                │

將用戶在 R、F、M 三個維度各分成 5 等份(1-5 分),然後根據分數組合分配標籤:

分群 R 分數 F 分數 M 分數 行動方案
Champions 4-5 4-5 4-5 獎勵忠誠、VIP 待遇
Loyal Customers 3-5 3-5 3-5 升級體驗、交叉銷售
New Customers 4-5 1-2 引導第二次消費
At Risk 1-2 3-5 3-5 喚回活動、調查流失原因
Hibernating 1-2 1-2 1-2 低成本觸達或放棄

RFM 的侷限

RFM 簡單有效,但有明顯限制:

  1. 只看交易行為:忽略了用戶的業務線偏好、支付行為等維度
  2. 分群邊界是人為設定的:閾值的選擇影響結果
  3. 無法發現隱藏模式:只能在 R/F/M 三維空間內分群

這就是為什麼我們需要 K-Means。

Step 3b:K-Means 多維分群

K-Means 能在任意多維空間中找到自然的群體邊界。

核心概念

  Step 1                Step 2                Step 3
  隨機選 K 個中心點      每個用戶歸到最近的     重新計算中心點
                         中心點
  ·    ·  ★             ·····  ★              ·····  ★
     ·  ·                ····                  ····
  ·   ·                ·····                 ·····
           ·  ★              ·····  ★              ·····  ★
        ·  ·                  ····                  ····
     ·    ·                ·····                 ·····

                    重複 Step 2-3 直到收斂

演算法會自動把相似的用戶聚在一起,不需要人為設定閾值。

關鍵決策:選擇 K 值

K 太少(例如 2-3):群體太粗,無法區分細緻差異 K 太多(例如 15+):群體太碎,業務團隊無法為每個群體制定策略

實務上的最佳平衡點通常在 K = 4~7

兩種輔助工具:

方法 原理 怎麼看
Elbow Method 繪製不同 K 值對應的群內距離總和 找曲線「手肘」轉折點
Silhouette Score 衡量每個用戶與自己群體的緊密度 vs. 與其他群體的分離度 分數越高越好(0-1)

K-Means 在 Grab 的應用

輸入 8 個特徵維度:

┌─────────────────────────────────────────────┐
│              K-Means 輸入特徵                │
├─────────────────────┬───────────────────────┤
│ 活躍度特徵          │ 業務偏好特徵          │
│ • 總訂單數          │ • 叫車佔比            │
│ • 總花費金額        │ • 外送佔比            │
│ • 最近活躍天數      │ • GrabPay 使用率      │
│ • 平均客單價        │ • 帳號年齡            │
└─────────────────────┴───────────────────────┘
                      │
                 ┌────┴────┐
                 │ K-Means │
                 │  K = 5  │
                 └────┬────┘
                      │
        ┌─────┬───────┼───────┬─────┐
        ▼     ▼       ▼       ▼     ▼
      群體1  群體2   群體3   群體4  群體5

重要提醒:K-Means 對特徵尺度敏感。花費金額範圍可能是 0-5000,而叫車佔比範圍只有 0-1。必須先做標準化,確保每個維度對距離的貢獻相當。

Step 4:多業務線交叉分群 — Grab 的核心價值

這是超級應用場景的獨特優勢。單一業務線的公司只能看一個維度,但 Grab 可以同時分析用戶在叫車、外送、支付三條線上的行為組合。

業務線活躍度矩陣

                         外送活躍度
                    低        中        高
              ┌─────────┬─────────┬─────────┐
         高   │ 通勤族  │ 均衡型  │ 超級用戶│
叫車          │ Commuter│ Balanced│ Super   │
活躍度   中   │ 輕度叫車│ 一般用戶│ 外送偏好│
              │         │ Moderate│ leaning │
         低   │ 沈睡    │ 宅家    │ 外送族  │
              │ Light   │ 外送族  │ Food    │
              │ User    │         │ Lover   │
              └─────────┴─────────┴─────────┘

再疊加 GrabPay 使用率,就能更精準地識別用戶角色。

Step 5:Persona 建立與落地策略

把分群數字翻譯成業務語言,這是分群能否落地的決定性環節

Grab 七大 Persona

┌─────────────────────────────────────────────────────────────┐
│  Persona          │ 行為特徵              │ 估計佔比       │
├───────────────────┼───────────────────────┼────────────────┤
│ 🌟 Super User     │ 叫車+外送+支付全高   │     ~8%        │
│ 🚗 Commuter       │ 叫車高、外送低         │    ~15%        │
│ 🍔 Food Lover     │ 外送高、叫車低         │    ~20%        │
│ 💳 Pay Power User │ 支付高、訂單少         │    ~12%        │
│ ⚖️ Balanced User  │ 各業務線均衡使用       │    ~18%        │
│ 💡 Light User     │ 所有業務線都低         │    ~15%        │
│ 📊 Moderate User  │ 中度使用、無明顯偏好   │    ~12%        │
└───────────────────┴───────────────────────┴────────────────┘

每個 Persona 的策略藍圖

Super User(超級用戶)— 佔比 ~8%,貢獻 ~30% 營收

┌─ 目標:留存 + 提高 ARPU ─────────────────────────────────┐
│                                                           │
│  策略:                                                   │
│  • VIP 計畫(專屬客服、優先派車、免運費門檻降低)         │
│  • 跨業務線訂閱包(叫車 + 外送月費方案,$29.9/月)       │
│  • 驚喜與感謝(生日優惠、里程碑獎勵)                    │
│                                                           │
│  風險:一旦流失損失極大,需要專人監控活躍度變化           │
│  KPI:月活留存率 > 95%、ARPU 季增長 > 5%                 │
└───────────────────────────────────────────────────────────┘

Commuter(通勤族)— 佔比 ~15%

┌─ 目標:交叉銷售外送 ──────────────────────────────────────┐
│                                                           │
│  洞察:每天通勤叫車,但很少用外送。                       │
│        可能的原因:不知道 GrabFood 的便利性               │
│                                                           │
│  策略:                                                   │
│  • 「下班順路叫外送」情境推播                             │
│  • 午餐時段 GrabFood 首單 50% 折扣                       │
│  • 叫車完成後彈出「順便帶份晚餐?」推薦                  │
│                                                           │
│  KPI:外送啟用率、外送轉換後 30 天留存                    │
└───────────────────────────────────────────────────────────┘

Food Lover(宅家外送族)— 佔比 ~20%

┌─ 目標:交叉銷售叫車 + 提升 GrabPay ──────────────────────┐
│                                                           │
│  洞察:高頻外送用戶,幾乎不叫車。                        │
│        可能是遠端工作者或在家工作。                       │
│                                                           │
│  策略:                                                   │
│  • 週末出遊叫車折扣(「週末出去走走?首趟 $3 off」)     │
│  • GrabPay 外送回饋加碼(用 GrabPay 付外送額外 5% 回饋) │
│  • GrabMart 交叉推薦(「叫完午餐,順便補貨?」)         │
│                                                           │
│  KPI:叫車啟用率、GrabPay 綁定率                          │
└───────────────────────────────────────────────────────────┘

Pay Power User(支付族)— 佔比 ~12%

┌─ 目標:導入交易業務 ──────────────────────────────────────┐
│                                                           │
│  洞察:主要用 GrabPay 做日常支付(便利商店、餐廳),      │
│        但很少叫車或外送。金融黏著度高。                   │
│                                                           │
│  策略:                                                   │
│  • GrabPay 專屬叫車/外送折扣(「用 GrabPay 付款省 15%」)│
│  • 消費達標送乘車券(「本月 GrabPay 消費滿 $200 送 $5」)│
│  • GrabFinance 產品推薦(信用額度、保險)                 │
│                                                           │
│  KPI:訂單啟用率、GrabPay 交易量增長                      │
└───────────────────────────────────────────────────────────┘

Light User(輕度用戶)— 佔比 ~15%

┌─ 目標:激活 ──────────────────────────────────────────────┐
│                                                           │
│  洞察:偶爾使用或剛註冊不久。尚未養成使用習慣。          │
│                                                           │
│  策略:                                                   │
│  • 新手任務系統(「完成 3 趟叫車解鎖 $5 折扣」)         │
│  • 限時新用戶優惠(7 天內享 3 次免運費)                  │
│  • 推薦獎勵機制(邀請朋友雙方各得 $5)                   │
│                                                           │
│  注意:控制補貼成本,避免吸引只為優惠而來的用戶           │
│  KPI:30 天內第 3 次訂單完成率                             │
└───────────────────────────────────────────────────────────┘

Balanced User(均衡用戶)— 佔比 ~18%

┌─ 目標:穩定留存 + 推升到 Super User ─────────────────────┐
│                                                           │
│  洞察:多業務線均衡使用,是最有潛力升級的群體。           │
│                                                           │
│  策略:                                                   │
│  • 忠誠積分計畫(跨業務線消費統一累積)                   │
│  • 多業務線里程碑獎勵(「本月使用 3 條業務線送 bonus」)  │
│  • 個人化推薦(根據使用模式推最可能感興趣的業務線)       │
│                                                           │
│  KPI:跨業務線使用頻率、Super User 升級率                 │
└───────────────────────────────────────────────────────────┘

Step 6:衡量與迭代

群體遷移矩陣

分群不是做完就結束。最關鍵的衡量工具是群體遷移矩陣 — 追蹤用戶在不同時期之間的群體變化。

                         本季分群
                 Super  Balanced  Light  At Risk
上    Super      [85%]    10%      2%      3%
季    Balanced    8%     [72%]    12%      8%
分    Light       2%      15%    [65%]    18%
群    At Risk     1%       5%     20%    [74%]

對角線 = 留在原群體的比例
非對角線 = 遷移到其他群體的比例

怎麼看這張表?

  • Super → Super 85%:超級用戶留存率不錯
  • Light → Balanced 15%:輕度用戶激活計畫有 15% 轉化
  • Balanced → At Risk 8%:有 8% 的均衡用戶開始流失 — 需要調查原因
  • At Risk → Light 20%:流失風險用戶有 20% 進一步惡化

這張表直接告訴你:哪些策略有效、哪些群體需要更多關注。

A/B 測試框架

每個 Persona 的策略都應該通過 A/B 測試驗證:

┌──────────────────────────────────────────────────┐
│             A/B 測試設計                          │
│                                                  │
│  對象:Commuter 群體(~15% 用戶)                │
│  假設:「下班推播 GrabFood」能提升外送啟用率     │
│                                                  │
│  A 組(控制組):不推播                          │
│  B 組(實驗組):下午 5-7 點推播 GrabFood 優惠   │
│                                                  │
│  指標:                                          │
│  • 主指標:外送啟用率(7 天內首次外送訂單)      │
│  • 次指標:推播後 30 天外送留存率                 │
│  • 護欄指標:叫車頻率不下降、退訂率不上升        │
│                                                  │
│  樣本量:每組 2,000 人,跑 2 週                  │
└──────────────────────────────────────────────────┘

常見陷阱

1. 特徵選擇偏差

只用消費金額分群,會把「低頻高客單」和「高頻低客單」混在一起。

解法:同時納入頻率、時間、行為類型等多維度特徵。

2. K 值選太多

K=15 的分群結果看起來很精細,但行銷團隊無法為 15 個群體各設計一套策略。

解法:K=4~7 通常是最佳平衡。分群的目標是可行動,不是最小化數學誤差。

3. 忽略時間維度

一個 6 個月前的重度用戶,現在可能已經流失了。靜態分群會把他歸為「高價值」。

解法:加入 Recency 作為關鍵特徵;定期重新分群(每月/每季)。

4. 分群結果不可行動

「Cluster 3 的 avg_order_value 是 $23.7」 — 行銷團隊無法用這個做任何事。

解法:每個群體必須有一個易懂的標籤明確的行動方案。數據科學家的工作不是跑完模型就好,而是把結果翻譯成業務語言。

5. 只做一次就不更新

用戶行為會隨時間改變。半年前的 Super User 可能已經變成 Light User。

解法:建立分群 pipeline,定期重新執行,用群體遷移矩陣追蹤變化。

6. 忽略分群之間的大小平衡

如果一個群體佔了 60% 用戶,另一個只有 2%,那分群的區分度不夠。

解法:檢查每個群體的大小,確保分布相對均衡。如果某群太大,考慮進一步細分。

結論:分群是一套持續運轉的業務系統

┌─────────────────────────────────────────────────────────────┐
│                                                             │
│   Week 1   RFM 快速分群 → 建立直覺                          │
│      ↓                                                      │
│   Week 2   K-Means 多維分群 → 發現隱藏模式                  │
│      ↓                                                      │
│   Week 3   翻譯成 Persona → 制定策略                        │
│      ↓                                                      │
│   Week 4+  A/B 測試 → 衡量成效 → 迭代優化                   │
│      ↓                                                      │
│   每月/每季  重新分群 → 追蹤群體遷移                        │
│                                                             │
└─────────────────────────────────────────────────────────────┘

最重要的一點:分群的目標不是最小化 inertia 或最大化 Silhouette Score,而是讓業務團隊能看懂、能行動、能衡量。一個 K=5 但每個群體都有明確策略的分群,永遠比 K=20 但沒人知道怎麼用的分群更有價值。

好的客戶分群不是一份報告,而是一套持續運轉的決策引擎 — 它告訴你的團隊,現在應該對誰、做什麼、期望什麼結果。