衡量一款产品是否健康,用户的留存率是一个关键的指标,常见的有7日留存率,14天留存率,30天留存率,60天留存率等等。今天Tay哥先讲一下如何用Tableau做Cohort Analysis ,中文一般译为分组留存率。上面提到的留存率,可以通过分组留存率进一步计算出来。
如何做分组留存率?
分组留存率计算起来比较简单,对用户进行分组,先维度分,再粒度分。
什么是维度?以Tableau自带的超市数据为例,如果按用户的首次购买时间对用户进行分组,购买时间就是维度;所谓粒度,就是时间维度是按日、周、月、季度,还是按年为分析的颗粒度?也即粒度上的差异。维度也可以是新增用户的渠道,那么新增的来源产品,还是来源的具体网址,这也属于粒度上的差异。通过这两方面的分组可以将对比的差异值逐级锁定,寻找数据表象差异背后的原因。
通常来讲,对于用户的留存分析有两个比较常用的的分组方向:
** 从用户的获取角度分组
** 从用户的行为角度分组
从用户获取的角度分组
如果按用户购买的时间分,粒度可选日、周、月、季度等,我们就可以分析后看出,各个时间段获取的客户在留存率表现上是不是有差异,例如在一个时间段内留存曲线是收敛并趋于稳定,还是强烈。通过留存率分析我们能够对流失的用户做用户画像分析,并在流失率高的时间段进行适当的干预。
在获取用户的角度,还可以对获客渠道进行划分,分析不同渠道的用户后续的留存情况。通过渠道维度的分析也可以判定不同渠道表现的优劣情况 ,好的渠道可以加大促销或者广告投入,差的渠道可以淘汰不用。
从用户行为角度分组
从用户行为角度分组对于功能比较复杂的产品也非常重要。比如一个浏览器产品,已不单单是解决用户访问网页的需求,通过浏览器,还可以向用户推送新闻、小说、视频等服务,浏览器俨然已经变成了一个内容的综合载体。一个用户选择用一个浏览器来看小说,并不代表他也一定会用浏览器来看新闻或视频。所以同样是用户流失,可能是对产品不同功能模块体验上的不满结果。
这个时候,产品团队就可以通过用户行为角度分组来具体分析存在哪些问题。还是以浏览器为例,新闻,小说,视频都应该是每日活跃的模块,如果做的好,应该表现出很高留存比例,如果分组分析中发现使用过某个功能的用户在之后的时间中留存情况很差,那就需要对这个功能进行优化了。同时,可以做竞品分析,看看相对于竞争对手,产品在哪些方面可以做进一步的优化和改进。
分组分析是一种简单成熟的分析方法,不但能够告诉我们用户在什么时候离开了我们的产品,而且能进一步告诉我们用户为什么离开,帮助我们找到优化产品的方向。同时,为了更好地使用分组分析,需要我们从一开始的数据收集和存储结构就为后续的分析做好准备。
Tableau分组留存分析实践
打开Tableau的Superstore样本数据,我们可以看见左侧数据栏中有一个维度是购买时间(Order Date),一个用户可能会来这个超市购买过多次的产品,那么如果我们需要对用户按首次购买时间进行分组,那我们就需要计算出每个用户的首次购买日期。
在Tableau新建计算字段,命名为 1st Order Date,然后在表达式中,写下如下的公式:
{fixed [Customer Name]: min([Order Date])}
这个公式用到了两个知识点,一个是Fixed详细表达式 (LOD),Tay哥以后为详细说明什么是详细表达式,什么情况下可以用详细表达式,以及三种不同的详细表达的区别。 第二个知识点是表计算函数 Min()。 这个公式用文字解释一下就是 “对每个用户,求他/她所有购买日期的最小值”,换句话,即首次购买日期。
如果按季度来看用户的留在率,那么就需要对每个用户,按照他/她的首次购买时间,对所有的购买时间进行坐标0点的统一,相对第X周,不同购买日期的用户分组留存率是多少。
在Tableau新建计算字段,命名为 Retention,然后在表达式中,写下如下的公式:
DATEDIFF(‘quarter’,[1st Order Day],[Order Date])
这个公式里,又用到一个新的函数,Datediff,它可以计算两个日期之间的天、周、月、季度等差值,这里是按季度来计算(quarter)。
然后将1st Order Date放入列,并右键,选择季度(Quarter)为粒度,同时选则为 非连续(discrete)。将Retention放入行,也选则为非连续(discrete)。
再新建一个计算字段,命名为 Number of Customers, 在表达式中,写下如下的公式:
COUNTD([Customer Name])
Number of Customer 拖入标记(Marks)>文本(text)上,可以看见,按首次购买时间分组,在随后的第X季度,这些用户中,有多少人返回Superstore购买东西。
那么我们希望得到的结果是,第X周里,某个季度内首次购物的人,有多少返回购买,需要增加对上面这个,再增加一个表计算,percent of total,然后按照行的方向,进行计算。
得到如下结果,Tableau默认的百分数是2位小数,下图已经改为0位小数。
图中倒三角形部分的百分比正是我们想要的,比如2015年Q1首次购买的用户,在第2周,有23%的用户再次购买。但是Grand Total里,有没有发现什么问题?按理Grand Total中,只有2015Q1首次购买的的用户达到了第15季,其它月首次购买的,其实都还没有达到他们的第15季,所以Grand Total应该是55%,但结果却显示为8%,这是为什么? 这个我们将在下一篇中详细说明,如何算聚合的分组留存率。
敬请关注下一讲,分组留存率的聚合计算。
啥时候更新嘞☺️
不好意思哈,最近事情多,拖了下来。。。