跳至正文

产品分析高级专题:购物篮分析的多个角度 (上)

注:本文来自于《数据可视化分析:Tableau原理与实践》第二版,即将于2022年11月出版,by电子工业出版社。 ——喜乐君

10.7 ✅✅ 产品分析高级专题:购物篮分析的多个角度


在产品分析领域,也存在类似于客户分析的多维度、结构化分析。比如不同时期上市的产品增长对比、不同产品的购物篮连带率等,前者类似于客户的矩阵(cohort)分析,后者是接下来的讲解重点——也是笔者全书中最重要的案例。
“购物篮”(basket)指消费者购物时的推车或者提篮,如今已经抽象代指客户的一次完整交易,通常与“订单ID”或者“会话Session”相对应。在一些高频消费的场景中,也可以把一个客户的所有历史交易模拟为一个“购物篮”,以客户为分析对象。
在传统经济时代,实现精准的“购物篮分析”一直是运营者的期望,而在数据驱动的电子商务领域,终于变成了现实。借助于购物篮分析,运营者可以精准分析高购买的产品、最容易被连带的产品等,然后定制精准的营销组合活动。接下来,笔者由易到难介绍两个案例,分别是:

  • 问题1:每个子类别相对于所有订单的购物篮连带率
  • 问题2:每个子类别的支持度、置信度和支持度
  • 问题3:在包含“电话”的订单中,各个子类别的连带订单数量,及连带比率

10.7.1 ✅✅购物篮比率:任意子类别相对于所有订单的比率

假定客户A、B、C分别在商家购买了两次订单,其中A同时购买了{装订机,椅子,收纳具}三个类别的不同产品;而B同时购买了{椅子,收纳具,信封}三个产品;而C只购买了{装订机}。

此时整个订单样本为3个(CNT=3),其中2个订单有装订机,1个订单有信封,按照样本推测总体特征,因此说“在所有的购物篮中,66.7%的购物篮中包含装订机,而33.3%的包含信封”。

这就是简单的购物篮连带率,指相对于所有的购物篮(订单),包含特定产品的比率。
在大数据时代,借助于高性能数据库和敏捷分析工具,无需抽样,即可完成上述分析过程。如图10-51所示,展示了“在所有的订单中,各子类别的购物篮比率”,这里使用了第9章的“合计百分比”快速表计算。

图10 51 使用合计百分比,计算不同子类别的订单比率

在某些专业语境下,上述单一子类别在总体中出现的概率,即购物篮比率,又称之为“支持度”(support),记做P(A),P是概率Probability之意。在业务分析中,单一子类别的概率对应合计百分比。由于一个订单中会同时包含多个子类别,因此每个子类别的占比之和会远超100%。这个简单的问题,是接下来两个高级问题的“准备”,它们分别代表迥然不同的分析方向:

其一是算法的方向:计算类别之间的支持度、置信度和提升率,设计程序化的自动推荐算法,这个是算法团队的前进路线,是“智能商务”的典型代表

其二是业务的方向:计算和某个子类别关联销售的其他子类别的数量及连带率,指导门店的营销组合、陈列布局等业务活动,是“商务智能BI”的典型场景

不管是哪一条路,都需要深谙业务逻辑方可理解。

10.7.2 ✅支持度、置信度和提升度分析:类别之间的关联推荐

在上面816个订单中中,有60个订单中包含桌子,228个订单中包含椅子,如果业务需求是“同时包含指定子类别和任意子类别的订单比率”,问题就异常复杂。循序渐进,这里分为两个部分。

1、同时购买两个子类别的购物篮比率

“同时包含桌子、椅子”是二者中重合的部分。计算重合,首先考虑第6章介绍的“合并集”方法,不过这里缺乏灵活性。集的背后是指定详细级别的条件判断,因此直接使用FIXED LOD更加灵活。这个过程需要使用行级别计算、聚合计算和FIXED LOD计算,是对数据处理的高度抽象。

这里先从熟知的数据表明细级别开始,增加辅助计算理解业务过程,通过查看每个订单后标记的数量,可以进一步判断“同时包含桌子和椅子”的订单。两个辅助判断如下所示:

IIF ( [子类别] = "桌子" , 1, null)
IIF ( [子类别] = "椅子" , 1, null)

如图10-52所示,“包含桌子”和“包含椅子”的明细行会被标记为1,由于结果默认是数字,数字度量在视图中默认被聚合。由于当前是最为详细的明细级别,因此聚合结果还是1 。

图10 52 使用行级别计算,为满足条件的明细增加标签

上述的过程,是整个计算中至关重要的“桥梁”,它连接了真实的业务世界和虚拟的数字世界。通过行级别计算,把“包含桌子”的条件量化为数字。只有这样,才有了接下来的无限可能性。

接下来问题的关键是,如何把“同时包含桌子和椅子的订单”也转化为量化数据。判断的对象是“订单ID”,而判断条件当前又是行级别的,因此需要“指定订单ID详细级别完成聚合”,如下:

- 字段名称:同时包含桌子、椅子的订单ID
IF { FIXED [订单 Id]: MIN(IIF([子类别]='桌子',1,NULL)) + MIN(IIF([子类别]='椅子',1,NULL))}=2,
THEN [订单 Id]
END

“同时包含桌子和椅子的订单”需要满足两个特征:至少包含一个桌子,并且(and),至少包含一个椅子。因此转化为上述的MIN聚合和AND逻辑计算。

这里的逻辑判断也可以分为两个FIXED判断,不过从性能角度考虑,自然指定一次更好,只是理解起来也更抽象。接下来,就可以完成“包含桌子、椅子的订单”在全部订单中的比率了。

由于当前视图的详细级别是“子类别”,“全部订单”对应更高聚合度详细级别,这里可以使用表计算的TOTAL合计,也可以使用FIXED LOD预先完成。相比之下,表计算更值得推荐。如下:

购物篮比率 (桌子&椅子) = COUNTD(同时包含桌子、椅子的订单ID)/TOTAL(COUNTD([订单ID]))

借用统计学的概率模型,P(桌子)代表“订单中包含桌子的概率”,而用P(AnB)表示“订单中同时包含桌子和椅子的概率”。

接下来更进一步,能否把这里的比率延伸到“任意子类别和指定子类别同时出现的概率”呢?

此时,就需要一个参数传递“指定子类别”,然后考虑视图中子类别详细级别如何影响计算的过程。如图10-53所示,展示了同时包含当前子类别和参数子类别的订单,相对于全部订单的比率。这里一方面要把“同时购买参数类别和当前子类别”量化,另一方面要计算更高聚合度详细级别的聚合值。

图10 53 和参数子类别(电话)同时销售的子类别在全部订单中的占比(支持度)

到这一步,想必已经超过了大部分业务用户的认知边界;笔者写到这里,也是思考良久方才落地。在上述支持度基础上,还可以进一步计算置信度和提升率两个进一步的抽象指标。
支持度的进一步抽象化:置信度和提升度
这里先简要介绍三个关联分析术语(这里A代表指定参数子类别,B代表任意子类别)[5]:

  • 支持度Support:代表在所有样本中出现的概率,如购买桌子的比率、同时购买桌椅的比率
  • 置信度Confidence:指购买A之后再购买B的条件概率,计作P(B|A)
  • 提升度Lift:指先购买A再购买B的比率,计作Lift(A>B)

这里可以使用如图10-54的关系图表达它们之间的关系和计算逻辑。

图10 54 支持度、置信度和提升度

如果两个部分的重合非常小,那么置信度和提升度就会接近于0;相反,如果二者几完全重合,那么置信度就会接近于1.使用上述的方法,如图10-55所示,展示了参数子类别相对于每个子类别的置信度和提升度,这里的逻辑部分略微复杂,高级用户可以参考图示完成。

图10 55 指定参数子类别,计算它相对于其他子类别的置信度和提升度
分析的过程就是层层叠叠的抽象,不管是计算还是指标都是如此,这个案例表达的淋漓尽致。

阅读至此你会发现,这个方向不是业务用户所能触及,即便借助于Tableau实现了上述逻辑,给业务领导解释清楚业务意义和决策价值,解释成本和难度也不亚于计算逻辑本身。这种概率化的统计,常用于业务自动算法、自动推荐等专业场景。作为业务分析结果给领导展现并辅助决策,笔者推荐接下来“购物篮连带率”这种更有业务代表性的方法。

选择某个子类别,查看其他子类别和它的关联度,在组合营销、陈列指导方面更有现实意义。

by 喜乐君

Oct 8, 2022

《数据可视化分析:Tableau原理与实践》第二版


了解 喜乐君 的更多信息

订阅后即可通过电子邮件收到最新文章。

《产品分析高级专题:购物篮分析的多个角度 (上)》有6个想法

  1. 图10-55,当参数=椅子(A),其他子类别(B)=椅子时,’包含参数和当前子类别的订单 不同计数’为啥不是等于’订单Id不同计数’。因为在我的理解中,当参数=椅子(A),其他子类别(B)=椅子时,P(AnB)=P(椅子)。望老师解答。谢谢!

    1. 上述的分析方法,确实不适用于自己的情况。 “同时购买参数子类别和当前子类别” 需要满足同时包含两个子类别,只有当前类别,或者只有参数子类别,都不满足条件,所以这个计算数量少于 参数子类别的全部订单。 从完整性角度看,该案例后续需要补充关于这一点的说明。

      1. 我觉得能不能这样,购买A的订单={ FIXED [订单Id]:MAX(IF [子产品]=[子产品 参数] THEN [订单Id] END)},
        同时购买A和B的订单数=COUNTD(IF [订单Id]=[购买A的订单Id] THEN [订单Id] END).

        1. 这个思路也是很好的。都是通过增加“辅助列(辅助标签)”的方式实现,我之前习惯了返回1 (相当于true)并进一步计算,你这里直接返回了订单ID。由于订单ID接下来要作为计数使用,这样也能简化一些环节。这个方式似乎比我的方法更容易理解。
          而且,此时对于A参数而言,同时购买A和A的就是它的全部数量。

      评论已关闭。

      了解 喜乐君 的更多信息

      立即订阅以继续阅读并访问完整档案。

      Continue reading