马尔可夫链:用概率预测用户行为
产品经理的数学课 · 第24讲
马尔可夫链:用概率预测用户行为
用户今天在首页,明天会去哪个页面?马尔可夫链给你一个概率框架:用「状态转移矩阵」预测用户的下一步行为。
前言
你的电商 App 有 3 个页面:首页(H)、商品页(P)、购物车(C)。
用户的行为是:
- 在首页 → 80% 概率去商品页,20% 概率离开
- 在商品页 → 60% 概率去购物车,30% 概率回首页,10% 概率离开
- 在购物车 → 90% 概率完成购买,10% 概率回首页
问题:如果用户今天在首页,3 天后他最可能在哪里?
马尔可夫链:用概率描述「从一个状态转移到另一个状态」的过程。它告诉你:从某个状态出发,经过 n 步后,最可能在哪个状态。
核心概念
马尔可夫链的定义
马尔可夫链:一个随机过程,下一状态只依赖于当前状态,不依赖于历史状态。
马尔可夫性质(无记忆性): $$ P(X_{n+1} | X_n, X_{n-1}, …, X_1) = P(X_{n+1} | X_n) $$
例子:用户明天去哪个页面,只取决于他今天在哪个页面,不取决于他昨天在哪里。
状态转移矩阵
状态转移矩阵:描述从一个状态转移到另一个状态的概率。
$$ P = \begin{bmatrix} P(H \to H) & P(H \to P) & P(H \to C) \ P(P \to H) & P(P \to P) & P(P \to C) \ P(C \to H) & P(C \to P) & P(C \to C) \end{bmatrix} $$
例子(电商 App):
| 从 \ 到 | 首页 (H) | 商品页 (P) | 购物车 (C) |
|---|---|---|---|
| 首页 (H) | 0.00 | 0.80 | 0.00 |
| 商品页 (P) | 0.30 | 0.00 | 0.60 |
| 购物车 (C) | 0.10 | 0.00 | 0.90 |
注意:每行概率之和 = 1(必须转移到某个状态)。
n 步转移矩阵
n 步转移矩阵:从状态 i 经过 n 步到达状态 j 的概率。
$$ P^n = P \times P \times … \times P \text{(n 次)} $$
例子(2 步转移矩阵):
用户今天在首页,2 天后:
- 在首页的概率:P²(H, H) = 0.24
- 在商品页的概率:P²(H, P) = 0.64
- 在购物车的概率:P²(H, C) = 0.12
结论:2 天后最可能在商品页(64%)。
平稳分布
平稳分布(Stationary Distribution):长期运行后,每个状态的概率不再变化。
$$ \pi P = \pi $$
例子(电商 App 的平稳分布):
π = [0.15, 0.35, 0.50]
含义:长期来看,15% 的时间在首页,35% 在商品页,50% 在购物车。
吸收态和吸收时间
吸收态(Absorbing State):一旦进入就无法离开的状态。
例子:「完成购买」和「离开 App」都是吸收态。
吸收时间(Absorption Time):从某个状态出发,到达吸收态的期望步数。
例子:用户从首页出发,平均需要 2.5 步到达「完成购买」或「离开」。
产品经理的应用
应用场景一:用户路径预测
你的电商 App 有 3 个页面,转移矩阵如上。
预测:用户今天在首页,3 天后最可能在哪里?
计算 3 步转移矩阵:
| 从 \ 到 | 首页 | 商品页 | 购物车 |
|---|---|---|---|
| 首页 | 0.18 | 0.56 | 0.26 |
结论:3 天后 56% 在商品页,26% 在购物车,18% 回首页。
行动:在商品页推送优惠券,促进转化。
应用场景二:用户流失预测
你的 SaaS 产品有 3 个状态:活跃(A)、沉默(S)、流失(L)。
转移矩阵:
| 从 \ 到 | 活跃 | 沉默 | 流失 |
|---|---|---|---|
| 活跃 | 0.70 | 0.25 | 0.05 |
| 沉默 | 0.10 | 0.60 | 0.30 |
| 流失 | 0.00 | 0.00 | 1.00 |
预测:活跃用户 30 天后流失的概率?
计算:P³⁰(A, L) ≈ 28%
行动:在用户沉默 7 天时发送召回邮件,降低流失率。
应用场景三:PageRank 算法
Google 的 PageRank 就是马尔可夫链的应用:
- 节点:网页
- 边:链接
- 平稳分布:每个网页的重要性
PageRank 的含义:长期来看,随机点击链接的用户最可能停留在哪个网页——那个网页就是最重要的。
你的产品应用:
- 给每个页面计算「PageRank」
- PageRank 高的页面 = 用户最常访问的页面
- 优化这些页面的体验
常见误区
误区一:马尔可夫性质不成立
「用户明天去哪个页面取决于他今天看了什么」
如果历史状态影响转移概率,马尔可夫链不适用。你需要高阶马尔可夫链(考虑前 n 个状态)或隐马尔可夫模型。
误区二:转移矩阵不随时间变化
「转移矩阵是固定的」
用户行为会变化:周末 vs 工作日、新功能上线后、促销期间。定期更新转移矩阵。
误区三:忽略吸收态
「用户永远在页面间循环」
实际上用户会离开(吸收态)。忽略吸收态会高估用户的活跃时间。
误区四:平稳分布不收敛
「长期来看会收敛到平稳分布」
如果图不是遍历的(有多个连通分量或周期性),平稳分布可能不收敛。检查图的遍历性。
PM/BA 应用
| 场景 | 马尔可夫工具 | 决策价值 |
|---|---|---|
| 用户路径 | n 步转移矩阵 | 预测用户行为 |
| 流失预测 | 吸收概率 | 提前干预 |
| PageRank | 平稳分布 | 识别核心页面 |
| 推荐系统 | 转移概率 | 个性化推荐 |
| A/B 测试 | 状态转移 | 评估功能效果 |
课后测验
题目 1
你的 App 有 2 个状态:活跃(A)和流失(L)。转移矩阵:
| 从 \ 到 | 活跃 | 流失 |
|---|---|---|
| 活跃 | 0.8 | 0.2 |
| 流失 | 0.0 | 1.0 |
活跃用户 5 天后流失的概率最接近:
A. 20%
B. 40%
C. 60%
D. 80%
查看答案与解析
答案:C(60%)
计算 5 步转移矩阵:
P⁵(A, L) = 1 - (0.8)^5 = 1 - 0.328 = 0.672
约 67%,最接近 60%。
直觉:每天有 20% 的概率流失,5 天后流失概率很高。
题目 2
你的转移矩阵是:
| 从 \ 到 | A | B | C |
|---|---|---|---|
| A | 0.5 | 0.3 | 0.2 |
| B | 0.4 | 0.4 | 0.2 |
| C | 0.3 | 0.3 | 0.4 |
长期来看,哪个状态最常被访问?
A. A
B. B
C. C
D. 三个状态概率相等
查看答案与解析
答案:D(三个状态概率相等)
计算平稳分布 πP = π:
π = [0.4, 0.35, 0.25](约)
等等,让我重新计算:
设 π = [a, b, c],a + b + c = 1
πP = π:
- 0.5a + 0.4b + 0.3c = a
- 0.3a + 0.4b + 0.3c = b
- 0.2a + 0.2b + 0.4c = c
解方程组:
- -0.5a + 0.4b + 0.3c = 0
- 0.3a - 0.6b + 0.3c = 0
- 0.2a + 0.2b - 0.6c = 0
从第一个方程:b = (0.5a - 0.3c) / 0.4 = 1.25a - 0.75c 代入第二个方程:0.3a - 0.6(1.25a - 0.75c) + 0.3c = 0 0.3a - 0.75a + 0.45c + 0.3c = 0 -0.45a + 0.75c = 0 c = 0.6a
b = 1.25a - 0.75(0.6a) = 1.25a - 0.45a = 0.8a
a + b + c = a + 0.8a + 0.6a = 2.4a = 1 a = 0.417, b = 0.333, c = 0.25
最常被访问的是 A(41.7%)。
答案是 A。
更正:A 最常被访问。
题目 3
你的电商 App 有「完成购买」吸收态。用户从首页出发,平均需要多少步到达「完成购买」或「离开」?
A. 1 步
B. 2.5 步
C. 5 步
D. 10 步
查看答案与解析
答案:B(2.5 步)
吸收时间:从某个状态出发,到达吸收态的期望步数。
计算方法:
- 构造基本矩阵 N = (I - Q)^{-1}
- 吸收时间 = N 的行和
简化估算:
- 从首页出发,80% 去商品页(1 步)
- 从商品页,60% 去购物车(1 步)
- 从购物车,90% 完成购买(1 步)
平均步数 ≈ 1 + 0.8 × 1 + 0.8 × 0.6 × 1 ≈ 2.5 步
行动:如果平均需要 2.5 步完成购买,应该优化每一步的体验。
本课要点
- 马尔可夫性质:下一状态只依赖于当前状态(无记忆性)
- 状态转移矩阵:描述从一个状态到另一个状态的概率
- n 步转移矩阵:经过 n 步后的转移概率(P^n)
- 平稳分布:长期运行后各状态的概率(πP = π)
- 吸收态和吸收时间:一旦进入就无法离开的状态
延伸阅读
- Norris, 《Markov Chains》 — 马尔可夫链教材
- Levin & Peres, 《Markov Chains and Mixing Times》 — 马尔可夫链的高级理论
- Brin & Page, 《The Anatomy of a Large-Scale Hypertextual Web Search Engine》 — PageRank 的原始论文
下一步
下一课:蒙特卡洛方法进阶:MCMC 与贝叶斯推断 — 用马尔可夫链蒙特卡洛方法解决复杂概率问题。
工具提示:用 Python 的 MarkovChain 库或 Excel 的转移矩阵计算——把你的产品状态建模成马尔可夫链,预测用户行为。