00:00
啊好,接下来我们看最后一个,大家认真听啊,这个商这个品牌复购率啊,品牌复购率啊,这个品牌复购率呢,之前咱们分析过啊,其实你要想算这个所谓的品牌复购率啊,咱们其实主要主要求谁呀,是不是主要求的是这样的三个值啊,对不对,那以品牌A为例啊,那我们就要求出来购买品牌A的有几个人。购买B的有几个人,购买C的有几个人,是不是不不是什么购买C啊,重新说我们以品牌A为例啊,以品牌A为例,那我们要求的应该什么呀?购买品牌A这个次数大于等于一的有多少人?购买品牌B,呃,还是A呀,购买品牌A啊,这个次数大于等于二的有多少人?购买品牌A这个次数大于等于三的有多少人,咱们要求的是这几个人数啊,对吧?啊,当然呢,我们这儿是只是针对一个品牌来说的,我们要求的话应该是求的是什么呀?是所有品牌的啊,对不对啊,我们得去求购买每个品牌一次上的有几个人,两次以上的有几个,三次以上的有几个人。
01:04
能理解吧,啊,那关键是怎么去求这个人数。啊,怎么修这个人数啊。关键是怎么去求。啊,那可能咱们这儿不太好想这样想,那咱们举一个生物上的例子啊,那比如说咱们,呃,咱们班那个,比如说假如说就去统计一下那个每每周那个迟到的人数啊,迟到的啊,统计一下迟到一次以上的有几个人。啊,迟到两次以上的有几个人,迟到三次以上的有几个人啊,这时候应该是相同的道理,对吧,那你说让你统计这个,你怎么统计啊。啊,比如这一周里边啊,一次以上的有几个人,两次以上怎么统计啊,你让你统计会怎么统计。那让你去统计的话,你是不是肯定会先去把每个人本周迟到的次数,你是不是得先搞清楚啊,比如说张三我先迟到了几次,那李四迟到了几次,王五啊迟到了几次,对吧?啊,王天水迟到了几次,对不对啊,就是说你需要把这个每个人的要次数是不是得先求出来呀,求出来之后你再去数这个次数大约等于一的有几个,大约等于二有几个大于等于三的,是不是应该是这样去去去数啊,对吧?哎,那咱们这儿也是一样的道理啊,一样的道理啊,咱比如说以小米品牌为例。
02:22
啊,你要想去求购买,他一次以上的有几个人,两次以上的有几个人,三次以上,那你得怎么办呀。你是不是得先求出来,求来啥?每个人购买小米品牌的次数是多少吧,对不对?比如说张三购买过小米品牌两次,李四购买他三次,王五购买过六次,是不是得把每个人购买,每个人购买小米品牌的次数都求出来呀,对不对?啊,那这个怎么求啊。咱们就咱们一会来分析啊,一会来分析,不用着急啊,别着急啊,那求完之后你是不是再去数这个,呃,大于一的有几个,大于二的有几个就可以了呀,对不对,那就这样一个道理嘛,当然了,我们这儿不是只求小米品牌,我们要求所有品牌,所以说你其实应该求出来啥呀,是不是得求出来每个人购买每个品牌的次数。
03:17
对不对啊,每个人购买每个品牌的次数求出来就是这样的啊。啊,那现在关键问题是如何去统计。每个人购买每个品牌的次数。如何统计?嗯。咱不要就要就要,你只要把那个每个人购买每个品牌的次数求出来了,那你就能统计这个大于一的有几个,大于二的几个,大于三的有几个了,对吧?啊,怎么统计每个人购买每个品牌的次数,当然咱们这儿所谓的购买在这儿呢,是按照下单算的啊。按下单算啊,这个怎么整。啊,每个人购买每个品牌的次数怎么求?
04:04
嗯,怎么找啊。其实这块啊,咱们可以这样去考虑啊,我先拿到什么呀,我我是不是得先知道哪个人他购买过什么品牌。是不是才能统计他这个购买的次数啊。没错吧,那咱们现在在哪能找到人,也就是user和品牌之间的这个关系呢?咱是不是得先知道哪个user这购买的什么品牌呀,对不对,先得把这个购买记录是不是先得拿到啊,拿到之后才能统计次数嘛。啊,怎么拿这个记录啊,关键是。这个记录咱们去哪找?我们现在有一张表能够直接呃拿到这个就是哪个用户购买过哪个品牌吗?能直接拿到吗?没有谁,但是我们能拿到什么呀。对,但是我们能知道啊,就是哪个user购买过哪个SKU,我们是知道的,对不对,这个从哪能看到。
05:04
是不是DWD层的?Older detail这张实时表是不是可以体现出来用户和SK之间的关系对不对?那我现在想得到的是啥?是用户跟品牌之间的关系吧?那作业这得怎么做?是不是得去跟商品维度本JO对,咱们就知道哪个用户购买过哪个品牌了,是不是这个道理啊,那所以咱们现在呢,先去把这个关系先拿到啊,先拿到,那所以这这俩呢,需要join一下啊好,那现在呢,我们开始去写一下这个S啊。来,那我们一起写一下啊,那首先我们需要先拿到,咱们得先知道哪个人他购买了哪个SKU吧,对不对,来我们写一下啊,They like,应该from DW。哪个层DWD层吗?先fact哪张表,哎,Old detail啊,那日期呢,我们要过滤我们是月品牌出购率对不对,这是月,是不是得过滤一个月的数据啊,那怎么过滤一个月的数据来着,是不是用data for卖可以过滤啊,然后呢,把这个谁拿进去,把DT诶拿进来,然后格式化成这种YYYY-MM是不是这种格式啊,让它等于等于谁data format。
06:16
啊,然后再把谁放进来,把谁把当天日期嘛,2020杠零六杠幺四,然后逗号,我们把它格式化成这个YYYY,然后杠MM这个,这样一来是不是能把这一整月的数据过滤出来啊,能够过滤出来行,那这一整月的数据过滤出来,呃之后呢,那我们现在就可以去拿了啊,咱们拿什么呀。咱拿啥呀,咱是不是得去拿啊,就是呃,哪个user。对不对,然后呢,他购买了什么SKU,是不是就把这个购买记录先拿到就行了呀,我们现在要的是不是就是他没错吧,好,那这俩字段先先拿出来,完了之后呢,我们现在最终目的不是想获取哪个U,这购买过什么SKU,我们想获取的是啥。
07:05
是哪个user购买过什么品牌,对吧,那这时候呢,咱们是不是得去拿这个牌呀,去哪拿,是不是再来一个紫查询,那select什么呀。来附上哪张表,应该是SKU in four吧,应该是DWD层的DSK分这个没问题吧,啊从他拿啊拿完之后呢,我们日期过滤一下YDT等于等于啥?2020杠零几零六杠幺四。啊,这个没错吧,啊,那它那是我们这里面只需要谁就够了呀SQD。啊,当然他叫ID对吧,叫ID对吧,那还有谁呀。是不是得拿品牌ID,这是我们需要的啊,那其实这里边儿啊,咱们还需要其他字段,还需要哪个字段呀。对,因为咱们最终结果当中,我们要统计的其实不光是品牌下品牌的复购率,我们要求的是什么?是每个一级品类下边的这个品牌的每个品牌的复购率,对吧?每个一级品类下边的每个品牌的复购率,那既然是有每个一品类,是不是咱们一会分组的时候得按照他们仨进行分组啊,对吧?一个是t m midd,一个是一品类ID,还有一个是一级品类的名称,是不是咱们得按他们仨分组啊,这仨你就把它看成一个整体就行了,能理解吧?啊OK,那所以说我们得需要拿到这样的三个字段啊,还得拿一个CATEG1ID啊,再拿一个CATEG1NAME。
08:29
好,那把它俩拿回来,拿回来之后呢,这俩需要做一个什么东西。说要做一个啥呀?需要做一个join吧,对不对?那关键问题来了,你说join的话,我应该以谁为基准啊?用哪种join方式,Left join inner join water用谁呀?用谁是不是得看你想返回的结果是哪一部分呀,对不对,咱们这想返回结果是哪部分呀,是不是应该是这部分啊,是这部分啊,那既然是这部分,那咱们这儿应该用什么呀?Left draw是不是就行啊来left draw,用left draw,这回咱们用left draw。
09:02
好,那既然用left join的话呢,那CTRLX,我们这儿呢,写一个括号啊,来CTRLV把它放进来,这边我们往前推一下啊,那这个呢,我们把这个分号去掉。啊CTRLX啊来走CTRLV。来,那这样一来的话呢,我们就可以写一个啥了,我们就可以写这个left round了,Left啊,那这边我们起个别名嘛,这个叫做older order detail嘛啊,这个叫做order info,咱们叫nsku ino就叫SKU吧啊,Left,诶,John join啊,那连接条件呢,应该是呃,OD点啊SKUID等于啥,等于SKu.ID是不是照上了啊好,那照上之后呢,我们就可以从这里边去选了啊select,然后呢,然后from。那现在问大家一下啊,我们现在谁来的RO的这个紫插裙啊,这俩照是不是应该是一个虚表啊,对吧?那这个虚表有几个字段呀?
10:02
两个加四个,一共六个字段,对不对啊,一个六字,那每一行数据应该是什么。是不是一次下单记录对不对,因为因为什么,咱们是不是从这张表当中拿的数据啊,对不对,一行数就是一个商品项的一个记录吧,对不对,就是一个记录,那现在呢,我们其实就能知道了啊,一行数据实际上我们就知道了,是不是这个用户购买的这个SKU对不对,当然这个SKU是哪个品牌的是不是咱们也知道啊,属于哪个一品类咱也知道了啊,那所以说接下来的事儿咱们就容易了啊,我们现在最终要统计什么是每个user购买每个品牌的次数对不对,那现在是不是一行数据就代表这个user购买的这个品牌一次对不对,那所以这边咱们直接怎么做就行。啊,要统计每个user购买每个品牌的资质,咱们直接怎么做就行。怎么做就行啊?每个现现在要明白啊,咱们这个数据像这个虚表一行数据指代的就是一个U字,购买了一个品牌一次,对吧,一行就是一次,我们统计的是啥?统计的是每个U字购买每一个品牌的次数,对不对,那你只需要怎么做?
11:11
分组抗的是不是就行对不对,关键是按谁分组。是不是得按照user加上品牌ID进行分组啊,对不对,你得知道是每个user购买每个品牌的次数,所以说你分组是不是得按照这俩字段分组啊,对吧?那所以这块呢,大家得注意啊,这边呢,咱们分组各入怪,那首先UID咱们得有,那谁还得有啊,T m midd也得有,那刚才也说了,咱们一品类这仨是不是现在当成一个整体啊,那所以这呢,我们也得带着他俩,那就开个1ID,再来一个开1NAME没错吧?那你按他们仨分组完之后,你上边呢,我们再去进行选择啊,那你现在把什么样的数据分到一组了呀?是不是把同一个用户购买同一个一级品类下边的同一个品牌的记录分到一组了,对不对?那我们直接看看,你就能得到那个所谓的购买次数了啊,来这儿往前推一下。
12:08
呃,走走走好,那接下来我们看得清cot,那这样一来啊,咱们得到的就是每个用户。购买每个一级品类下边的每个品牌的次数了,对不对,是不是得到它了,好,那得到它之后,咱接下来怎么做,已经得到这个次数了。啊怎么办,是不是该数这个有多少人了呀,对不对,该数了,数什么大于这个次数大于一的有几个,大于二的有几个,大于三的有几个,是不是该数这个东西了呀,对不对,但是这时候你数的时候啊,你得怎么数。咱们直接数吗?直接不行,我们得怎么说,我们要最终要得到的是每个品牌的。复购率对不对,那所以你得怎么说,是不是得分组数啊,对不对,我得按什么分组啊这次。
13:01
再分组,咱们就得按照谁出了,按按谁分组了,就得按照是不是按照品牌分组了呀,对不对,因为咱们最终结果我们的主见是品牌,咱们这次再分组统计呢,得按品牌分组了啊好,那这时候咱们需要把这个呢再做一个查询啊来括号。啊,CTRLV来,咱们把这个呢往前给他推一下啊。哎,Type一下,好,那这个呢,我们先起一个别名叫做T1吧,叫T1啊,我们现在select from t1啊,Select。From啊,咱们这个T1好,那这时候咱们需要怎么做。是不需要分组啊,需要分组啊,你得分组统计嘛,因为现在你已经知道了每个用户购买每个品牌的次数了,对不对啊,那咱们接下来要干什么,要按照品牌分组啊,然后呢,不同的品牌里边我去数哎那个各种人数就行了啊啊,那现在咱们分组啊,按品牌,当然按品牌的话呢,我们这后边这俩字段是不是也不能落下呀,咱们得统一带着他俩CR。
14:05
好,那这回咱们按他们仨字段,相当于你会把什么样的数据分到一组啊,是不是相同品牌相同品类的数据是不是分到一组里边去了呀,对不对,那按组统计呗,啊,那相当于假如说我以品牌A为例啊,那品牌A这一组里边现在有什么样的数据啊。什么样的数据?什么样数据是不是就有你刚才你选的这样的数据啊,对不对,那品牌A里边现在就有啊,User a购买品牌A两次,To B啊,购买品牌A3次,User c购买品牌四次,你是不是一个组里边有这样的数据啊,这是不是有user ID有count星啊对不对?那你要干啥?你是不是就去数了,大于一的有几个人,大于二的有几个人,对不对?那咱这可以用什么去数啊?是不是用sum衣服就可以啊对不对,Sum衣服大于等于一我就记一,否则我就记零,大于等于二我记一,否则就记零,是不是应该是这个道理啊好,那所以这边呢,咱们这个count的一会需要用的,所以这边呢,我起个别名叫做O,诶看看来购买次数了啊好,那这时候呢,我们按他们分组,然后上边就可以选了啊,这回再选是不是就没有user的事儿了呀,对不对,我们再选主见,那就是品牌,哎,这个作为主见了啊。
15:17
哎,这个往前推走。这个拿下来,这个也拿下来。啊,这个退回来啊,那接下来我们选择所需字段啊,那这时候呢,我们已经拿到了,已经按这个品牌分组了,那这时候我们就开始数了啊,Some some,什么if啊,如果说我那个order or DR order count,如果大于。等于一,那就说明购买过,购买过就记一,否则就记零,那咱们现在得到的就是购买一次以上的人数吧,那接下来some啊,然后再来一个if啊,If什么order count,哎,如果是大于等于A2,那我就记个一,否则我就记个零,那我得到的就是购买几次的呀,两次的,那同样的道理啊,CTRLD,那把这个二呢改成三,那就是购买三次以上的有几个人啊,那你只要把这三个值得到了,那是不是再比一下就能得到所谓的单次复购率和多次复购率啊。
16:19
就是这样的一个思路嘛,啊,这就是咱们这个需求。嗯,其实这里边儿呢,可能就是涉及到了几次这个力度的转换啊,刚开始呢,我们的主见是什么呀,主见是用户加。最开始应该是啥?最开始应该是用户加商品对吧,然后你照应一下变成用户加品牌对不对,那完了之后呢,我们对这个品牌印分组,最终呢,得到啥呀,最终得到哎这个品牌的,哎各种这个复购率啊,是这样的啊,这涉及到几次这个力度的转换啊,那其实这个需求本质上不是很难啊,不是很难,好这是咱们这个需求,我把视频先录一下啊。
我来说两句