想挑战一下自己能不能做一做数据相关的工作,准备在暑期尝试投一投数据分析相关的实习。
虽然希望不大,但还是要努力准备一下,整理了一部分面试/笔试时可能会考的业务题(来源各处的面经、笔经),尽量考虑面试和自己能掌握的实际,梳理了自己的思维模板,并非是很专业的整理,总结如下:
总体原则:自上而下拆解,自下而上计算。
涉及分析方法:逻辑树分析、多维度拆解分析。
目标:估算结果上下浮动范围不超过10倍即可。(from《这也能想到?——巧妙解答无厘头问题》)
确认是否需要 细化对象 or 转换对象 。
eg1:估算一个星巴克门店的销售额。
eg2:估算芝加哥有多少名钢琴调音师。
对于eg1,可以根据二八原则细化,星巴克的销售产品主要以饮品为主,而饮品主要以咖啡为主,因此估算对象确定为咖啡的销售额;
对于eg2,将芝加哥的钢琴调音师数量转换为:芝加哥每年需要调音的钢琴数量 / 每个调音师每年能调多少台钢琴。
从 需求层 and 供给层 展开考虑。
需求值 =市场总需求规模 = 需求单位数 × 单位需求量 × 单位需求频次
需求单位数 = 需求人群 × 人群转化率
eg3:估算北京市一日卖出的油条数量。
需求单位数 = 北京市吃油条的人数 = 需求人群 × 人群转化率 = 北京市人口 × 选择吃油条的比例 = 约2000万人 × 约5% ≈ 100 万人
需求值 = 北京市一日卖出的油条数量 =需求单位数 × 单位需求量 × 单位需求频次 = 北京市吃油条的人数 × 每次吃几根 × 一天吃几次 = 100万人 × 1根/次 × 每天只早餐吃1次 ≈ 100万根油条
供给值 = 市场总供给能力 = 供给单位数 × 单位供给量 × 供给时段
供给单位数 = 市场总区域 / 单位平均辐射区域
供给时段 = SUM(不同时段时间,主要用在区分 闲时忙时、淡季旺季 的场景)
eg3:估算北京市一日卖出的油条数量。
供给单位数 = 北京油条店的数目 = 市场总区域 / 单位平均辐射区域 = 北京市面积 / (五环内每1平方千米有2家油条店,五环外每2平方千米有1家油条店) = 约735万平方千米*2 + 约15700平方千米 / 2 ≈ 9320家店
供给时段 = SUM(不同时段时间) = 1天
供给值 = 北京市一日卖出的油条数量 = 供给单位数 × 单位供给量 × 供给时间 = 9320家店 × 100根/天 × 1天 ≈ 93.2万根油条
因为供需是会动态平衡的,因此若需求层和供给层算出的估计值相差在合理范围内(不要差得太离谱就可以),则可以得出一个大致的估计值or估计范围。
对比可知,北京市一日卖出的油条数量大约在93.2万~100万根油条(or大约96.5万根)。
若相差太离谱,可能需要重新考虑上述计算的过程,或者直接进入下一环节。
最后需要列出可能出现误差的影响因素,比如:需求人群可以再进一步细分、供给单位的平均辐射区域大小有待考证……
比如eg3估算过程中的“五环内每1平方千米有2家油条店,五环外每2平方千米有1家油条店”,需要进一步调研,又比如“北京市选择吃油条的比例”也可能需要问卷调查之类。
同时,还可以根据实际情况给出一些未来的改进办法,比如:抽样调查、观测历史数据……
没有在网上找到很多结合具体场景的A/B测试问题,因此这部分还是好好地把A/B测试的概念都梳理一遍。
涉及分析方法:对比分析、假设检验分析、群组(同期群)分析。
A/B test,又称分组隔离实验,简单来讲,A/B测试是一种比较手段:通过分析同一总体下,由于某些不同的策略导致样本数据表现出的差异,来推断某些策略的效果。
个人理解:为了同一个目标,制定多个方案并行测试,每个方案只有1个变量不同。让相似的用户群组使用各个不同的方案,收集每种方案的数据后,以某种规则选出最优方案。
本质:假设检验的一种实际应用。
① 产品迭代:如界面优化(改字体、增弹窗等)、功能增加、流程增加……
② 策略优化:如算法策略、运营策略、营销策略……
科学量化各个方案的效果(如ROI<投资回报率>等),衡量决策收益,避免拍脑袋决定。
不适用的场景:用户体验的制约(如价格调整)、样本数量制约(如防止侵害的安全类事件)、AB组间存在干扰(如滴滴司机间有司机群)。
科学的实验设计;科学的采样(随机化);科学的流量分割;科学的统计学原理(假设检验)。
分析业务数据,确定当前最关键的改进点/最可能的问题,根据问题提出假设。
假设有A、B两个方案,想确定A、B之间是否客观存在差异,还是这种差异仅由某种误差引起。因此假定:
H0(原假设/零假设):A、B没有本质差异
H1(备择假设):A、B确实存在差异
设定主要的目标(重点关注的指标),用来衡量各种方案的优劣。
收集了一些经验贴以及相关网站(如华为开发者联盟和字节火山引擎上的A/B测试产品)里提到的指标,然后利用用户生命周期(User Lifetime)梳理如下:
① 引入期:PV(Page View)、UV(Unique Visitor)、点击率;
② 成长期:转化率、互动时长(观看时长等);
③ 成熟期:GMV(Gross Merchandise Volume);
④ 休眠期 + ⑤ 流失期:留存率。
PS:这么分主要是为了熟悉和巩固下这个周期。
很重要的一步,需要计算所需样本量,并根据样本量确定投放时长,最后还要确定投放城市。
① 样本量计算公式(通过σ和β确定):
N为样本量;
α是第Ⅰ类错误的概率(弃真错误),也称显著性水平,一般取0.05;
β是第Ⅱ类错误的概率(取伪错误),一般取0.2,**(1-β)**是统计功效(power),一般而言设(1-β) ≥ 80%;
Δ是所想要指标预期的变化量(μ₁-μ₂),eg:点击率从5%上升到10%,那么Δ为5%,(在其他样本量计算公式中,此处为预期的抽样误差)。
σ²是指标的样本方差,如果没有可以采用最大值0.5。
注意事项:如果有多个指标,则选用最大的指标所需要的样本量;计算结果是每个分组所需要的样本量,有几个分组就需要乘几;样本量可以是累积一段时间的最终样本量。
样本量的选取,从网上找到了一张图👇
② 确定投放时间:
根据上面注意事项的最后一点可知:实验时间 = 实验需要样本量 / 每天产生的样本量;
此外,另一个判断标准是:当统计显著性达到95%或以上并且维持一段时间,实验可以结束。
如果统计显著性在95%以下,则可能需要延长测试时间;
如果很长时间统计显著性不能达到95%甚至90%,则需要决定是否中止试验。
③ 实验城市的选取:
**原因:**有些实验可能存在负向影响,为了控制实验范围,要找部分城市做试点;也有可能每个城市的特性差异较大,全国上线时,城市之间的差异被平均化了,不能看到真实的策略效果,因此需要选择部分城市做实验。
**原则:**一是尽量选择大体量城市,样本充足,实验周期更短;二是要选择不同类型的城市,观察方案是否具有普适性。
首先根据实验目标和 用户属性(地域、活跃/流失用户……)确定实验的受众群体;然后再确定每个方案的分流比例,即确定有多少用户/多少流量给到这个实验。流量的设置可以根据情况从初始阶段开始逐渐增加流量。
分流方法:
① 将业务逻辑互斥的环节分为多“层”,每一层都共享一批用户;
② 在每一层内将用户随机切割进不同的“桶”,一个用户只能在一个桶内;
③ 只要多层之间互不影响,就能确保每个实验都能实现全流量切割。
分流时机:
实验分流的触发点,是且只能是策略/方案的生效点。
PS:一切目的都是为了让策略/方案之间的唯一变量是策略/方案之间效果差异的唯一来源。
简略补充:A/B测试的访问流程:
![]()
从左到右,3条较粗的竖线代表了 A/B 测试中的3个关键角色:客户端(Client)、服务器(Server)、数据层(Data)。从上到下代表了3种访问形式:
无 A/B 测试的普通访问流程(Non AB test)
基于后端分流的 A/B 测试访问流程(Back-end AB test)
传统的A/B测试方式。当用户的请求到达服务器时,服务器根据一定的规则,给不同的用户返回不同的版本,同时记录数据的工作也在服务端完成。基于后端的 A/B 测试技术实现上稍微简单一些,不过缺点是收集到的数据通常是比较宏观的PV(Page View)信息。
基于前端分流的 A/B 测试访问流程(Front-end AB test)
可以比较精确地记录下用户在页面上的每一个行为。它的特点是,利用前端 JavaScript 方法,在客户端进行分流,同时,可以用 JavaScript 记录下用户的鼠标行为(甚至键盘行为,如果需要的话),直接发送到服务器记录。
收集每种方案产生的数据后,需要分析数据,也就是开始进行假设检验。
个人理解,假设检验是个很庞大的概念,包括参数检验(有依赖分布的检验和方差分析等)和非参数检验(分类数据分析)。一般A/B测试里用到的都是依赖分布的检验。
确定用什么统计量,即是在选择用什么样的 概率分布/方法 进行检验。以下是一些基本的检验方法:
① z检验(正态性检验,正态分布):用于 样本量较大 的 均值类 指标数据;(均值的检验)
② t检验(t分布):用于 样本量较小 的 均值类 指标数据;(均值的检验)
③ 卡方检验(卡方分布,Χ²分布,Chi-squared):留存率、渗透率等 漏斗类 指标;(方差的检验)
判断步骤:
① 根据显著性水平确定拒绝域(拒绝域:由显著性水平α围城的区域)的临界值,该临界值为原假设的接受域与拒绝域的分界值。
② 根据样本计算出的 |检验统计量| < |拒绝域的临界值| 时,落入置信区间(1-α),满足原假设;
③ 在第②步的前提下,若P-value > α,则不能否定原假设H0;若P-value < α,则拒绝H0,接受备择假设H1。
小概率原理反证法的思想是假设检验的基本思想。小概率原理:“小概率事件在单次试验中基本不可能发生,但在多次重复实验中是必然发生的。”
因此,假设检验的过程可以举例理解:如果P值很小(P<0.05:原假设H0为真时,出现偏离原假设观测值的概率<0.05),那么出现目前这个观测值概率就越小,根据小概率原理,它就不应该出现。但现在出现了这个事件,那么就说明它不是小概率事件,其前提有问题,因此要拒绝H0。
注意事项:
① 若效果不理想,可以考虑以下几点原因:样本量不足、实验时间太短、实验人群≠上线人群、实验前后外部环境发生变化。改进方法:优化策略、优化实验(增加样本量、减少离群值、更换指标)。
② 统计学意义上有显著性差异,并不能代表优化方案带来的效果提升有业务价值/商业价值。(当样本量足够大的时候,任何策略都会在统计学意义上显著,因此要提前设置好指标预期的变化量)
这部分有点复杂,或者说考得更加灵活,实在找不到什么能够全部框住的思路,然后最近也有点摆的心态,所以仅能当做一个简单梳理。
北极星指标(North Star Metric),也叫做第一关键指标(One Metric That Matters),是指在产品的当前阶段与业务/战略相关的绝对核心指标。概念与KPI(Key Performance Indicator,)类似。
① 初创期:关注用户,注重 注册类 指标。
② 成熟期:注重 活跃类 指标。
① 用户维度:
用户生命周期
AARRR模型
AARRR模型即“海盗指标”,将创业公司最需要关注的指标分为五大类: 简称AARRR。它描述了用户/客户/访客须经历的五个环节,以便企业获取价值。用户激活、用户留存、用户推荐、商业收入
Acquisition 获取用户 (用户如何找到我们?)
方法:精准投放,选择合适渠道;引导用户分享;病毒营销,推荐奖励;做好留存。
Activation 激活用户 (用户的首次体验如何?)
Aha时刻:用户情不自禁地喜欢上产品亮点、发出赞叹的时刻。要想激活用户,需要绘制一幅通往“Aha时刻”的路径图。
方法:活动激励;增加提示(消息推送);优化产品(优化核心功能);功能开发(糅合高频功能)。
Retention 用户留存 (用户会回来吗?)
留存的核心目标是让用户养成使用习惯,这一环节需要关注留存率指标(有次日留存、周留存、月留存等)。
Revenue 商业收入 (如何赚到更多钱?)
收入分为服务、广告收入,目标是如何赚到更多钱,同时需要关注“夹点”(损失潜在收益的地方)。
Referral 用户推荐 (用户会告诉其他人吗?)
也叫病毒营销或者自传播,需要关注的指标有转发率、转化率、K因子。
② 商品角度:
将拆解出来的指标,以清晰的逻辑线串起来总结。
可能的数据应用:判断走势、定位异常、驱动迭代、监测指标(趋势、对比、分布)。
根据产品及业务的具体内容,选择某些指标可能的偏离情况。
这部分实在不想再写了,所以就简单地按个人感觉把APP划分一下类别,然后列出一下各类APP中可能重点关注的指标。
含 电商、外卖、生鲜、直播带货……
① 商品类指标:
② 流量类指标:
③ 客户类指标:
④ 转化类指标:
含 社区、问答平台、工具类、娱乐类……
“异常归因类问题建议有逻辑有结构的回答,体现基本严谨的分析思路。”
第一步需要确认真的有异常,而不是其他问题导致的异常。
确定指标的来源:
① “点”:
② “线”(拉长时间轴):
即 排除外部因素,采用 PEST宏观环境分析。
① 用户角度:
部分用户出现的问题,可以去细分找出问题的用户,然后针对性解决:
新、老用户
不同渠道的用户
补充:渠道分析方法(QQM,“QQ妹”模型)
- Quality 数量:各类用户的数量;
- Quantity 质量:日活跃、DAU;
- Money 收入:付费率、ARPU、ARPPU<Average Revenue per Paying User,平均每付费用户收入>、GMV、付费人数。
不同地域的用户
其他(性别、年龄、职业……)
② 产品角度:
产品上出现了问题:
③ 平台角度:
平台部分处理问题:
这部分没有内容啦,可以根据需要思考。
总的来说,只是重新梳理了一遍出现频率比较高的业务题,真遇到相关问题还是要认真思考,结合自己能想到的回答,也许自己的思路也是一个比较好的角度。