前言
上次和小伙伴了分享了业务微观层面的如何PSM-DID解决业务反事实推断问题,这次笔者想从宏观层面分享下如何运用模型思维和系统思维解决业务宏观层面的定目标、指方向的问题的案例方法,不足之处,望笔者多多指正。
1、业务问题介绍
以某块炒股软件雪x为例,公司老板拍板说:今年年底公司用户日活要从20w增长到50w,分析师同学拆解下基日活这个目标,要能够把目标拆解成一个个用户增长团队同学可执行的小目标
2、业务问题系统化
基于上述业务问题,我们可以根据业务现状思考一个最小的业务分析框架/系统把所有的变量和动作涵盖其中。
(1)系统最小构成
基于该场景,我们可以基于日活增长的角度思考,首先日活用户池流入主要来自:
目标 | 拆解方法 | 拆解结果 |
---|---|---|
日活从50w增长到100w | 按照用户来源分类 | 日活用户、睡眠用户、潜在用户 |
日活用户 | 按照用户行为分类 | 拉新、回流、留存 |
睡眠用户 | 按照用户状态分类 | 被回流、流失 |
潜在用户 | 按照用户潜力分类 | 被拉新、被流失 |
基于此,可以得到系统的最小构成:日活用户、睡眠用户、潜在用户,系统构成如下:
(2)系统关系梳理
基于系统的最小构成:日活用户、睡眠用户、潜在用户,我们可以开始思考,日活用户、睡眠用户、潜在用户三者间的关联,使得系统达到闭环,逻辑上自洽:
- 日活用户(potential user):可以由睡眠用户回流、潜在用户拉新转化得到、自身留存构成
- 睡眠用户(sleep user):可以由睡眠用户本身、日活睡眠构成
- 潜在用户(potential user):可以由潜在用户本身、睡眠用户流失得到
基于上述梳理可以得到系统关系,我们继续拍出对应关键指标用来评价业务工作的好坏了,如:
- 人均拉新K因子(a1): 口径新用户数/日活用户数 评价拉新效果
- 睡眠率(a2): 口径日活用户次日未登录用户数/日活用户数 评价用户对功能的粘性
- 睡眠用户回流率(a3):口径次日活跃的睡眠用户数/睡眠用户数 评价睡眠用户召回效果
- 睡眠用户流失率(a4):口径次日流失睡眠用户数/睡眠用户数 评价用户流失情况
3、系统模型化
(1)数学模型构建
根据上面得到的增长系统变量间的关系,可以得到P D S关于时间t的微分式如下:
{
d
D
d
t
=
(
a
1
−
a
2
)
D
)
+
a
3
S
d
P
d
t
=
a
4
S
−
a
1
D
d
S
d
t
=
a
2
D
−
(
a
3
+
a
4
)
S
\left\{\begin{array} { l } { \frac { d D } { d t } = ( a _ { 1 } - a _ { 2 } )D ) + a _ { 3 } S } \\ { \frac { d P } { d t } = a _ { 4 } S - a _ { 1 } D } \\ { \frac { d S } { d t } = a _ { 2 } D - ( a _ { 3 } + a _ { 4 } )S } \end{array} \right.
⎩
⎨
⎧dtdD=(a1−a2)D)+a3SdtdP=a4S−a1DdtdS=a2D−(a3+a4)S
根据微分关系不难得到差分形式为:
{
D
t
+
1
=
D
t
+
D
t
(
a
1
−
a
2
)
+
a
3
S
t
P
t
+
1
=
P
t
+
a
4
S
t
−
a
1
D
t
S
t
+
1
=
S
t
+
a
2
D
t
−
(
a
3
+
a
4
)
S
t
\left\{\begin{array}{l} D_{t+1}=D_t+D_t\left(a_1-a_2\right)+a_3 S_t \\ P_{t+1}=P_t+a_4 S_t-a_1 D_t \\ S_{t+1}=S_t+a_2 D_t-\left(a_3+a_4\right) S_t \end{array}\right.
⎩
⎨
⎧Dt+1=Dt+Dt(a1−a2)+a3StPt+1=Pt+a4St−a1DtSt+1=St+a2Dt−(a3+a4)St
(2)数学模型实现
基于上述模型原理可以通过python实现,代码如下:
代入初始值进行计算
- 初始化数据 潜在用户(potential user):10000000
- 日活用户(daily active user):200000
- 睡眠用户(sleep user):2000000
- K因子(k)0.09
- 睡眠率(sleep_rate):78%
- 睡眠用户回流率(return rate of old users):6%
- 睡眠用户流失:1.8%
通过模型迭代得到结果看出在不做任何动作的情况下,日活用户将从20w下降至4w,睡眠用户将从200w下降至60w
(3)基于业务现状制定静态目标
根据小节2的系统对业务现状的测算情况可以给以静态情况下目标测算结果:
- 潜在用户(potential user):10000000
- 日活用户(daily active user):200000
- 睡眠用户(sleep user):2000000
- K因子(k)0.09 ->0.12
- 睡眠率(sleep_rate):78% ->62%
- 睡眠用户回流率(return rate of old users):6% ->8%
- 睡眠用户流失:1.8%->1.5%
通过模型迭代得到结果可以看出在达成静态目标的情况下,年底日活用户将从20w上升至50w,睡眠用户将从200w上升至320w
基于测算结果,可以给出给出相关结论:
如:基于年底日活20w->50w的目标,通过PDS模型静态目标情况下拆分得到
用增团队同学需要重点将
- K因子(k)提升至0.12(0.09 ->0.12)
- 睡眠率(sleep_rate):下降至62%(78% ->62%)
- 睡眠用户回流率(return rate of old users):上升至8%(6% ->8%)
- 睡眠用户流失:下降至1.5%(1.8%->1.5%)
4、总结反思
(1)模型优点
- 将用户增长动作系统化体现,可解释性强
- 业务动作有体现,便于宏观归因,如通过微观上归因得到做流失的同学下半年把流失率从1.8%做到1.5%,在以前贡献只能挖到这,但是通过系统测算就可以很进一步归因到这个动作为整体日活做出了18w左右的贡献
(2)目前不足
- 仿真程度不高:实际业务APP存量用户一般分为新手 成长 成熟 衰退和流失,指标上也可以进行进一步的拆分,如K因子可以拆分成人均问句数*分享率 等
- **静态的目标测算与实际情况不符:**实际目标变化不会从xx%直接变到xx%,而是会在半年时间内一步一步变成目标值,可能是线性变化、对数变化或者先上升后下降的卡方变化,这里选用哪个什么样的函数进行拟合需要根据实际的业务情况来
|线性增长
对数增长
卡方型波动
(3)展望
本文利用系统模型思维建立一个基于微分思想的用户增长仿真模型,用于业务北极星目标拆解与制定,这也是目前我尝试应用与业务的一个思想方法。知易行难,掌握应用方法知识只是解决问题一环,最后的使用其在业务进行优化,产生价值,还有一段路需要走。同时系统未来也需要进行几个方面的优化
- 提高模型的仿真程度,考虑更多的用户类型和指标维度
- 动态地测算目标变化过程和影响因素,使用更合适的函数拟合
- 将模型应用于更多的业务场景和问题,验证其有效性和通用性
希望本文对读者如何利用模型思维解决实际业务问题有所启发,同时欢迎指出不足
文中代码部分可以移步骤PDS建模python实现