Learning
VOL. VI · NO. 24 · Mathematics · 01 JAN 1970

马尔可夫链:用概率预测用户行为

数学 · 01 JAN 1970 · 9 min read · 2,047 words
· · ·

产品经理的数学课 · 第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.000.800.00
商品页 (P)0.300.000.60
购物车 (C)0.100.000.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.180.560.26

结论:3 天后 56% 在商品页,26% 在购物车,18% 回首页。

行动:在商品页推送优惠券,促进转化。

应用场景二:用户流失预测

你的 SaaS 产品有 3 个状态:活跃(A)、沉默(S)、流失(L)。

转移矩阵:

从 \ 到活跃沉默流失
活跃0.700.250.05
沉默0.100.600.30
流失0.000.001.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.80.2
流失0.01.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

你的转移矩阵是:

从 \ 到ABC
A0.50.30.2
B0.40.40.2
C0.30.30.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 步)

吸收时间:从某个状态出发,到达吸收态的期望步数。

计算方法:

  1. 构造基本矩阵 N = (I - Q)^{-1}
  2. 吸收时间 = N 的行和

简化估算

  • 从首页出发,80% 去商品页(1 步)
  • 从商品页,60% 去购物车(1 步)
  • 从购物车,90% 完成购买(1 步)

平均步数 ≈ 1 + 0.8 × 1 + 0.8 × 0.6 × 1 ≈ 2.5 步

行动:如果平均需要 2.5 步完成购买,应该优化每一步的体验。


本课要点

  1. 马尔可夫性质:下一状态只依赖于当前状态(无记忆性)
  2. 状态转移矩阵:描述从一个状态到另一个状态的概率
  3. n 步转移矩阵:经过 n 步后的转移概率(P^n)
  4. 平稳分布:长期运行后各状态的概率(πP = π)
  5. 吸收态和吸收时间:一旦进入就无法离开的状态

延伸阅读

  • 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 的转移矩阵计算——把你的产品状态建模成马尔可夫链,预测用户行为。