00:00
OK,那现在呢,我们看一下这个这个需求六留存,留存率留存率啊嗯,那现在我们打开这个文档看看留存率,呃,我们这要做的事是什么啊,大家看我们前面讲了,我们最终要展示的一个效果就是这样的。就这样的,我就是呃要把这个呃,比如说是呃,每一天的他这一日两日三日留存都给它算出来,然后这么展示出来这样的啊,然后我现在想跟大家说的是什么呢?就是在公司里边呢,呃可不是说就只让你算个什么123日留存就完事了,你可能后边呢,还会有四日留存,还有五日,还有六日,当然连续呢,可能一般情况是这样,就是会有一个什么连续七天的一个留存,1234567,那后边呢,就不会再连着了,可能后边直接跳到什么15日留存,呃后边可能还会有什么三十日留存,哎还有可能有60留存,诶基本上后边呢,就是这样的一个比较稀疏的这样的一个呃留存天数了,大致是这样的,就是说呃算多少天的都有,都是都有啊,那这边呢,就是说甭管你算一天两天三天,还是这个50天还是60天,呃,算法都是一样的,算法都是一样的啊,所以说咱这呢,没有算那么多,我们就只算了一个三日的流存123。
01:12
嗯,那后续想算多少天的呢?你再往后加这个SQ就行了啊,是这样的啊好了,那现在既然咱们要算三二留存,那接下来我们就来分析分析啊,分析分析,比如说咱们以那数仓当中的一个例子啊,咱们举一个例子吧,比如说我现在呢,呃,要算一下2020年杠零三杠这个幺零,咱们就算它的吧,我想算这一天的。这个比如说一日留存。然后呢,CTRLCCTRLVCTRLV。呃,还要算什么呀,还要算两日对不对,咱们不是说这咱们只算这个三日留存吗?123。30留存好,那我想算这个某一天的三个留存是吧,那大家来思考一下啊,我们要想算这个这三个值我分别需要哪些数据,我分别需要哪些数据啊,分别需要哪些数据,首先我这边的你看啊,我去说这个留存的时候,我都是怎么说的,诶这个笔不好用了啊。
02:16
我都是怎么说的,我都这么说的,都是哪一天的几日留存,对不对,那这个存的哪一天指的是什么呀?是不是那个新增日期呀,对,因为咱们留存都知道是新增,后边呢有在活跃,这叫留存对不对?那这边咱那个哪一天指的是新增日期,那我要想算二月2020年3月10号的一日留存,我需要什么数据,那是不是首先你得需要这个CTRLC。CTRL,你得需要这一天的什么新增吧?对不对,你得需要这一天的新增用户,新增设备,那我还需要什么呢?还需要什么,怎么样才能找到这个,呃,3月10号的一日留存用户怎么才能找到,看这个图啊,怎么才能找到。你是不是首先你得明确这个所谓的3月10号的,呃,这个一日留存用户指的是什么,指的是什么,指的是在13月十号新增的,对不对,然后这新增的这部分用户里边啊,诶然后呢,他在哪,他在这个,比如说在这个3月11号他活跃了,他活跃了,那OK,那这一部分用户,我是不是才能叫做3月10号的这个一日这个留存用户啊。
03:24
对不对,诶,只有这样你才能叫做他的一日留存用户啊,也就是说你怎么样才能找到我这个一日留用户,你是不是必须得拿到11号的新增之后,是不是才能去想办法去找到我这个3月10号的新增用户啊呃,这个留留留存用户留存用户啊,再来重复一遍,就是说你必须得先拿到3月11号的活跃用户之后,才能想办法拿到咱们3月10号的一日留存用户。得拿到这个活跃才行,那也就是说咱们这儿啊,要想算3月10号的一日留存的时候,你需要的是十号的新增加上这个11号的,诶这个活跃。
04:03
你才能拿到。跟之为3月11号的活跃,这个应该是能够想明白的啊,然后再往下,那下边我又要算什么了,我下边了又要算这个3月10号的两日留存了,那要算两日留存应该是什么?是不是仍然需要的是十号的新增,但是活跃是哪一天的活跃了,是不是得是两天之后的活跃了呀,是不是也就是需要是12号的活跃对吧?那这边我给他补上吧的活跃。那这边呢,下边也是得活跃啊,CTRLC。空格ctrl v OK,那同理,那现在我们要算3月10号的三日留存,那是不是也应该是把这个CTRLC拿下来,然后CTRLV放在这儿,那这个应该是需要几号的了,应该是需要13号的活跃了。对吧,这个大家现在应该都能看明白,都能看明白,但然后呢,我现在问题来了啊,问题什么问题来了,我前面讲过,咱们做数仓里边这个所有需求或者所有的指标的时候。我们的思路都是什么样的,都是说你先把这一天的计算任务先给他明确下来对不对,把一天的S写完,然后再去改脚本对不对,那现在我们的问题是什么呢?咱们去算这个留存的时候。
05:12
我们一天的任务到底应该是什么?咱们一天的任务到底应该是什么?大家看我这是一天的任务吗?比如说我3月10号的一日留存,3月10号的两日留存,3月10号的三日留存,这是一天的任务吗?这不是一天的任务,可能大家会会会想这么去算,把这个东西放到一天去算,但这个东西它是一天能算出来的吗?诶可以思考一下啊,你看一下我们一个一个看你说这个首先啊,十号的一日留存哪天就能算了,哪天就能算了,是不是拿到11号的这个这个留存就能算了呀,当然什么时候才这个活跃就能就能算了,那什么时候才能拿到11号的活跃呢?咱说正常是12号才能拿到啊,对吧,因为咱们是算前一天的嘛,对不对,十二天能到,那也就是说这个东西啊,我实际上我12号就能算了。
06:03
那他呢,他是不是13号才能算,那这个呢,这个是不是14号才能算。对不对,那这样一来的话,你看看这个东西,它不是一天能算的,它不是一天能算的。那我这个哪些这个哪一天的几日留存,我是一天可以可以在一天里边去算的呢,也就是我一天的计算任务到底应该是什么呢?咱们继续往下分析啊,继续往下分析,我们看一下这个2020年,我举一个例子吧,咱们就举某一天啊,比如说2020年这个几号啊,这个比如说14号。3月14号啊,这一天的计算任务,它应该是啥。嗯,来往下想啊,刚才不经不是已经分析过了啊,这个东西是不是就得3月14号去算啊,对吧,因为我需要拿13号的活跃,14号才能拿到,对不对,那也就是说咱们把这个拿回来,我能算这个。这是我13号,我这是我14号能算的第一个这个留存,也就是十号的三日留存,那我还能算哪一天的几日留存。
07:08
还能算哪一天的几日留存?我是不是还能算这个呀,CTRLZ,然后放在这CTRLV,我是不是还能算11号的两日留。对不对,那11号两天之后是不是就是那个,就是也就是说需要13号的活跃呀,13号活跃14号才能拿到。对不对,那OK,那同理还有谁,我是不是还有这个12号的。一日留存啊。对不对,那也就是说我其实啊,我这个3月14号算的,我应该是十号的三日,11号的两日和诶12号的一日留存。这是我的一天的计算任务,只要你能够把这一天的计算任务写出来,那OK。是不是再改脚本那就容易了呀?就是这个意思啊,那就是这个意思,那所以说那现在咱们已经明确了我这一天的计算任务之后呢,那接下来咱们写circle,那其实就比较容易了啊,其实现在大家可以跟我一起看一下这个文档上这个图,你看这个图啊,它这个颜色是不是有好几个颜色,这个颜色不是随便画的,我这个相同的颜色是一天的计算任务。
08:14
这是一天的计算任务,这个呢是一天的计算任务,这是一天的计算任务,能看懂吧,也是一个颜色,我就是一天算的一个颜色是一天算的,是斜着的,诶其实这块呢,大家能把这个弯能绕过来,也就说能把这块能给绕过来,那这个S你其实就能写了。就是这点难度啊,那OK,那接下来呢,我们来看看咱这个circle呢,它应该怎么去写,应该怎么去啊,我先把这个视频录一下,咱分开啊。
我来说两句