【运营】任意两个时间段的复购率?Power BI一招帮你搞定

2020-04-14 15:26:38 浏览数 (1)

前面几讲内容,我们分别介绍了新用户和流失客户的分析

【运营】新用户数量?Power BI简单三步计算

【运营】新用户明细?Power BI一招帮你搞定

【运营】沉睡、流失客户分析?Power BI一招帮你搞定

在日常的运营管理中,我们经常会遇到想要查看某个时间段的用户在下一个时间段的复购情况,而且时间段是任意的,可以按月,可以按周,可以任意选择时间段,那么这个该如何用Power BI实现呢?

我们先整理一下思路:

既然是任意选择时间段,那么切片器一定是直接用日期切片器,选择范围。

前一个日期范围和后一个日期范围,所以需要同时有两个切片器。

那么问题来了,我们知道同一个字段的切片器相互之间是有影响的,所以一个日期表是不能解决问题的,我们需要第二张日期表。

代码语言:javascript复制
日期表2 = '日期表'

新建表-输入以上内容,就这么简单,它会复制日期表的全部内容到日期表2中。

同样,日期表的日期字段也要和订单表建立关联:

我们将两个日期字段都添加为切片器:

我们要做的就是添加几个度量值:

  1. 日期1范围的客户
  2. 日期1范围的客户在日期2中也产生了订单
  3. 以上两个的百分比

我们直接给出度量值:

代码语言:javascript复制
日期1的客户数量 = 
CALCULATE(
  DISTINCTCOUNT(sales[客户ID]),
  ALL('日期2')
)
代码语言:javascript复制
日期1的客户在日期2中复购的数量 =

VAR CUSTOMERSINDATE1=
  CALCULATETABLE(
    SUMMARIZE(sales,sales[客户ID]),
    ALL('日期2'[日期]))
VAR CUSTOMERSINDATE2=
  CALCULATETABLE(
    SUMMARIZE(sales,sales[客户ID]),
    ALL('日期'[日期]))
VAR REPEATCUSTOMERS=
  INTERSECT(CUSTOMERSINDATE1,CUSTOMERSINDATE2)

RETURN COUNTROWS(REPEATCUSTOMERS)
代码语言:javascript复制
复购率% = DIVIDE([日期1的客户在日期2中复购的数量],[日期1的客户数量])

这里用到了一个新的函数:INTERSECT

根据函数的描述,也就是求两个表的交集。再用COUNTROWS计算多少行,就是复购的数量,再除以日期1的客户数量,就得到了【复购率%】。

放到矩阵中:

这样,我们随意拖动两个滑竿,就能实现按年、季度、月、周等任意时间段的复购情况。

如果想查看明细,可以添加一个客户ID的字段来下钻:

在查看不同维度的复购率时,发现了一个有趣的事情:

当左侧切片为地区时,发现只有华东和中南复购分别为2和3,总和应该为5,但是总计行是20,20也是用类别做切片器时的总和,这是怎么回事呢?

还是我们之前说的,总计行的计算方式与其他行是不太一致的, 也可以说是完全一致的,为什么这么矛盾呢?

因为普通行受到本行的切片器影响,所以华东地区只查看华东地区内的复购,中南只看地区内的复购,有可能会发生华东地区的客户下一次在华北地区购买,这样,这笔订单,既不属于华东的复购,也不属于华北的复购。

然而总计行,是忽略地区切片器的,不管你在哪个地区购买,在哪个地区继续购买,都是复购。

说总计行和普通行完全一致是因为度量值完全一致,说不一致是因为切片器不同。

我们修改一下度量值:

代码语言:javascript复制
日期1的客户在日期2中复购的数量 =

VAR CUSTOMERSINDATE1=
  CALCULATETABLE(
    SUMMARIZE(sales,sales[客户ID]),
    ALL('日期2'[日期]))
VAR CUSTOMERSINDATE2=
  CALCULATETABLE(
    SUMMARIZE(sales,sales[客户ID]),
    ALL('日期'[日期]),
    ALL(sales[地区]))
VAR REPEATCUSTOMERS=
  INTERSECT(CUSTOMERSINDATE1,CUSTOMERSINDATE2)

RETURN COUNTROWS(REPEATCUSTOMERS)

‍CUSTOMERSINDATE2添加了一个ALL(sales[地区]),也就是不受左侧的类别切片器控制,这样就可以显示正常了:

这时候,仍然是总计行20不等于各行相加22,因为毕竟有重复,是符合业务逻辑的。

有时候我们不仅关心客户本身的复购,更关心客户购买产品的复购,即虽然客户A在下一个时间段复购了,但是他在前一个时间段购买3种类别,在后一个时间段只购买了1种类别,我们也需要相应关注,比如:

问题来了,比如第二行的戴虎-14065显示复购,但在复购的类别中却是空的,为什么呢?

详细解答,敬请关注本公众号,咱们下期再见。

预祝各位运营小伙伴,各自岗位的用户复购率为100%!

bi

0 人点赞