00:00
好,那下一个需求呢,是这个,呃,商品退款率排行对不对,那这个商品退款率排行跟我们前面三个排行它都不一样了,因为前面三个呀,比如说那个加购物车,比如说收藏,你看这些东西,我们这些这个收藏的次数啊,或者是这个加购物车的数量啊,这些字段我们在呃,DWS层这个商品行为宽表当中都有具体的这样的一个字段,是不是跟他对应啊,那要想选要对它进行那个要要选它的排行,直接对他排序limit就完事了,但是这个商品推广率呢,我们是没有一个现成的这样一个字段的,这个东西需要我们去计算一下。需要计算一下啊。那大家其实可以想一想,咱前边你以这个什么呀,比如说咱们去求什么架构的时候,去求这个,呃,收藏的时候对不对,那我们统计这些值的时候,我们,呃,是不是刚才说了呀,咱们有时候会统计什么当天的,有可能最近的,有可能什么这个累积的对不对啊,那这些都有,那咱们去统计,而且咱们前面这几个都是按照当天算的啊,那这边我们去统计这个退款率的时候,大家要注意了。
01:07
退款率,退款率这个东西呢,我们实际上啊,就是说很少去呃,使用一天的数据去算这个退款率,也就是很少会出现什么呀,求一下当天这个商品的退款率是多少,很少这个其大家可以想想为什么为什么为什么是这样的,你给琢磨一下,你想咱们那个加购物车收藏这只有一个什么,这是不是里边只只涉及到了一个一个事实啊对不对,因为收藏那就是涉及到收藏事实,那对于这个加购物车,那那就对应的是加购物车这个事实。也就是说只涉及到了一个事实,但是退款率这个它就不一样了。退款率这个东西,它涉及到两个事实,一个是什么,一个是呃付款对吧,一个是支付,然后还有一个呢,是这个退款,它涉及到两个事实,而这两个事实我们通常情况下是不会在一天发生的。对不对,你想一想啊,一个商品被支付了,然后再到他被退款,那中间肯定有一个什么,有一个什么过程,是不是肯定有一个物流的过程啊,那这个物流咱们按照这个国内的一个平均水平,咱们按照两三天来算,可能两三率比较低啊,按照两三天来算,那是不是他们肯定也不会在一天发生啊,对不对?那所以说我们去统计这种退款率,这个的时候呢,如果说只拿1亿天的数据去统计,比如说这这个商品今天被下了多少次,这个被支付了多少次,那这个商品呢,今天被退款了多少次,那实际上这个你用今天的退款次数去除以今天的这个支付次数,你得到这个退款率准确吗?其实不准确,为什么呢?因为啊,你今天退的款肯定不是今天支付的订单。
02:40
对不肯定是前两天前三天的对不对?呃,所以说诶,如果就是这样,而且如果你就这么去算的话,如果都用一天的数据算的话呢,在极端的情况下呢,会出现什么问题啊,会出现这个退款率哎,它大于一的这种现象,就是极端情况下呀。对不对,那我可能今天我这个支付的次数有十个,但我退款退了20个,有有这种可能吧,有这种可能性啊,所以说极端情况下会出现大于一的情况,所以说咱们算退款率的时候呢,是不会按照这个,呃,通常是不会按照这个用一天的数据算的,大家把这个得能够想到才对啊,那我们通常是怎么算呢?通常啊,咱们是呃,最近30天,这个也是一个不成文的一个规定吧,就通常就是最近30天的。
03:21
这个使用它去算,呃,那有同学可能会说,那最近30天我是不是也会有一定的误差呀,哎是这样的,可能会有一定的误差,但是这个误差呢,要比你用一天的数据算要小的多,哎,所以说这边呢,哎,我们就把那个那个误差就给它忽略掉,忽略掉啊好,那现在既然是这样的话,我们来看看这个退款率,咱应该怎么去做啊来。拿数据呢,肯定还是去从,呃,咱们这个这这回是什么呀,这回是最近30天了吧,对不对,不是当天了,不是当天,那既然是最近30天,我应该去去哪考虑就考虑哪张表,考虑咱们DWT层的商品主题款表吧,那现在把这个DWT的商品主题款表拿过来。
04:01
SQ topic。那这张表呢,这个字段非常非常多哈,那我们逐一的看一下CTRLCF3,那在这里边呢,你看啊,我们需要我们要求退款率,我们需要的是什么,我们需要一个最近30天的支付次数,对不对,这是不是有一个最近30天的被支付次数啊,那我还需要一个什么呢?还需要一个最近30天内它的这个退款次数,那有没有这个最近30天的退款次数呢?也有,你看啊,在这个位置refund,这个LAST30COUNT。Und退款的意思啊,那咱们得到这俩东西之后呢,直接用这个退款次数去除以这个支付次数,那你得到的就是这个所谓的一个退款率,那接下来再按照这个退款率去进行排行,再进行limit就完事了啊,这是咱们求这个商品退款率的这个主体思路,好,那现在我们回到刚才这个需求的位置。嗯。来求一下这个退款率啊,那首先啊,Select from from这个DWT。
05:00
Dwtsku topic,然后这下边需要用过滤条件吗?不需要,那我们就直接往上走,往上走那我们需要选的有什么呀?需要咱们得看看我们最终要什么值对不对,你要什么我就选什么来打开这个位置。咱们把这个建表语句呢,先给它粘出来啊,看成Z。放到这个位置。大家看一下啊,呃,在这呢,咱有一个统计的日期,有一个商品ID,还有一个这个呃,退款率直接就是退款率了,对吧?那这边咱们就选呗,首先先选一个呃SKID,然后呢,呃,咱们再去选一下这个下边的这个所谓的退款率,那退款率呢,我应该用这个refund last 30day count对不对?这个最近30被退款的次数,让他去除以最近30天payment last 30day count,那最近30天被支付的次数,那得到的就是这个呃退款率,退款率那同同理,咱们这呢也给他乘个100,因为我们要要求一个百分数嘛,其实你这不成也行啊,你这不成,那你后期诶,你去那个做展示的时候,那个地方乘一下就可以了啊,就这边咱给他乘上也行,那接下来呢,呃,咱们需要干什么,需要去,呃,对它进行排行,对它进行排行对不对,那这边呢,我起一个别名吧,CTRLC来一个这个refund的re。
06:17
诶放在这放这啊,这个别名咱们起完了,然后来一逗号,诶不用逗号了啊,这个最后最后一个字段就不用加逗号了,那接下来咱们要干什么,接下来啊,我们要对这个退款率是不是要对他进行这个呃排行啊,那我现在排行的时候,大家得得注意一个点了,注意什么点呢?我们前面去比如说去统计那个呃收藏top文或者是加购物车top文的时候,那这个字段是不是都是咱们直接从这个表里边去选出来的呀,对吧?那这边他不是直接选的,这是算出来的对不对,算出来之后我这有一个别名,那现在问大家一下,我这个order by的时候能不能用这个别名。如果不能用这个别名,是不是还得来个子查询啊,对吧,还得嵌套一下,你说这边能不能用这个别名,呃,觉得能的同学扣一个一,哎,不能的同学扣一个二,这个你你你你你得知道啊能不能。
07:08
呃,可以的,诶对,这边确实是可以的啊,确实可以的,这和什么有关系,跟这个搜的顺序是有关系的啊,因为这个order by呢,是在这个light之后的,对不对,那你完之后已经有这别名了,那这边我们就能用它了,这块大家得注意到啊好,那order by完之后呢,接下来同样是这个得是诶降序排序啊,那咱们就诶limit。对,没错,在line后面就行,来limit及LIMIT10,还是这个,呃,去前十就可以了,那上面咱们需要有一个日期给他补上就可以了啊,来2020杠零三杠幺零,然后来个逗号,好,那这就是咱这个所谓的这个商品退款率,商品退款率啊,大家要记住,我们统计这个什么所谓的退款率的时候呢,呃,咱们不会按照一天的数据去算的,因为那个误差太大了,而且极端情况下可能出现大于一的情况,我们通常是按照30天算。
08:02
通常是30天啊好,那这边咱们就完成了啊呃,这个视频咱录一下。
我来说两句