Google bigquery 使用BigQuery和DataStudio计算和显示客户生命周期价值直方图
考虑GoogleBigQuery中包含客户购买记录的表。为了简单起见,让我们关注以下属性:Google bigquery 使用BigQuery和DataStudio计算和显示客户生命周期价值直方图,google-bigquery,google-data-studio,Google Bigquery,Google Data Studio,考虑GoogleBigQuery中包含客户购买记录的表。为了简单起见,让我们关注以下属性: 客户id、产品id、金额 我想从上面的数据集创建一个Google Data Studio报告,显示客户终身价值直方图。客户生命周期值是任何给定客户的金额之和。柱状图将根据客户的总金额显示有多少客户落入某个桶中-我将定义0-10、10-20、20-30等桶值范围 像这样: 最后,我还想按产品id过滤直方图。当过滤器处于活动状态时,直方图将显示至少购买过一次给定产品的客户的总数 到目前为止,我认为这不可能在D
客户id、产品id、金额
我想从上面的数据集创建一个Google Data Studio报告,显示客户终身价值直方图。客户生命周期值是任何给定客户的金额
之和。柱状图将根据客户的总金额显示有多少客户落入某个桶中-我将定义0-10、10-20、20-30等桶值范围
像这样:
最后,我还想按产品id过滤直方图。当过滤器处于活动状态时,直方图将显示至少购买过一次给定产品的客户的总数
到目前为止,我认为这不可能在Datastudio中实现,但我希望我错了
到目前为止我尝试过的事情:
SUM(amount)/COUNT(customer\u id)
CASE。。。当
有什么想法吗?我可以复制您描述的内容,但这并不简单,所以我将尝试详细介绍所有内容。其主要思想是从同一个表中有两个数据源:一个包含
customer\u id
和product\u id
,以便我们可以对其进行筛选,而另一个包含customer\u id
和已计算的amount\u bucket
字段。通过这种方式,我们可以在customer\u id
上加入它(混合数据),并根据product\u id
进行过滤,这不会改变amount\u bucket
的计算
我使用以下脚本在BigQuery中创建了一些数据:
创建或替换表数据\u studio.histogram
(
客户id字符串,
产品标识字符串,
金额INT64
);
插入data_studio.histogram(客户id、产品id、金额)
价值观(“约翰”,“游戏”,60),
(“约翰”,“电视”,800),
(“约翰”,“控制台”,300),
(“保罗”,“沙发”,1200),
(“乔治”,“电视”,750),
(《林戈》、《电影》,20),
('Ringo','Console',250)
;
然后我直接连接到BigQuery表并获得以下字段。数据源称为直方图:
我们使用自定义查询添加第二个数据源(BigQuery
):
选择
客户识别码,
案例
当总和(金额)小于500时,则为“0-500”
当总和(金额)小于1000时,则为“500-1000”
当总和(金额)小于1500时,则为“1000-1500”
其他“1500+”
结束
作为桶的数量
从…起
data_studio.histogram
分组
客户识别码
仅使用后者,我们就可以使用以下配置制作基本柱状图:
维度是金额\u桶
,度量是记录计数
。我制作了一个bucket\u-order
自定义字段,按字典顺序将其排序为“1000-1500”在“500-1000”之前:
案例
当金额=0-500时,则为0
当数量=500-1000时,则为1
当数量=1000-1500时,则为2
其他3
结束
现在,我们在顶部添加产品\u id
过滤器,并添加一个具有以下配置的新图表:
请注意,度量是customer\u id
的CTD(Count Distinct),并且混合数据
数据源实现为:
例如,我按TV
进行过滤,因此仅显示George
和John
但其他产品仍被计入总额计算:
我希望它对你有用。太棒了!为了重现上一个屏幕截图,我必须将表和右侧图表的数据源都设置为混合数据源,并在混合数据上定义过滤器。否则,过滤器不会应用于所有元素。但它最终还是奏效了,这正是我想要的。回答得很好,非常感谢。