数据分析—关于同比与环比,你真的了解吗?看看踩过的坑
The following article is from 首席数据科学家 Author NK冬至
数据分析技不在多,万变不离其宗的方法就是比较!
正文开始
“ 今天和大家聊聊同比、环比等指标的详细内容。”
好久没有分享关于数据分析指标相关的内容了。之前分享过《北极星指标》、《以余额宝为例搭建指标体系》、《指标字典》等文章。今天聊聊常见的指标:同比与环比,以及在实践过程中踩过的坑。
01
—
同环比的背景
首先聊聊,为啥要进行同环比的分析。
在我们做数据分析的时候,最常用的几个分析套路,无非就是:做对比分析、做下钻细分分析、做归因溯源相关的分析等。
针对对比分析,最主要的就是和历史进行比较了(除此之外,也可以和行业比较、和特定值比较等)。比如看历史趋势、比如用同比环比指标分析。
上图是几种不同的历史对比方式,还是比较概括的。
历史趋势对比:即通过分析该指标在一定时间内的变化趋势情况,分析指标走势的异常与否;
动作前后对比:即通过分析某个特定动作之前和之后的指标情况,判断该动作是否有效(比如营销投放);
去年同期对比:分析本期与去年同期的数据差异情况,剔除周期因素从而判断指标异常与否;
前一时期对比:分析本期与最相邻的周期的差异。
其中第3、4种,就是同比和环比。
因此,同比和环比,主要是用于分析历史对比情况的一种手段和方法。
02
—
同比与环比的定义
下面,我们看看同比环比的详细定义。
(1)关于同比
【百度百科】同比一般情况下是本年第n月与去年第n月比。同比发展速度主要是为了消除季节变动的影响,用以说明本期发展水平与同期发展水平对比而达到的相对发展速度。在实际工作中,经常使用这个指标,如某年、某季、某月与同期对比计算的发展速度,就是同比发展速度。
这里有个重要的点:同比通常而言,都是针对和上一年进行比较的。
百科中提到,同比一般是第n月的比较。但实际上,也有自然日的同比、自然周的同比、季度的同比。季度的同比是用的比较多的。比如我们经常看的三季度GDP同比增长、CPI同比增长等等,都是按照季度来统计的。
但是,自然周、自然日的同比好像就比较少见了吧?为啥呢?
我们要回到【同比】这个指标的出发点上。同比的出发点,正如百科中所述,是为了消除周期性变动的影响。比如GDP的产量,每年可能是年初松,年末紧的状态。为了看到真实的增长情况,采取同比的处理,能消除周期因素。
但是,能进行同比的前提是,两个对比的周期要有可比性、一致性,这也是进行对比分析的起码要求。总不能用今年1个月的销量和去年1个周的销量比较吧,没有可比性。
而日同比、周同比,就容易出现没有可比性的问题。比如21年11月28日是周日,而20年11月28日是周五,那其实就很难比较了,毕竟周末和工作日的行为还是有差距的。周同比也是一样的问题,不再赘述。
另外还有一个重要的原因。如果看日同比、周同比,都是拿着一天、一周和去年比较,时间实在过于久远。没有太强的对比价值。除非是双十一、618购物节这种单天比较大的行为,有看当天和去年当天比较的价值,否则很少这样比较。那种感觉就像是拿着地球的一块石头和月球的一块石头比大小,实在太远了……
因此,提到同比,往往是进行季度同比、月同比,很少有按日、按周进行同比的。
(2)关于环比
【百度百科】环比,统计学术语,是表示连续2个统计周期(比如连续两月)内的量的变化比。
这里重要的点:环比是和上一周期比较的,而周期可以是年,也可以是日、周、月。
比如21年11月23日的环比,就是和21年11月22日比;21年第38周的环比,就是和21年37周比;21年8月环比,就是和21年7月比较。都是和同一个时间粒度的上一个周期进行比较。
关于同比和环比的基础定义,就介绍这些。下面聊聊我之前关于同环比,踩过的坑,大家以我为鉴。
03
—
踩过的坑:同比定义有误
先聊一个坑:对同比的定义理解有偏差。
上面讲同比环比定义的时候,也提到了:同比通常来讲,都是针对上一年的比较,而环比是基于上个周期(年、周、月等)的。这里就很容易混淆,把同比也搞成可以基于上个周期的前序周期比较。比如我。
在实践的产品或者分析中,经常涉及的时间周期类别比较多:自然日、自然周、自然月、季度等。大家一定切记:【同比】一定是和上一年进行比较的。
有的朋友可能会关心:如果我就是想要和上个月同一天比较,该咋整呢?那就不要用【同比】这个概念了~咱们可以看看微信公众平台的后台设计。
是的,直接不体现同比的概念了,直接【日】、【周】、【月】。这样其实是很清晰的逻辑:分别是和昨天、7天前、上月同天,进行了比较。当然,仅限在按日统计的看板中,可以有以上的日周月对比,对于其他时间类型(比如周、月)就不能这样呈现了。
看一个不好的设计案例:
上面的面板设计中,对于自然周、自然日也提供了同比的分析,且上面的自然日的同比是和上月同日进行比较的(这是错的)。这导致同比的逻辑过于复杂以及混乱。并不便于理解以及洞察分析。
总之,给各位小伙伴的建议就是:若是针对月度、季度的分析,可以上同比的数据,针对自然日、自然周,就不要使用同比的概念了。这时可以使用上面微信公众平台的这种统计呈现逻辑。不然就会造成同比概念的误用。
04
—
踩过的坑:细分人群的同比环比
关于同环比,还踩过一个坑:在分析细分人群的时候。
先说一下要分析的场景。比如公司想统计VIP人群在平台的历史成交金额走势,该如何统计呢?
【方法一】先找出当前有哪些人群是VIP人群,然后把这群人历史的所有成交筛选出来,最后基于时间维度进行汇总加和,即这群人的历史成交金额走势。
【方法二】先判断第一天时VIP身份的人有哪些,统计这些人在这天的成交;然后判断第二天时VIP身份的人有哪些,统计这些人在第二天的成交,以此类推。
应该用哪种逻辑呢?
很明显,第二种逻辑更合理。因为如果用第一种逻辑,其实是基于最新的人群进行统计历史,但极有可能现在的VIP用户在历史上还没有成为VIP,因为这个身份是变化的。如果用最新的身份统计历史,会造成历史上他还没有成为VIP的成交就纳入了统计,很明显,这不是我们想要分析的内容。
其实,如果历史成交明细表中的用户信息,添加了成交时用户的级别信息的话,那这个问题就很好解决了。但现实是往往成交事实表中只保留了用户ID信息,想要查用户当时的状态,需要基于ID查询用户表的历史分区,以此还原当时的级别。关于事实表,可以参考上篇文章《维度建模:事实表与雪花模型》。
我呢,其实就犯了这个问题,用了第一种统计逻辑统计。这是不合理的。用这种逻辑去分析同比、环比,统统失去了意义。因为所分析的人群对象,并不是真实的目标群体。
因此给大家的建议就是:如果是要分析细分人群(比如某个级别的用户,比如30岁以内的用户,比如学生用户等)的历史数据,切记注意要沿用历史状态哦,因为他们的身份状态会随时间变化而变化~当然,有很多信息历史和现在是不会变的,比如性别等。这种情况就还好。
关于同比和环比,以及我之前踩过的坑,就先分享这些。欢迎各位朋友们继续关注公众号~
点击左下角“阅读原文”查看更多精彩文章,公众号推送规则变了,如果您想及时收到推送,麻烦右下角点个在看或者把本号置顶!