什么是异常分析? 异常分析(Anomaly Analysis)是指对不正常的数值(指标)进行分析,尝试找出原因,并给出解决方案。
异常分析,一方面是数据分析师、数据运营、数据产品、数据开发工程师、数仓、数据科学家、数据总监等数据人的一项基本日常工作;另一方面异常分析涉及问题分析、结构分析、对比分析、假设分析等数据分析基本技能,这些都是数据分析能力的基本要求。比如指标的突然上升或者突然下降,也或者是指标的持续上升或者持续下降,只有找到背后真实的原因,才能更好的进行后续动作,或者策略迭代,否则就是盲打,原地打转。
异常分析的具体场景,比如:
那么,今天将系统的梳理总结一下这类问题的分析框架以及需要考虑的问题,今后在遇到此类问题时,希望能有一个明确的着力点以及分析思维。
一般来讲,产品的某些数据指标都会具有固定的波动周期,而且每个周期内数据的变化应该趋于稳定,但在数据监控体系里的日报、周报、月报中某数据指标突然不再符合预期的稳定变化,这就是我们所说的数据出现异常波动。在这种情况下,我们就需要去深挖数据异常产生的原因。
判断异常的关键看和谁进行比较。所以异常分析的要素主要有两个:被比较的数值,比较的数值。 这里被比较的数值,常常是实际数值,业内数值、环比指标、同比指标、期望数值、经验指标等等。 有时候可能是两个正确(错误)的指标进行比较,寻找差异。
而做数据异常分析核心就是结合以往经验及各种信息,找出最有可能的原因假设,通过将数据指标的进行拆分,再多维度分析来验证假设,定位问题所在。其过程中可能会在原假设基础上建立新的假设或者是调整原来假设,直到定位原因。
其实,通过我们每一次的异常分析来定位造成数据波动的问题及原因,建立起日常运营工作和数据异常波动之间的关联性,进而就可以从中找到促进数据增长的新的思路和方法,改变数据结果。
现在,我们先来明确一下数据指标出现异常:上升或下跌,通常有以下情况:
以上,这三种情况意味着问题本身不同的严重程度。如果是数据指标下跌的话,周期性下跌一般都不需要做特殊处理;一次性下跌往往来的比较突然,要关注事件持续性;持续性下跌的,特别是不见好转,持续的时间越长问题越严重。需要注意是不能单纯的看日周月报表中趋势图的走势,要结合波动的幅度来看,幅度越大,说明出现的异常问题越值得注意。
那么接下来,捋清楚思路,我们以“某APP的日活有所下降”,该如何着手分析呢?
第一步:确认数据以及统计来源的准确性 。在这里强调一下, 数据真实性是根基。
实际上因为数据源出问题,导致的指标异常非常非常多,所以在开始着手分析前,必须首先确认数据的真实性。经常会遇到服务器异常、数据后台统计出现错误、在数据报表上出现异常值。所以,遇到问题第一顺位先确认数据没有错,找数据统计相关的产品和开发确认下数据的真实性。
第二步:了解清楚数据指标(app日活)具体业务情况和异常情况。明确以下问题:
清楚了数据指标(APP日活)的具体情况,有了轻重缓急的判断,下一步就可以进行指标的拆解,再缩小怀疑范围,建立分析假设。而建立假设,有助于去伪存真的进行验证,进一步逼近真实原因。
第三步:将数据指标进行拆解。如:日活=新增用户+老用户留存+流失用户回流,二级指标拆解如下
可分别计算每个维度下不同的活跃用户数。通过这种方法定位到导致哪个区域或者渠道的日活下降的用户群体是谁,以及定位原因有了大致范围。比如定位是新用户问题,我们需要再把新用户日活按渠道进行拆分:新用户=渠道1+渠道2+渠道3+其他渠道;通过渠道拆分,我们会发现是具体哪个渠道效果发生的问题。那么,继续下一步我们要根据实际业务进一步做假设,具体情况具体分析。
第四步:异常范围定位后,要根据业务进一步做假设,实际具体情况具体分析。具体分析可以采用“内部-外部”事件因素考虑。
内部-外部事件在一定时间内同时发生可能很多种,主要关注数据指标的起点、拐点、终点。
数据指标起点:数据指标刚下跌时,发生了什么事件;往往起点事件是问题发生的直接原因。
数据指标拐点:在指标持续下跌过程中,是否某个事件的出现,让问题变得更严重,或者开始转暖。拐点意味着,这是可以通过运营手段改善指标的。
数据指标终点:当某个事件结束后,指标恢复正常。或当开始某个事件后,指标下跌结束。终点事件的两种形态,代表着两种改善指标的方法:等问题自己过去,或者主动出击解决问题
内部事件因素分为获取用户(渠道转化率降低、渠道平台的问题等)、满足用户需求(新功能变更等引起某类用户不满)、促活运营手段(签到等提活手段没达成目标、产品自然使用周期低导致上次获得的大量用户短期内不需要再使用等)、内部功能和运营策略调整(产品、运营、技术在数据异常时间点附近做了什么策略调整)。
外部事件因素采用PEST分析(宏观经济环境分析),政治(政策影响)、经济(短期内主要是竞争环境,如对竞争对手的活动)、社会(舆论压力、用户生活方式变化、消费心理变化、价值观变化等偏好变化)、技术(创新解决方案的出现、分销渠道变化等)。
我们遵循短期变化找内因,长期异动找外因。在条件允许范围内,再结合自身业务经验确定几个最可能的原因假设,给这些假设排数据验证的优先级,逐一排查,深入分析,比如本次指标下跌是因为新功能不符合预期不给力、渠道投放力度不够、竞品太厉害、版本更新大bug、流失严重等。
还有其他常见因素,如下:
天气异常(可能会导致一次波动)
竞争对手有促销活动(可能会导致一次波动,持续波动)
黑天鹅事件(可能导致持续持续波动,一次波动)
特定人群节假日(可能导致周期波动)
····
第五步:预测未来是否还会下跌?应该采取什么方式避免下跌?与业务沟通反馈分析结论,探讨后续方案的执行。再针对原因解决问题,制定优化策略。最后,我们要预测影响到什么时间。并运营、产品沟通反馈分析结论,探讨后续方案的执行。
以上,就是梳理的“数据指标出现异常波动时,该如何着手数据异常分析?”的思路框架,现在总结一下。
第一步:确认数据以及统计来源的准确性
第二步:了解清楚数据指标具体业务情况和异常情况
第三步:将数据指标进行拆解。
第四步:异常范围定位后,要根据业务进一步做假设,实际具体情况具体分析。
第五步:预测未来是否还会下跌?应该采取什么方式避免下跌?与业务沟通反馈分析结论,探讨后续方案的执行。再针对原因解决问题,制定优化策略。
总之,异常分析的本质是因果分析。异常分析先是由结果(异常)找可能的原因,属于归纳法,最后验证可能的原因是由原因推结果,属于演绎法, 所以异常分析是归纳法与演绎法的综合应用。 异常分析涉及问题分析、结构分析、对比分析、假设分析等数据分析基本技能,这些都是数据分析能力的基本要求。
在实际业务中,数据异常的影响原因可能是多方面的,有的时候也需要建立统计分析模型来做一些定量分析。可能要花几天的时间去不断排查问题。
就需要我们在平时工作中多留意数据变化,随着对业务的熟悉和数据敏感度的提升,针对数据异常分析我们也会越来越熟练,更快的找到问题所在。