数据、运营相关案例问答题(一)【牛客网:数据分析试题广场】

试题来源:牛客网

回答仅代表个人看法,欢迎交流评论留言,有不正确的地方请多指教~~


1、某APP 7月份DAU比同年5月份上涨了10%,作为数据分析师,你会从哪些方面分析DAU增长的原因? 请列举至少两种以上拆分思路。

step1:确定数据是否存在异常:基于历史数据,利用移动平均等预测方法,预测7月DAU数值,与2-3倍标准差做对比,判断实际数值是否处于正常范围。(也就是判断DAU上涨10%这是一个趋势,还是一个问题,是长期因素导致的,还是短期内社会事件等因素导致的。)

step2:拆分数据维度:人群拆分、渠道拆分、地理拆分、内外部拆分(拆分的核心是找出哪些影响因素导致了数值的异常,从各个维度判断是整体因素还是某类因素)。

① 人群拆分:新老用户维度、性别维度、年龄维度、职业维度等等。

② 渠道拆分:从新用户的的引入渠道、APP的跳转入/跳转出渠道、分享渠道、付费渠道等。

③ 地理拆分:从地区、城市、线级等粒度,拆分数据,分析DAU增长点是发生在某类城市、还是整体市场的变化。如果是在某个或某类城市的变化,则进一步分析其DAU增长原因。同时对比其渗透率与DAU变化较小的城市渗透率,判断这类城市的变化对整体DAU变化的影响程度。

④ 内外部拆分:内部主要指产品本身的改动点是否获得用户认可,包括产品模块的改动、产品运营策略的改动,可通过A/B Test、用户调研等方式进行检验。  外部可以从市场趋势、市场竞争、外部舆论、社会事件、节假日、PEST模型等因素考虑,可利用舆论热度、关键词搜索量、ADX等指标衡量趋势类因素,也可从分隔市场角度解释市场竞争因素(在固定容量的市场环境中,一些产品的倒下或爆红,将导致用户量的集中和分散)。

step3/4/5/6/7/8/9:具体维度考察技术、产品、运营,进一步细化DAU增长原因,分析问题,预测8月趋势变化,并为后续运营策略提优化建议。




2、你发现你负责的产品有用户在褥羊毛,你如何通过数据分析方法揪出这群羊毛党,将漏洞补上?

step1:定义薅羊毛行为:包括羊毛指什么,薅羊毛的手段、薅羊毛的性质,大体可分为两类:

① 利用活动规则而行使的正常捡漏行为:通俗来说就是在活动期间,利用活动规则,使用消费券、优惠券、免费券等,导致支付金额较少,低变现转化的行为。

例如1:瑞辛咖啡的邀请新人得免费咖啡券,羊毛党邀请不喝咖啡的长辈,免费得2张咖啡券。

例如2:阴阳师分享得蓝票,羊毛党分享在朋友圈仅自己可见,或分享给文件传输助手等。

② 利用漏洞,运动专业技术批量性操作的作弊手段、或针对平台Bug 而行使的恶性捡漏行为。

例如1:ofo单车众骑活动中,利用虚拟GPS作弊领取红包的行为.

例如2:拼多多后台Bug领取百元红包的行为等。

(也可以从薅羊毛的方法上对羊毛党进行分类:刷单刷票类、任务类、黄牛类、黑客类、漏斗研究类)

step2:定义清楚薅羊毛的行为类别后,确定具体的羊毛量,即金额、补贴等可量化的指标(部分活动的发起不仅是为了拉新,也为了促活,因此一定范围内的羊毛是正常的,所以需要明确具体的羊毛量,防止将过多正常用户被纳入羊毛党)。

step3:利用sql或python,从数据库中定位相应用户账号。

step4:分析用户行为数据的共性与特征,明确产出羊毛的途径,与行为路径。

step5:补漏从开源、节流、数据监控三个方面展开:

开源填补:对恶性刷单用户进行惩罚(例如:押金不退),对于交易金额较少或仅活动交易的用户,在产品推荐机制上,增加低价产品的曝光率,将这类用户的共性,加入下次产品活动的规则考量。

节流控制:对于恶性薅羊毛行为,设置薅羊毛警告(例如:刷单用户一经举报合适,取消活动资格,押金不退等手段),对于大批量用户可以通过技术手段实现控制(例如:验证码、IP等)。此外,可从用户、设备、渠道、补贴上限、活动时间、获利门槛等角度对产品活动设置限制(例如:实名认证、信用分、设备参与次数、红包上限等)。

数据监控:对突增的数据进行跟踪(如用户量、交易额),对关键用户的数据(也就是对整体数据影响较大的用户数据)进行检查,通过实时在线的手段,来检查风险,并作出相应的风险处理,控制整体产品活动效果。




3、用户分析是电商数据分析中重要的模块,在对用户特征深度理解和用户需求充分挖掘基础上,进行全生命周期的运营管理(拉新—>活跃—>留存—>价值提升—>忠诚),请尝试回答以下3个问题:

问题一:用户第一单购买的行为往往反映了用户对平台的信任度和消费能力。现在数据库中有一张用户交易表order,其中有userid(用户ID)、amount(消费金额)、paytime(支付时间),请写出对应的SQL语句,查出每个用户第一单的消费金额。

select userid, amount from(select userid, amount, min(payment) from order group by userid);

问题二:当你发现本月的支付用户数环比上月大幅下跌(超30%),你会如何去探查背后的原因?请描述你的思路和其中涉及的关键指标

step1:从长期/短期角度考虑,支付率的下降是否存在问题。长期角度从既往数据出发,对本月数据做预测,以2-3个标准差范围衡量数据的下降是长期趋势,还是短期问题。如果是短期问题,那么考虑是否是近期的社会事件、上月是否存在特殊促销活动、是否存在疫情等外部情况导致的全面范围影响。

step2:明确“支付用户数=浏览用户数*支付率”,就可进一步从浏览用户数、支付率维度,观察影响因子的变化,确定是浏览用户数下降导致,还是支付率下降导致。

step3:拆分维度:从新老用户维度(新增客户数、留存率、复购率等)、生命周期维度(新用户增量、活跃用户数量、留存用户数量、支付用户数量)、人口统计学维度(性别、年龄、职业等)、用户群体(RFM模型用户分层)、渠道(拉新、付费、推荐等)、地域(区域、城市、线级等)、内外部(产品策略、市场趋势、竞品)等因素进一步细化假设,找出相关用户群体,以及相关衡量指标,进一步分析支付用户数下降的原因。

step4:回归分析与预测:根据上述分析结果,对影响因子建立预测模型,预估下跌趋势的持续状态以及跌幅程度。

step5:风险与损失评估:评估支付用户数的下降对核心KPI(商品总营收)的影响程度。

step6:根据业务分析、预测以及风险评估结果,制定下一步运营策略。

问题三:为了更好的理解用户,我们通常会基于用户的特征对用户进行分类,便于更加精细化的理解用户,设计产品和运营玩法,请你设计对应的聚类方法,包括重点的用户特征的选择及聚类算法并说明其基本原理和步骤

用户特征选择:人口统计学特征(包括性别、年龄、地域、薪资、家庭成员)、用户分层特征(最近一次消费时间、消费金额、消费频率)、购买物品类别

聚类方法:Kmeans聚类算法,处理连续且数据量较大的数据。

基本原理:通过特征分析对用户进行分类,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。

step1:先随机选取K个对象作为初始的聚类中心:;

step2:计算每个对象与各种子聚类中心间的欧式距离,把每个对象分配给他最近的聚类中心。

step3:一旦全部对象被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算,重新分配。依次循环,直到聚类中心点不再改变时循环结束。




4、某款游戏10月份收入比同年9月份下降了20%,作为数据分析师,你会从哪些方面分析收入下降原因?(列举至少2种以上拆分思路,并写清楚每种思路下对应的数据指标)

step1:基于既往数据,判断10月份的收入下降是否是一个问题。确认数据的真实性,存在下降异常后,拆分数据维度。(注意,由于是环比下降,需考察上月及下月是否存在促销。)

step2:

思路一:用户维度拆分,明确收入计算公式,从新老维度、分层维度,对相关指标进一步分析

收入 = 用户数 * 人均消费金额(ARPU) 

         = 用户数 * 人均消费次数 * 单均消费金额

         = 用户数 * 付费用户比率(PUR) * 付费用户人均消费金额(ARPPU)

         = 用户数 * 活跃用户比率 * 活跃用户付费比率 * 付费用户人均消费金额(ARPPU)

❤ 新老用户维度:收入 = 新用户数*新用户付费比率*新付费用户人均消费金额 + 老用户数*老用户活跃用户比率*老用户活跃用户付费比率*老用户付费用户人均消费金额。基于上述公式,对新老用户的用户行为进行研究,从新老用户数、活跃比率、消费比率、人均消费金额、付费用户人均消费金额等角度分析收入下降的原因。

❤ 用户分层维度:基于RFM模型(最近一次消费时间、消费频率、消费金额),结合游戏相关指标(包括:用户等级、钻级、游戏时长等),对用户进行分层处理。针对每类用户群体,进一步研究用户行为(包括每类用户群体的用户数、活跃比率、消费比率、人均消费金额等)。

❤ 用户转化维度:基于AARRR模型,对各阶段相关的用户数据指标进行同比、环比的分析:

① 用户获取:渠道曝光量、渠道转化率、ROI、获客成本

② 用户活跃:活跃用户数、用户访问时长、平均访问次数、新老客占比

③ 用户留存:次日留存率、7日留存率、15日留存率、30日留存率

④ 营收:订单量、订单金额、付费用户占比、活跃用户的平均消费金额、付费用户的平均消费金额、人均消费金额、用户生命价值(LTV)

⑤ 传播:平均用户分享率、老带新平均新量、活动曝光量


思路二:内外部维度拆分,从产品内部变化,与外部市场情况,分析影响整体收入的因素

❤ 内部模块维度:考察游戏各个模块的收入情况(总收入=所有模块收入之和)

将各模块收入同比、环比情况,与整体收入的同比、环比情况做对比,考察收入的下降是整体趋势,还是单个、或某几个模块的收入下降导致。

如果是各模块与整体下降情况都呈现较为一致,且无单个模块下降或增长异常,通关人数占比处于正常水平,说明下降的原因主要是外部因素导致。

如果出现某个或某几个模块数据异常,则针对这类模块进一步从产品、运营、技术维度分析:

① 产品角度:产品模块是否版本更新、是否存在模块玩法封顶、上新需求是否急切等。

② 运营角度:折扣优惠额度、促销活动次数、推广渠道、各模块的DAU、MAU、游戏时长、付费用户数、平均付费金额等,考察渠道、内容、促销、推广等运营模式是否存在异常。

③ 技术数角度:检验是否存在Bug、不流畅、质量下降等情况。

同时,针对出现异常的模块,要注意倾听用户的声音,收集评论与舆论等信息,做用户调研,为下一步的优化策略提供用户需求基础。

❤ 外部环境维度分析:基于PEST模型,对比事件前后,用户数、年龄、下载次数、消费金额等数据的变化,考察外部环境变化对收入产生的影响。

政策因素(例如禁止18岁以下儿童使用)、市场趋势(手游&端游占比趋势,团竞、休闲等游戏类型的占比趋势)、竞品因素(竞品下载次数、热度数据)、节日及社会舆论热点(寒暑假、高考中考、游戏沉迷等负面舆论)。对比事件前后,各年龄层比率的变化,对比总收入变化。




5、用户分析是电商数据分析中重要的模块,在对用户特征深度理解和用户需求充分挖掘基础上,进行全生命周期的运营管理(拉新—>活跃—>留存—>价值提升—>忠诚),请尝试回答以下3个问题:

问题一:现在数据库中有一张用户交易表order,其中有userid(用户ID)、orderid(订单ID)、amount(订单金额)、paytime(支付时间),请写出对应的SQL语句,查出每个月的新客数(新客指在严选首次支付的用户),当月有复购的新客数,新客当月复购率(公式=当月有复购的新客数/月总新客数)。

① 查询每个月的新客数:

step1:将时间格式的payment,转化为年-月格式,新增列 ym

ALTER TABLE order ADD COLUMN ym VARCHAR(255) NOT NULL;

UPDATE order SET ym=DATE_FORMAT(paytime, '%Y-%m');

step 2:创建新客户userid和第一次的支付时间的视图,方便后续调用:

CREATE VIEW t1 AS

SELECT userid, MIN(paytime), ym FROM order_t GROUP BY userid ;

step 3:查询每个月的新客户数:

SELECT ym AS 年月名称, COUNT(userid) AS 新客户数

FROM t1 GROUP BY ym;

② 查询当月有复购的新客户数:

step1:查询每个月新客户的购买数量

CREATE VIEW t2 AS

SELECT t0.userid AS 用户编号, COUNT(t0.userid) AS 购买次数, t0.ym AS 年月名称

FROM order_t AS t0, t1

WHERE t0.userid = t1.userid AND t0.ym = t1.ym

GROUP BY t0.userid;

step 2:筛选每个月新客户购买数量大于1次的客户及客户数

CREATE VIEW t3 AS

SELECT 年月名称, COUNT(用户编号) AS 复购新用户数 FROM t2

WHERE 购买次数 > 1 GROUP BY 年月名称;

SELECT * FROM t3;

③ 新客当月复购率

SELECT t2.`年月名称`, t3.复购新用户数/COUNT(t2.`用户编号`) AS 新客当月复购率

FROM t2, t3 WHERE t2.`年月名称`=t3.`年月名称` GROUP BY t2.`年月名称`;

问题二:当你发现最近一周APP端新访用户当天转化率(公式=新访当天支付人数/新访用户数,新访是指首次访问严选APP的设备)环比最近4周日均转化率大幅下跌(超30%),你会如何去探查背后的原因?请描述你的思路和其中涉及的关键指标

step 1:判断数据真实性,由于环比最近4周日均转化率下跌,可初步排除趋势类因素

step 2:拆分数据维度,并观察各维度下新访当天支付人数、当天新访用户数的环比情况:

    人口统计维度:年龄、性别、职业、薪资等

    地理位置维度:区域、城市、线级

    渠道维度:引流渠道、支付渠道、分享渠道、渠道曝光率

    内外部因素:市场趋势、竞品数据、促销活动、社会热点、舆论、节假日等维度

当定位到异常数据后,可进一步细化假设,从产品、运营、技术等角度,考察具体转化率下降的原因。例如:产品的更新是否不符合用户需求、运营活动是否吸引力较小、支付渠道是否存在问题。

再如:若发现渠道数据异常,则探究该渠道的投放素材、运营策略是否存在问题。以及产品策略是否存在调整,调整后的产品策略是否与该渠道用户需求不符。如果是个别渠道的新访客增多,那么说明该渠道的前期运营还不错,但该渠道获得的用户价值可能不高,或者该渠道对用户的推荐可能不够准确,导致用户的转化率低。

可针对异常数据,进一步从用户行为数据(对各功能模块的使用情况、浏览-收藏-加购-购买的漏斗模型等)进一步观察用户在哪些功能模块停留时长较短、退出路径等,分析该类渠道用户的真实需求,进而优化算法推荐等,或调整渠道策略,以提高转化率。

问题三:在进行用户运营之前,我们通常会对用户进行分层,针对不同类型用户实施差异化的运营策略和资源投入,请你帮助设计严选用户分层的方案,包括关键特征的选择,分层的方法,如涉及模型/算法,请说明选择的算法类型、基本原理和步骤

step 1:明确用户分层的目的

针对用户全生命周期(拉新—>活跃—>留存—>价值提升—>忠诚)实施差异化的运营管理和资源投入,也就是更关注用户生命周期与各阶段的用户价值。

step 2:选择关键特征

    用户属性:获客渠道、城市、家庭、薪资、职业、信息完善度、支付方式种数(忠诚度)

    用户价值:最近一次消费、消费频率、消费金额、会员状态

    用户活跃度:注册时间、距离最近一次活跃天数、活跃频率、使用时长

而后利用统计分析技术(例如相关性分析),结合转化率情况,对上述各特征进行相关性检验,而后选取相关程度较高的指标,进行下一步的分层设计。

而后利用K-means聚类算法,针对上述筛选后连续且数据量较大的指标,对应其转化率情况,各计算3-5个聚类中心,构建每个指标的层次维度,结合分类性指标,构建最终的关键特征群。

step 3:设计用户分层方案

首先,从业务层面对各指标对整体结果的影响权重进行打分;

而后,基于K-means聚类结果,对每个指标的子维度权重进行打分;

最后,参考RFM模型思路,对用户属性、用户价值、用户活跃度构建融合模型

(以下权重占比以及评分范围,未经检验,仅用作示例)

算法解释与说明:

① 相关性分析:指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关系数 r = (x和y的协方差)/(x的标准差 * y的标准差),相关系数 r 的正负表示相关性方向,其大小表示相关性程度。

② K-means 聚类算法:适合处理连续且数据量较大的数据。通过特征分析对指标进行分类,采用距离作为相似性的评价指标,即认为两个对象的距离越近,其相似度就越大。

实现步骤:先随机选取K个对象作为初始的聚类中心:;计算每个对象与各种子聚类中心间的欧式距离,把每个对象分配给他最近的聚类中心。一旦全部对象被分配了,每个聚类的聚类中心会根据聚类中现有的对象被重新计算,重新分配。依次循环,直到聚类中心点不再改变时循环结束。

③ 融合模型:建立母维度,并赋予每个维度各自权重占比。而后拆分各个母维度,并对其子维度进行范围划定(基于上述K-means聚类结果),对各子维度赋予各自权重占比,基于子母维度的得分情况,绘制融合模型,实现多维度的用户分层。



以上仅代表个人看法,对于算法模型在运营维度的逻辑性、以及在数据维度的可操作性,还有待实际验证。欢迎各位留言交流探讨~~

你可能感兴趣的:(数据、运营相关案例问答题(一)【牛客网:数据分析试题广场】)