【秋招】数分面经汇总I

sql执行顺序,表连接,去重,数据分析闭环

Posted by Zaki on July 16, 2022

sql执行顺序

FROM:获取第一张表,称为原表table1,获取第二张表,称为原表table2,将两张表做笛卡尔积,生成第一张中间表Temp1。

ON:根据筛选条件,在Temp1上筛选符合条件的记录,生成中间表Temp2。

JOIN:根据连接方式的不同,选择是否在Temp2的基础上添加外部行。左外就把左表在Temp2中筛选掉的表添加回来生成Temp3,右外则是右表。

WHERE:筛选表中的记录,对中间表temp3的记录进行过滤,生成temp4。

GROUP BY:根据聚合键对表进行分组,即在temp4的基础上做分组,生成temp5。

WITH:应用cube或rollup生成超组,在Temp5的基础上添加超组,生成Temp6。

HAVING:对组进行筛选,生成temp7。

SELECT:选取字段,对temp7进行字段的选取,生成temp8。

DISTINCT:对字段进行去重,对temp8进行去重,生成temp9。

ORDER BY:按照排序键对表进行排序,对temp9中的表进行排序,生成temp10。

LIMIT(TOP):对表进行分页,对temp10进行分页,生成temp11。

表连接的几种方式

内连接(inner join)

外连接(left join, right join, full join)

交叉连接 (cross join):叉连接(笛卡尔积)返回被连接的两个表所有数据行的笛卡尔积,返回结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查询条件的数据行数。

UNION / UNION ALL

去重的几种方式

distinct 通常效率较低。它不适合用来展示去重后具体的值,一般与 count 配合用来计算条数。

group by

row_number 是窗口函数,语法如下: row_number() over (partition by <用于分组的字段名> order by <用于组内排序的字段名>)

窗口函数

主要有专用窗口函数(rank, dense_rank, row_number这些),聚合函数(sum avg这些)

区别:

rank排序相同时会重复,总数不变,即会出现1、1、3这样的排序结果;

dense_rank()排序相同时会重复,总数会减少,即会出现1、1、2这样的排序结果;

row_number()排序相同时不会重复,会根据顺序排序。

新上线一个活动,如何评价活动效果?

A/B测试,同比/环比与内/外部竞品分析,与业务目标对比,

设置准确科学的结果指标和过程指标。比如活动的目标是提升收入,那么指标就设置成收入、购买人数、复购率等;若活动的目标是提升用户活跃,则指标就可以设置成用户在线时长、用户登录次数等

纵向对比法:通过对比活动前和活动后结果指标的变化,判断运营活动是有效果。

横向对比法:通过实验组和对照组的设置和对比,判断运营活动是否有效果。

综合对比法:同时结合横向对比和纵向对比,判断运营活动是否有效果。这种方法也叫DID方法,是Difference in Difference的缩写,这种方法既考虑到了纵向对比的差异,又考虑到了横向对比的差异,所以叫DID方法,也是比横向对比更为严谨的一种方法。

目标对比法:和活动刚开始设定的目标对比,判断运营活动的效果是否达到了预期。

活动与活动对比法:利用相似活动的横向对比,判断运营活动的效果,其实也是一种横向对比的方法。

【字节】针对特定人群,上了某个策略以提高策略的转化率,怎么衡量指标上涨是否显著?

大数定律

大数定理简单来说,指得是某个随机事件在单次试验中可能发生也可能不发生,但在大量重复实验中往往呈现出明显的规律性,即该随机事件发生的频率会向某个常数值收敛,该常数值即为该事件发生的概率。

大数定律告诉我们能用频率近似代替概率;能用样本均值近似代替总体均值。

数据分析闭环

数据分析闭环就是说把数据分析到验证的每一个步骤有机的连接在一起,由此指导业务和实践,同时也能对闭环进行迭代优化。

数据分析闭环有四个步骤:指标—>假设—>试验—>行动。无论你做的在线,离线,或是非线上的业务,都需要这个闭环来指导业务增长。

案例:Airbnb

Airbnb 是美国一家非常受欢迎的共享经济公司提供闲时房屋租赁,他们发现了很多创造性的方式来实现增长,明智和数据驱动是它的代名词。

步骤1:找出优化指标

Airbnb 想优化的指标是房屋租赁天数,这对它们来说比单纯衡量收入更重要:如果房东出租房子的时间越久,那么 Airbnb 的业务也会变得更好。为了成就房东, Airbnb 通过列出热门租住房源,来保证留存。Airbnb 知道,要取得成功,需要大幅提高每家物业的租住率。一个关键指标:“房屋租赁天数”KPI :房屋预定目标:不明当前水平:不明

步骤2:提出假设

图片越好看,房子越好看

我们不知道 Airbnb 是怎么提出这个假设的,但我们知道它能得到热门租住的房屋列表。可能他们注意到这些热门租住房屋的照片看起来更专业。可能他们意识到房客的常见投诉是房子的照片和实际上不一样。可能他们发现人们在看了照片之后就放弃了列表。可能他们他们分析了图片的元数据,发现房屋租赁跟昂贵的相机型号之间有很强的相关性

步骤3:创建试验

有了这个假设,接下来就是创建试验了。通常来说,有一个清晰的假设能让创建试验更容易。 Airbnb 的 who ,what ,why 如下:谁是试验的目标受众?在 Airbnb 上查看列表的游客。想让他们做什么?租房子更频繁。游客为什么会这样做?因为照片看起来更专业,并且让房子看起来更美观。

步骤4.衡量表现

在这个案例里, Airbnb 衡量了有专业摄影师拍摄的房屋以及屋主自己拍照的房屋的预定量。那么结果如何?有专业摄影师拍照的房屋平均预订率翻了2-3倍。记住原始数据不是唯一重要的部分,我们需要衡量统计显著。 Airbnb 的试验数据足够证明结果的可行度。