用回归分析为短剧APP“号脉”:我们如何找到留存的关键驱动力与产品迭代优先级?

31 阅读6分钟

背景+遇到的困难

我们团队负责一款短剧APP的研发、维护工作,会有经常性的版本更新。是否大家都会遇到同样的困惑?

  • 当前的用户数据如何?有哪些可以提升的点?

  • 过去的产品迭代,产生了什么样的效果?对用户数据影响几何?

  • 当下和未来,应该安排什么内容进行开发,能获得最大的效益?

  • 运营、商务、产品等来源的需求,重要性如何,应该如何评判优先级?

  • ……

如果没有数据来驱动决策,这些问题都将是难题,各部门会为了自己的需求被优先安排而强力争取。因为没有不能预先评判工作效果,事后效果往往也不一定好,更不利于各部门友好相处。作为产品技术同事,也疲于奔命,而难以产生良好产品效果。

提出的目标

我们业务主要考核目标是用户留存率和收入,我们以这两个目标出发,提出了几个想要了解的问题

  • 留存受哪些因素驱动

  • 每个因素贡献多大、应该优化哪些指标

解答留存驱动因素问题,可以帮我们解答哪些指标最重要,后续安排产品迭代就能结合这些数据评估产品迭代后的效果,进而按效果的大小来安排优先级。用这种数据驱动的方式决策,大幅提高产品迭代效果,使得产品技术及其它兄弟部门都有更好的满意度。

任务拆解

留存分析

显著相关因素识别

  • 检验哪些自变量与留存率存在显著统计关系(相关性或回归显著性),排除无关因素。

  • 多重共线性检测(在这一步加入),计算 VIF(方差膨胀因子),阈值常用 5 或 10。

总体解释度评估

  • 量化全部显著因素对留存率的总体解释力(如模型的 R² / 调整后 R²),判断是否具有高解释度或仍存在大量未解释波动。

影响强度与重要性排序

  • 比较各显著变量的回归系数、标准化系数或 SHAP 值,形成影响力排名,明确关键驱动因素。

单位变化效应分析与策略优先级

  • 分析每个重要变量的边际贡献,即其单位变化对留存率提升的理论影响幅度,并识别“最具杠杆效应”的变量,以指导资源最优配置与策略优先排序。

  • 非线性模型对比(RF/XGB + SHAP),验证线性模型的变量重要性是否可靠

聚类分析

  • 分析高活跃、付费用户群体特征,为洞察用户、差异化制定策略提供数据依据

执行情况

因变量选取

  • 1/3/7用户留存,统计周期内用户首次到达日期,然后以该日期计算1/3/7留存标记

  • 用户活跃天数,统计周期内用户活跃天数

自变量选取

尽量选取各个方向的变量,覆盖更多范围

  1. 用户基础属性,如是否新用户、是否VIP会员等

  2. 内容消费行为,如视频播放量总和、内容点击量总和等

  3. 互动行为,如点赞次数、评论次数等

  4. 搜索与探索,如是搜索次数等

  5. 内容完成质量,如平均完播率等

  6. 用户活跃与参与,如签到次数、活动参与次数等

  7. 特征工程衍生指标,如页面浏览量平方项(探寻二次方系数)等

分析方法

先采用少量自变量进行建模分析,评估R²模型解释度,再慢慢添加自变量,逐步查看模型解释度情况,避免一开始就用大量自变量进行造成不可控的情况。

对比多个模型的的结果,验证自变量贡献的排行情况的一致性。

  • 采用皮尔逊相关性分析,计算指标相关性,显著性p<0.05可以认为相关性成立

  • 计算自变量间VIF以检测多重共线性,消除共线性影响

  • 采用标准化回归系数方法分析,以评估各指标对留存的影响贡献

  • 采用多元回归分析,以评估各指标单位变化对留存的影响

  • 采用岭回归,分析各指标单位变化对留存的影响系数、各指标对留存影响的贡献度

  • 采用弹性网络回归,处理多重共线性和进行特征选择

执行结果

相关性矩阵示例

弹性网络回归结果

弹性网络通过L1L2正则化,能同时处理多重共线性和进行特征选择,尤其适用于特征数远大于样本数的高维数据。

对因变量【用户活跃天】体解释度R²=79.4%(解释度高),交叉验证下模型稳定,给出结果的一部分以作参考:

| 序号  | 自变量                     | 原始系数          | 贡献率(%)   | 简单解释                                              |
|------|---------------------------|------------------|-----------|--------------------------------------------------------|
| 1    | click_pv                  | 1.8376           | 18.00%    | 点击越多 → 活跃天数显著增加(最主要驱动力)          |
| 2    | page_pv                   | 1.3155           | 12.89%    | 页面浏览量越高 → 活跃明显提升                          |
| 3    | click_pv_squared          | -0.7797          | 7.64%     | 点击过高导致疲劳 → 边际递减                            |
| 4    | page_pv_squared           | -0.7644          | 7.49%     | 浏览过高也出现疲劳效应                                 |
| 5    | show_pv                   | 0.7418           | 7.27%     | 曝光越高 → 稳定活跃                                    |
| 6    | signin_ratio              | 0.5411           | 5.30%     | 签到频率高 → 更愿意持续使用                            |
……                           |

多元线性回归的时候点击与其他指标VIF值较高,VIF值大于10通常认为存在严重共线性,它会使模型系数估计不稳定,甚至出现符号错误。在我们的初步分析中,‘点击量’等指标的VIF值较高,因此我们采用了正则化方法(岭回归、弹性网络)来应对。为了避免多重共线性影响,去除了点击变量,其结果与弹性网络数据大致一致。

岭回归可以通过引入微小偏移的正则化来处理参数间的多重共线性,其结果与弹性网络回归一致。

总结

通过回归分析的结果,可见点击、页面、签到等数据对留存最为重要,但点击和页面浏览数据平方项系数为负,说明用户点击和流量并不是越高越高,存在边际递减效应。

后续产品迭代中,两个思路开展工作。

  • 自顶向下:对需求池的的需求,评估其对用户点击、浏览、签到等数据的影响,对重要因子有正向影响的应该优先安排

  • 自底向上:对照回归的结果,对重要的因子想出提升的方案,优先安排

有一个很重要的点不得不提,回归的结果,表明的是相关性而不是因果性,这是一次数据统计性的观察,而不是控制变量下的实验,无法说明因果性。有条件的话,应该设计AB测,来验证因果性。

我们作为技术开发大拿,既要能解决实现中的技术问题,做到指哪打哪、使命必达。也要能从更高一层来看待问题,做到回答这个迭代能产生什么效果、更好效果的方案是什么,通过数据驱动,帮团队提着明灯找到前进的方向,为团队创造价值、为产品注入增长动力。