指标波动的原因很头疼?不妨试试“问诊”法!
收藏

本文可视为前文《归因的方法》的补充。


图源:https://www.vecteezy.com/free-vector/doctor


假设你是一名医生,一位患者跑来说自己身体不舒服,你会怎么问诊?

注:回想一下去医院看病的时候医生是怎么问你的


问诊的通常步骤:

1. 定位病灶,包括空间定位和时间定位
  • 发病的具体的位置是哪里?时需要借助仪器才能查到确切的位置

  • 什么时间开始发病的,持续了多久?


2. 详细症状

  • 痛?痒?阵痛、刺痛、钝痛?间断性或连续性?

  • 症状出现的时间点,白天,夜间?

  • 有没有并发症?比如发热、头晕、反胃等?

  • 病情是如何发展的?


3. 询问病史

  • 疾病史,以前有没有类似症状?当时是什么原因引起的?是否有其他正在治疗的慢性疾病?

  • 家族史,直系亲属有没有类似症状?

  • 用药史,先前服用过什么药物?当前是否在用什么药?

  • 过敏史,对什么药物或食物过敏等


4. 生活习惯

  • 饮食,三餐是否规律?有没有吃夜宵的习惯?有没有吸烟、喝酒的习惯?

  • 起居,睡眠如何?经常熬夜、加班么?一周运动几次?

  • 工作,做什么行业?经常久坐么?经常低头看电脑?工作压力大么?


5. 近期诱因

  • 最近有没有接触可能诱发症状的诱因,比如吃了生冷或者陌生的食物?

  • 最近生活习惯上是否发生了较大的变化?

  • 最近有没有遭遇对精神刺激较大的创伤性事件?


在询问完病人的病情之后,医生已经在心中形成了几个比较有把握的假设了。接下来,对于症状较轻且明显的直接对症下药即可,有些则可能要进行进一步的检查以验证医生头脑中的假设。


现在,我们将场景从医院切换回数据分析的场景——假设最近某产品的次日留存率降低了,借鉴上述的问诊步骤,你的思路会是怎样的


1. 问题定位

可以参考“人货场”的维度来进行拆解,那么我们想知道:

  • 问题主要出现在什么用户群,次日留存这个指标是对新客而言的,新客还可以从哪些维度进行细分?

  • 发生在什么终端(apppcwap)或者哪个业务环节?

  • 什么时候开始降低的,降低的幅度有多大?


2. 细化特征

首日访问的新客,以及次日流失的新客,他们具有什么特征:

  • 渠道来源,e.g.新客各引流渠道的分布情况如何,哪个渠道的留存率拖后腿最严重(流量大且留存率低);

  • 注册信息,e.g.IP地址所在城市的分布、账号类型(邮箱、QQ号、手机号等)、是否有个性化设置(头像、昵称、密码、填写个人信息等)等;

  • 访问环境,e.g.集中访问的时间段、网络类型、设备型号、操作系统、浏览器类型、访问的app版本等;

  • 行为特征,e.g.访问时长、访问深度的分布情况、主要访问的页面分布、最后跳出页面、是否领取和使用新人礼、是否完成了新人引导等


细化特征还要考虑到其他“并发症”——存在共变关系的其他指标——是否其他指标和关注的指标在同步变化?找到这些共变的指标有助于筛选对诱因的假设。


3. 追溯对比

先看历史数据趋势:

  • 以前有没有出现类似情况?当时是发生了什么?

  • 是否具有周期性,比如是否遇到节假日就会下降?


再做同期群分析——出问题的这段时间和先前的正常时间段来的用户在上述特征中存在什么差异?同期群分析时候要注意群体的匹配性,比如用户属性、运营活动、产品策略上要具有可比性。


4. 假设-检验

如果是周期性数据波动,那么需要检查:

  • 波动的幅度是否和先前差不多;

  • 波动发生的“人货场”是否和先前整体一致;


如果是用户结构出了问题,需要依次排查:

  • 是否是引流渠道有问题,比如某个渠道的用户质量很差(该渠道的留存率很低),流量增加后会把整体的留存率都拉低;

  • 是否存在虚假流量,比如刷机、爬虫操作,一般从访问设备、网络、IP等“环境信息”就能较容易地识别出来(基于规则),当然基于典型的用户行为也能识别出“异常”用户(基于规则或算法);

  • 某些特殊用户群是否在特定时期会有在行为上发生变化(通常具有周期性);


如果是产品本身有问题,需要检查:

  • 产品功能,最近是不是有发版,或者较大的功能改动,或者有bug;

  • 产品策略,比如ABTest分流、消息push、强制引流等是否有改动;

  • 产品服务,比如会员权益、服务定价、商品内容等调整了啥;


如果是运营活动的问题,则要检查:

  • 运营活动的广度(e.g.覆盖的用户群比例和商品的比例)和深度(e.g.优惠力度)注:活动的广度通常与选择的用户标签以及活动的门槛有关

  • 运营活动的转化率是否有异常,从曝光->领取->使用等环节是否有坑,比如优惠券无法使用(后台有报错,用户有投诉)或者带来了大量的羊毛党(通常目标明确,薅完即走)等;

  • 运营活动配置的规则是否有冲突,比如同时满足两个活动的条件的时候,是要叠加还是选择力度最大的那一个;


如果以上的问题都被排查了,那么就可能要考虑外部因素

  • 突然出现的新闻舆论事件;

  • 不可控的自然灾害,比如最近几个月的牛肉价格上涨了,因为牛肉和猪肉某种程度上是替代商品,而因为猪瘟导致猪肉市场供应压力,猪肉价格上涨,牛肉也跟着涨了;

  • 新施行某项政策或者取消了原有的某项政策;

  • 市场环境发生变化,比如竞争对手做了什么活动;



指标波动的整体排查思路:

  1. 在时间、场景、人群3个维度上定位问题,然后进一步细化特征,提炼出主要变化所在点;

  2. 优先看是否有周期性,其次看是否有持续性;

  3. 纵向可以从渠道入口按转化环节层层排查,横向可以按“人货场”来排查用户、产品、运营3方面是否有相应的变化;

  4. 从内到外,先查内部因素(用户、产品、运营),最后查外部因素;

  5. 基于业务形成假设,然后用数据进行验证



以上,仅做抛砖引玉,真实场景包含但不限文中所及。

推荐阅读--Top6


Python要上天啊!一行代码就可以搞定炫酷的数据可视化!
总结100个Pandas中序列的实用函数
Pandas模块,我觉得掌握这些就够用了!
【整理分享】14张思维导图构建 Python 核心知识体系
数据分析面试中需要你必知必会的内容 !
while循环与for循环到底差在哪里?举几个例子给你看!