00:00
好,同学们,我们接下来呢,把这个页面单跳转换率的需求啊,咱们做一个简单的分析啊,之前呢,把这个需求介绍了一下啊,但是光靠文字的这种介绍啊,是很难真正去理解该如何去实现的,所以我们接下来呢,用图形的方式给大家把这个流程啊咱们分析一下,并且呢,咱们拿模拟数据呢,做一个我们的类比,看看我们最终想要什么,中间怎么去实现,诶这个都可以分析出来啊,同学们好,那我们首先呢,先把模拟数据咱们先准备一下来,我这里呢给他放过来啊放过来,然后呢,我们这里主要模拟的是某一个用户他跳转了什么页面,但是啊这里面得有个时间的概念,所以我们张三啊,比方说在12点啊,咱们的052点啊,咱们的。零五的时候他访问了什么呢?我们的首页啊,咱们再写上首页啊,诶咱们这边写上一个首页啊,就是这样好了,那我写完以后,这里我标识上一个我们的颜色吧,比方说标识上一个蓝色啊,咱们张三嘛,那么张三12.05呢,他访问了首页,他观察了一下首页当中的一些商品,诶后来在12.07的时候呢,他选择了一个我们的商品,点击进入到详情页面啊,咱们叫做详情。
01:19
他点击到详情页面以后,发现,诶这个商品还是不错的呀,他看了一看图片,看了一看评论,觉得还不错,所以这个时候呢,他去到了什么下单页面,在12:10的时候,他去到了我们的下单页面啊来咱们叫下单页面,然后呢,下单页面的时候啊之后,然后呢,他又准备去支付了,所以呢,这个时候呢,我们来在我们12点咱们写上啊,12的时候他去支付了,所以啊,这是一个比较完整的一个流程,对不对,诶就是这样,可是你也不能光张三来访问我们的网站呀,是不是还有一些别人呢,比方说在我们的12.05的时候,同时我们的另外一个用户李四,诶咱们的李四他也进入到咱们网站当中啊,咱们叫李四,然后呢,他在12.05的,他也访问到了我们的首页,对不对,颜色我标识一下,诶咱们的绿色,那么你放到这儿以后,这个时候啊,出现点问题了什么呢?我们的这个李四呀,诶他在这个地方呢,干嘛呢,得到了一条数据,这个是零八,它去到的是什么呢?我们。
02:20
的这个咱们叫下单诶页面,哎,那么这个叫下单页面以后呢,回过头来干嘛呢?我们的理四呀,又到这个时间点干嘛呢?我们写上叫做零六,这个零六呢,他去到的是一个详情页面啊详情页面,然后呢,他准备下单,但是呢,他突然有事啊,他没支付啊,他没支付这事就过去了,所以啊,我们的数据是这样子的,那就是王五他又来了,王五呢是在12.07的时候来的,所以呢,这个呢往下来啊,咱们来往下走,然后呢,这个呢,我们拷贝来拷贝,拷贝以后写上咱们叫王五,然后呢,写上十二零七,他去的是什么呢?我们的首页啊来,他去的是我们的首页,嗯。
03:00
他缺的是我们的首,诶咱们的首页啊好了,然后呢,颜色呢,给它标上红色,嗯,标上红色,那么这个时候呢,他就发现呢,诶网站当中的产品还不错,所以这个时候呢,在12.09的时候,大家看啊,咱们在12.09的时候来拷贝,拷贝以后他进入到了我们的详情页面啊来零九,嗯,然后呢,来我们写上零九啊,咱们写上叫详情,嗯,好详情页面,那么到了详情页面以后,这时候呢,他发现哎哟好像不太好啊,不太好怎么办?他又去到了什么我们的首页,所以呢,诶我们在12:10的时候,哎,这个时候他去到了,又回到了首页,是这么一个情况啊好,那我们现在呢,同学们看我们的数据啊,就是这么一条一条过来的啊。我们把这个呢,我们稍微的给它来操作了一下,记住啊,这是我们的数据来源,嗯,那接下来你想要什么呢?对不对,我们说过了,我们要知道最后咱们想要什么,然后呢,分析中间的过程嘛,那咱们想要的是不是我们页面的一个单票转换率,比方说我们从首页到详情,它到底有多少的概率,对不对,所以咱们想的是这个,那么你想这个的话,那首先你是不是统计什么呢?你得统计首页它到详情页面。
04:21
它到详情啊,来咱们写上,嗯,咱们叫详情啊,咱们叫做什么呢?叫做详情页面的一个点击数量啊,比方说100对不对,你得把这个统计出来吧,诶大康你得把咱们的这个统计出来,就是页面到详情点击了多少次,对不对,诶好,那你还得知道我们首页它到底点了多少次吧,所以呢,我们这里来,诶翻过来,放过来以后同学们看一下,那这个时候我们写上就是我们的详情,诶他点了多少,比方说举个例子,点了200。首页点了200,然后呢,只有100个渠道详情,那是不是就是点击的概率是50%啊,诶就是这个意思啊好了,那我现在呢,把这个地方呢,给它加上一个箭头啊来嗯,把它加上一个我们的箭头啊来在这啊。
05:15
把这个箭头拿过来,他们这地方肯定有一个什么呢,肯定有一个我们的除法的运算在里面啊好把这个呢,我们拿过来,箭头呢,给它取消,所以咱们真正的结果呢,咱们想的是这个对不对,就是它这个呢,是我们的原始数据,那现在我们想要的结果呢,应该是它,那么你就想办法呗,怎么能够通过咱们的原始数据得到它,不就完事了吗?所以啊,咱们现在来看一看啊,首先咱们先别着急啊,来想咱们先看一看咱们这个数据啊,你会发现是不是颜色是乱的,但是我们大家想一想,我们跳转页面的时候,它应该是某一个用户的通信状态当中的页面跳转吗?对不对?你不能说张三,你说上午访问了一个页面,我下午访问了第二个页面,比方说访问了一个详情,上午呢访问了一个首页,然后呢,你给我统计他上午的首页到下午的详情,这个不太合适吧,虽然说都叫张三,但是你应该跟sin有关系,对不对,我们这里呢,就拿张三李四王五呢来代替塞in了。所以啊,其实我们的第一步先不考虑什么计算不计不计算的问题,你是不是应该先考虑逻辑上应该先把同一个绘画,或者说用户的信息先放一块儿啊。
06:28
所以啊,咱们的第一步呢,先不考虑别的,先考虑我们同一个用户的数据,我们放过来,诶放过来,所以大家看啊,我们先这么来,这是我们的它我们这边放过来啊好了,同样道理,那咱们的这个李四,诶李四拿过来,然后下单,然后呢,拿过来啊放这儿好,根据我们用户的session,先把数据呢汇总在一起,然后呢,我们的详情啊,咱们的详情,然后这边呢,拿过来啊好了。那放过来以后,这个为了让大家看着舒服呢,往上挪一些,往上挪一些好了,那么这个时候大家看啊,我们现在已经把我们不同的用户的会话呢放在一起了,但是有一个现象,大家可以看到,我们现在呢,已经把用户的信息呢放在一起了,对不对,那么我们中间呢,会有一些现象,什么现象呢,大家看是不是我们的时间好像有点不太对。
07:25
那老师那有什么呢?对不对,记住啊,你时间不对,说明你页面的访问顺序就不对,按理说首页是不是到详情啊,为什么呢?12.06到的详情,12.08到的下单,那如果你按照我现在的这个排列的话,是不是就是首页到下单,下单到详情啊,所以这个就不对了,那怎么办?那我们是不是应该在我们通过我们的筛把我们数据分完组之后,应该在组内按照时间来排个顺序啊,我们的红色和蓝色其实都是正确的,对不对,所以我们拷贝啊来拷贝,拷贝以后放过来,但是我们什么不对呀,绿色的不对,因为绿色的顺序是不对的,诶老师为什么会导致这种情况呢?为什么会导致咱们得到的数据这个顺序不对呢?因为啊,咱们采集的日志数据,它是分布式集群节点最后所生成的一个。
08:19
日志的合并数据就意味着这样,比方说我有三个,大家想啊,我有三个我们的节点,它作为服务器,那么当用户访问,它会产生一个日志访问他会产生一个日志,访问它会产生一个日志,那么最终这三个日志是不应该汇总在一块儿,但这个汇总大家想想他们有顺序吗?它不见得有顺序,所以说呢,我们的日志采集的结果是不见得有什么顺序的,但是我们在统计单跳的时候是一定要有顺序的,对吗?所以啊,我们必须要保证它跳转的是连续的,所谓的连续呢,就是有顺序的意思,对吧?诶,我们的首页它连续跳转到详情,再连续跳转到下单,这个叫做顺序,这个你不要误会了啊,好了,那么当我们的这个地方已经准备好之后,大家想想,那我们其实我们说过了,咱们要缺什么补什么,多什么删什么,你会发现在咱们最终的结果当中,其实就是页码,或者说页面的ID和那个数量吧。
09:19
跟这个session还有关系吗?没了,跟我们的时间有关系吗?也没了,对不对?所以在这种情况下,我们应该怎么办?来看来把这个往后挪。往后挪以后,那咱们的这个地方大家想一想,那是不是应该干什么,把它们都简化一下呀,所以拷贝拷贝以后放过来,然后呢,干嘛呢,把这个它去掉,把这个首页它去掉,把详把这个也去掉啊来把这个下单呢去掉,把这个支付呢,我们都去掉的啊来好首页啊,我们都是一样的啊,这个都给它去掉,让这个数据变得我们说比较简单一些,这样的话理解起来啊,分析起来就更加容易啊好,把这个呢去掉,然后把这个它也去掉。
10:06
好,把这个呢,我们都去掉啊,那么好去掉以后,那我们现在怎么办?首先大家会发现我们现在有一个分子,有一个分母,那我们其实应该分着来算吧,为什么呢?因为分母你得算,分子是不是也得算呢?所以我们发现呢,其实分母是比较好算的,对不对?那分母怎么算?同学们分母的话,大家会发现其实就是首页,就看你首页点了多少下巴,所以呢,我可以这样,大家看我们来计算我们的分母啊。所以来我们这写上啊,咱们写上咱们叫做计算。啊,计算我们的分母,那你计算分母你咋计算呀,那这个太容易了。我们是不是可以把首页首页首页首页拿过来呀,所以把这个首页首页诶给他拿过来啊,咱们拿过来好把这个首页拿过来,首页拿过来以后,那么详情详情详情是不是拿过来啊,诶放哪去了,复制一下,复制以后拿到这儿来啊,咱们拿到这儿来,嗯。
11:08
好,然后呢,我们的这个详情,诶给它放到这里,然后这个详情呢,放到这里啊好,然后呢,还有就是我们的这个下单和支付了吧,咱们下单,咱们的下单在这儿啊下单然后拷贝过来,拷贝过来以后咱们的下单就放这里了啊,咱们就放这里了,嗯,好,然后把这个再往后挪一挪啊来。好了,继续还有一个我们的,嗯,下单有了是还剩下个支付啊,诶所以把这个支付拿过来,这个支付好像就一个呀,诶就一个,所以大家会发现我现在呢,把不同的这个页码啊,给它归了个类,分了个组,那么然后怎么办?那是不是应该聚合它们呢?所以呢,来记住啊,这个时候我们聚合他们其实就够了,把这个呢,我们去掉,去掉以后把这个拿过来啊放过来,放过来以后呢,还说啥呢,那不就等于下单他点了两次嘛,对不对,诶页面被点了两次,同样道理,咱们的这个地方什么呢?我们的,诶来把它放大,放大以后咱们的首页啊,咱们来,嗯,诶把这个删掉。
12:13
删掉以后把这个拿过来啊,咱们拿过来,咱们的首页被点了四次,诶被点了四次啊好,接下来详情,咱们的这个详情拿过来,详情放过来,放到这里啊,这里呢,详情呢是我们的三,嗯,好了三,然后呢,我们的支付,那么支付只有一个一呀,所以现在呢,我们分母啊,其实就已经出来了啊,分母就已经出来了,好那么我们现在呢,把这个呢,也给它放过来啊,这是我们的分母。那分母有了,那我们接下来是不是该分子了呀,所以说来咱们看我们接下来呢,我们开始要分子的计算了,嗯。所以我们写上啊,咱们叫计算我们的分子,那么咱们要计算分子的话,大家想一想,这有个什么问题呢?我们要的是什么呀?咱们要的是连续的页面讨论,就意味着你不是单独的了吧,那我们想要的其实是什么,我们想要的是不是首页到详情啊对不对,到详情,然后呢,详情什么到我们的,什么到我们的下单,诶放过来,同样道理,下单到什么,我们的支付到我们的支付,诶就是这样好了,然后呢,这个是首页啊首页诶拿过来。
13:30
首页放到这里,然后呢到详情诶放到这儿,然后呢,详情到下单放过来啊,咱们到下单好了,这是我们的这个同样道理,再往上啊这个这个咱们往上点,往上点来,嗯。好。然后呢,接下来那么我们首页啊,首页到我们的详情啊,到我们的详情,所以啊,你可以理解为我们的数据源呢,有点变化了,以前呢是单独的页面,现在不是单独页面了,而是把咱们的数据源变成了一种特定的跳转的东西,记住啊,是把独立的数据变成了一个组合的数据啊,就是这样,那好,那我现在这个你说有啥用啊,诶其实有用啊,为什么?因为首页到详情,你恰恰就是一个连续跳转呢,它是不是就等于跳转了一次呢?
14:17
那这样的话,如果我们相同的这个跳转的话,聚合在一块儿,它不就出来了吗?所以大家看一下首页到详情,首页到详情,首页到详情,所以我们复制,复制过来以后,相同的我们放一起,那这样的话,他们就放一块了,同样道理他们也就放一块儿了,放一块以后,那接下来详情到下单,详情到下单,诶咱们过来了啊,所以详情到下单放到这边。放到这边以后下单和支付诶放过来,然后呢,详情到首页诶放过来。所以大家有没有发现,其实啊,咱们的数据呢,就是现在的这个样子啊,好,然后呢,把这个呢,再往这边推一下啊,咱们再往这推一下差不多了啊差不多了,那这个时候大家看一下咱们的这个数据不就应该放到这里面了吗?对不对,好,那然后呢,给它聚合一下,嗯。
15:13
这个聚合呢,就是我们的什么,咱们就是首页啊,咱们写上咱们就首页,嗯,首页到我们的什么呢?来到我们的详情,哎详情几次呀,哎三次对不对,好然后继续啊,哎不对呀,我这怎么写错了啊,咱们这拷贝一下,咱们拷贝一下啊来。这个呢,应该给它拿过来啊,嗯,放过来放到这儿,嗯好了,然后呢,这个呢,给它来拖一下,所以呢,我的首页到详情呢,是我们的三,那同样道理呢,来往下啊往下往下以后那我们的详情到下单呢,所以来放过来,嗯。好,我们的详情啊,到我们的下单,嗯,好到下单,那么这个应该是二吧A2,然后呢,下单到支付,所以这个呢,我们复制一下啊,咱们复制。
16:03
复制以后这个呢,咱们也给它复制一下啊,然后这个呢,我们来放到这边,那这个呢,是我们的支付啊,下单到支付。下单啊,咱们来,咱们叫支付给他个一啊给他个一好了,那接下来呢,这个呢是详情到首页啊,详情到首页放过来,嗯,咱们叫做详情。啊,详情到到我们的首页,嗯,好了,那不也是一吗?那么这种情况下,我现在呢,分子就已经什么呢,咱们就计算出来了啊,就这样太小了是吧,它要拉大一些啊好,这个也拉大一些,嗯。行了,然后呢,把这个呢,再往后推一推啊,推一推,推一推以后,那我们现在呢,通过它就可以把咱们的分子获取啊,所以写上咱们叫获取咱们的分子,那如果你获取分子的话,比方说首页到详情是三,那这地方大家想想它是不是就是三了,但是呢,你的首页到详情是三,那问题来了,你的首页是多少呢?所以回过头来大家看一下,首页不在这儿吗?这个首页它不就应该是多少,它应该是我们的什么,我们的四,所以呢,回过头来这个地方应该是四,大家想想。
17:16
它的这个单跳转换率是不是就出来了,所以啊,咱们把这个东西给它稍微的标一下,这样的话看着会明显一些啊好放过来,放一底层颜色呢,给它标上灰色,嗯,好了,这个呢,就是我最终想要的结果,三除以四应该是75%,所以我们的首页到详情的单跳转换率应该是75%,好,同学们看,我们前面就是一步一步咱们来进行的分析,先把原始数据拿到,拿到以后我们先根据用户的会话进行我们的分组,分完组以后组内进行我们的什么,我们的排序,根据什么时间啊,根据时间排序,保证它的页面跳转的顺序是对的,然后呢,我们只要保留这个页面就行了,保留页面以后我们分别来计算分母和分值,那么分母啊,其实就是有多少个页面访问,咱们就统计多少个页面就行了,这个比较。
18:17
简单,你可以把它理解为word count吗?把页面当成word,把数量当成count,那不就是word count嘛,对不对?好,回过头来计算分子,这个计算分子就比较特殊了,为什么它要保证是连续的页面访问,而且相邻的元素应该形成什么一个我们的整体,所以首页详情详情下单,下单支付,你看应该是这个样子,你要想办法得到它,那么当我们有了这样种连续页面跳转的时候,这个时候我们就可以想办法干嘛呢?把它们分一个组,然后再去做聚合,聚合之后分子就有了,有了分子得到分母,那么最后的单跳转换率不就有了吗?同学们,这就是我们一个完整的分析过程。
我来说两句