导图社区 《数据分析之道》读书笔记
《数据分析之道:用数据思维指导业务实战》以数据思维为主题,以数据分析全流程为主线,融合了与数据思维相关的编程语言、统计学基础及案例分析等内容,全书分为4 篇,囊括了数据思维的概念和培养方法、数据来源及体系建设、数据分析三大思维方式及用户流失、用户转化实战等共11 章的内容。本书囊括了数据分析中常用的分析方法,包括经典的海盗(AARRR)模型、麦肯锡的MECE 模型、逻辑树、漏斗分析、路径分析、对比分析、A/B 试验、RFM 模型、K-Means 算法、5W2H 等分析方法,还包括各类方法的实践案
编辑于2022-11-09 22:02:20时间管理-读书笔记,通过学习和应用这些方法,读者可以更加高效地利用时间,重新掌控时间和工作量,实现更高效的工作和生活。
本书是法兰教授的最新作品之一,主要阐明了设计史的来源、设计史现在的状况以及设计史的未来发展可能等三个基本问题。通过对设计史学科理论与方法的讨论,本书旨在促进读者对什么是设计史以及如何写作一部好的设计史等问题的深入认识与反思。
《计算机组成原理》涵盖了计算机系统的基本组成、数据的表示与运算、存储系统、指令系统、中央处理器(CPU)、输入输出(I/O)系统以及外部设备等关键内容。通过这门课程的学习,学生可以深入了解计算机硬件系统的各个组成部分及其相互之间的连接方式,掌握计算机的基本工作原理。
社区模板帮助中心,点此进入>>
时间管理-读书笔记,通过学习和应用这些方法,读者可以更加高效地利用时间,重新掌控时间和工作量,实现更高效的工作和生活。
本书是法兰教授的最新作品之一,主要阐明了设计史的来源、设计史现在的状况以及设计史的未来发展可能等三个基本问题。通过对设计史学科理论与方法的讨论,本书旨在促进读者对什么是设计史以及如何写作一部好的设计史等问题的深入认识与反思。
《计算机组成原理》涵盖了计算机系统的基本组成、数据的表示与运算、存储系统、指令系统、中央处理器(CPU)、输入输出(I/O)系统以及外部设备等关键内容。通过这门课程的学习,学生可以深入了解计算机硬件系统的各个组成部分及其相互之间的连接方式,掌握计算机的基本工作原理。
《数据分析之道》读书笔记
拆解
第1篇 数据思维
第1章数据思维是什么
1.1从数据治理流程浅谈数据思维
1.1.1什么是数据治理
定义:将零散的数据格式规划、结构统一的数据,并构建严格规范的综合数据管控机制
范围:前端、后端、终端,从源头到终端形成闭环负反馈系统
延伸:规范化指导数据采集、传输、储存、应用
1.1.2数据治理流程介绍
理采存用
理:梳理业务流程,规划数据资源
需要跨部门合作
采:数据采集
ETL工具(extract抽取-transform转换-load录入)
存:大数据高性能储存及管理
用:即时查询、报表监控、智能分析、模型预测
即时查询、指标体系建立、报表体系建立、业务问题分析、模型预测
1.1.3从数据治理流程谈数据部门岗位职责
图
数据来源:点击流日志、客户端日志、服务器日志、其他
数据仓库:数仓工程师、数据开发工程师
数据应用
数据分析师:即时查询、指标体系、业务分析报告
数据产品经理:设计产品原型、推动产品实现和落地
数据发挖掘和算法工程师:业务模型、推荐算法
1.1.4数据分析师在数据治理流程中所需要的数据思维
数据规划(埋点规划)→数据采集(埋点文档)→数据传输→数据储存→数据应用→业务问题
1.2数据思维到底是什么
1.2.1应用数据思维的工作
数据思维是数据分析师在数据埋点、体系和标准构建以及商业智能分析中思考问题的方法及运用的分析方法
1.2.2数据思维是可以培养的
1.3数据思维最直观的解释
1.3.1构建有效的监控体系和客观的评价标准
1.3.2用合理的分析方法探究原因以及评价效果
面对问题的数据分析思路
1、定义问题:问题是否成立,数据呈现这样的表现是否合理
2、排除基础问题:传输故障、数据获取不完整、数据格式不规范导致不对标、人工执行问题等
3、基础维度拆分:用户、渠道、营销等相关维度拆分追溯
4、交叉分析、PEST/4P/SWOT等经典分析公式
1.3.3综合运用统计学知识对活动效果进行预估
估算题常以费米问题的形式,对这类问题,可以自上而下推,再由某个点横向切入,反推回去,也可以从需求层面和供给层面来分析。
京东一日订单量=中国网民数量x京东市场份额÷使用京东购物的天数间隔
第2章为什么数据思维如此重要
2.1数据思维是数据分析师必备的技能
2.1.1数据分析师必备的硬技能
2.1.2数据分析师必备的软技能
2.1.3为什么软技能比硬技能重要
如果数据分析师只是知道了某些分析方法和统计学知识,却不能在恰当的场景和恰当的时机加以运用以辅助业务方解决问题,则算不上拥有良好的数据思维。
2.2数据思维是数据分析师成长晋升的必备技能
2.3数据思维能帮助数据分析师建立影响力
数据分析硬伤
问题1:分析结果都是业务方已知的,没有更进一步有价值的发现
问题2:业务方根本不采用分析报告提出的解决方案,以至于很多数据分析方案无法落地。
补足方向:抓住一切可能的机会了解业务,使得数据分析师对于业务的认知和业务方基本保持在同一层次,站在业务方的角度看,并结合数据思维和业务知识提出合理可行的解决方案。
第3章数据思维如何培养
3.1熟悉常用的数据分析方法
3.1.1三大分析思维
图示
3.1.2不同生命周期的分析方法
用户流失分析
图示
内因:用户行为分析
5W2H
流失前N步分析法
漏斗分析法
...
外因:外部环境调研
4P、波特5力模型
PEST、生命周期分析、竞品分析
问卷调查:验证内因、外因
用户转化与付费分析
图示
预估不同方案转化率
用户画像
贝叶斯概率
用户画像与用户分层运营
营销增益模型
用户标签
RFM模型
用户转化路径分析
用户行为漏斗Fenix
预估用户生命周期总价值
生存分析
机器学习
3.2树立目标意识,寻找潜在分析点
3.2.1为什么需要树立目标意识
3.2.2通过多问“为什么”,树立目标意识
3.3不预设立场,通过客观的标准代替主观的判断
3.3.1不预设立场才能做到客观
3.3.2预设立场与假设检的区别
3.4基于数据分析结果为业务方提出切实可行的解决方案
3.4.1数据分析师提出合理建议需要经历的三个阶段
3.4.2数据分析师需要避免的几种提建议的方式
发现问题:数据需求不明确,只能做简单的数据堆砌
分析问题:数据分析不充分,说的都对,却没啥用
解决问题:落地困难
第2篇 数据指标体系
第4章数据埋点
4.1数据埋点简介
4.1.1从数据产生流程浅谈数据埋点
数据分析师需要关注三个问题
第一,用户的哪些行为会被采集到,是在客户端还是在服务器被采集到
第二,实现用户数据采集的技术有哪些以及它们之间的异同
第三,采集到的用户数据是如何实现上报的
4.1.2为什么需要进行数据埋点
4.1.3数据埋点能够采集哪些用户数据
网站或者App能够采集到用户的四类信息
①设备的硬件信息,如设备品牌、型号、主板、CPU、屏幕分辨率等;
②软件能力,就算没有点击网页或者App、横竖屏、截屏、摇一摇等操作也会被记录下来;
③数据权限,新注册某款软件时,对于相册、通讯录、GPS等比较私密的信息一般会跳出让用户授权的页面,如果用户同意授权,那么网页或者App就能够采集到这些信息;
④用户行为,用户只要对网页或者App进行操作,行为都会被记录下来。
4.1.4数据埋点与隐私保护
4.2数据埋点分类及主流的数据上报技术
4.2.1数据埋点的分类及方式
前端埋点通过SDK进行数据采集,为了减少移动端的数据流量,通常对采集的数据进行压缩、暂存、打包上报。对于那些不需要实时上报的事件,通常只在Wi-Fi环境下上报,因此会出现数据上报的延迟与漏报现象。
后端埋点通过调用API(Application Programming Interface)采集信息,使用内网传输信息,基本不会因为网络原因丢失数据,所以后端传输的数据可以非常真实地反映用户行为。
4.2.2主流的数据上报技术
客户端上报
服务端上报
在网页中,用户首次看到的内容,都是从服务器返回的。那么服务器在应答客户端请求的时候,也能获取一些基本信息,比如浏览器类型、版本号、屏幕分辨率、IP地址等。
4.3数据埋点方案设计
4.3.1数据埋点流程
4.3.2通过六个步骤实现数据埋点设计
1. 确认事件与变量
这里的事件是指产品中的功能或者用户的操作,变量是指描述事件的属性或者关键指标。确认事件与变量可以通过AARRR(Acquisition Activation Retention Revenue Referral)海盗模型或者UJM(User Journey Map,用户旅程图)模型进行逐步拆解,理清用户生命周期和行为路径,抽象出每一个步骤的关键指标。
2. 明确事件的触发时机
不同的触发时机代表着不同的事件计算口径,因此触发时机是影响数据准确性的重要因素。以用户付款为例,是以用户点击付款界面作为触发条件,还是以付款成功作为触发条件进行埋点呢?二者口径不同,数据肯定会有一定差异,因此明确事件的触发条件非常重要。
3. 明确事件的上报机制
4. 统一表结构
5. 统一字段名规范
6. 明确优先级
4.3.3以电商成交为例实现数据埋点设计
1. 确认事件与变量——通过UJM模型拆分用户购买商品的路径
将用户购买路径拆分为注册、登录、商品曝光、商品点击、浏览页面详情、加入购物车、生成订单、订单支付等步骤。根据产品经理提出的数据需求,确定每一个步骤需要哪些字段才能实现数据需求。
2. 确认触发机制
明确是在点击按钮时记录行为还是在用户完成该步骤时记录行为。
3. 确认上报机制
明确数据上报机制是实时上报还是异步上报。不同的上报机制采集到的字段可能不一样,或者说需要将字段拆分到不同表中进行记录。
4. 统一字段名
业务数据集内同一变量在所有的数据表中都使用统一的字段名。例如,用户编号用account_id、用户所属国家用region、用户所属地区用ip_region等。
5. 统一表层级结构
这里采用多层数据表结构,第一层存放通用信息,第二层存放用户基本信息,第三层存放用户行为信息。表层级结构可以根据团队内部的数据接入规范进行调整,只要是统一的结构,对于数据分析师的分析都是有利的。
6. 明确优先级
第5章数据标签体系
5.1数据标签体系与用户画像
5.1.1什么是数据标签体系
5.1.2数据标签体系的作用
数据标签体系的作用可以归纳为用户洞察、个性推荐、渠道优化、营销增强等几个方面
5.1.3数据标签的分类
1. 统计类标签:例如,对于某个用户来说,其性别、地区、年龄、近7日活跃天数、近7日平均活跃时长等标签都可以从用户注册表、登录表中统计得出。
2. 规则类标签:数据分析师基于用户行为数据及运营人员的经验共同制定的数据标签。数据分析师可以基于数据特征的分布及运营人员的意见,定义统一的计算口径,实现用户数据标签化。例如,数据分析师根据用户付费金额的数据分布,同时参考运营人员的经验值,将月累计付费金额≥2000元的用户定义为高付费用户。
3. 模型类标签:对于用户流失场景、用户转化场景,统计类标签和规则类标签可能满足不了业务需求,此时就需要基于用户历史行为数据通过机器学习的方法预测用户流失或转化的倾向。模型类标签的开发通常由算法工程师或者数据工程师开发,但是这类标签开发成本较高,时间周期较长,因此其所占比例较小。
5.1.4用户数据标签的层级分类
MECE原则
5.1.5数据标签体系与用户画像的关系
用户的数据标签是用户画像的基础和前提
5.2如何构建数据标签体系
5.2.1数据标签体系构建的流程
1. 明确业务需求
这一阶段需要数据分析师与业务方沟通数据标签体系的运用场景,是运用于智能触达、用户分层还是个性推荐或其他场景。还需要沟通数据标签体系的开发周期等问题。
2. 制定基础框架
制定数据标签体系的基础框架。至少包括一级标签和二级标签。
3. 确定统一的计算口径
确定标签的统计维度及统计口径是标签开发中较为重要的环节。最好的解决办法是,数据部门开发一份全公司统一的数据指标字典,各个指标以统计口径进行计算,以防止统计口径不一致而造成的数据问题。
4. 数据标签开发
这个阶段需要数据分析师/数据工程师与算法工程师配合完成。
数据分析师主要完成统计类标签和规则类标签的开发
算法工程师主要完成模型类标签的开发
数据工程师会协助数据分析师完成标签的部署与调度
5. 标签上线及维护
标签上线与迭代是后续的重点工作。数据部门需要不断地调整/新增数据标签以满足不同的业务需求。
5.2.2数据分析师在标签体系构建过程中承担的角色
在需求沟通阶段,数据分析师需要从宏观层面解读目标,明确业务场景及业务方的最终目标;
在数据标签开发阶段,数据分析师主要承担统计类标签和规则类标签的开发和维护工作。
在标签开发阶段,需要统计哪些信息,规则如何制定,都是需要数据分析师和业务方共同讨论确定的。
后期对于数据标签的维护也是其重要工作之一。在数据标签维护过程中,数据分析师可能会需要根据业务需求和业务逻辑的变更及时地对数据标签体系进行调整。
5.2.3以某 App 付费用户的数据标签体系的构建为例,浅析数据标签体系构建过程
1. 明确业务需求
2. 制定用户标签基础框架
3. 确定标签维度及统一计算口径
在某App付费用户标签体系构建案例中,笔者以用户全局唯一编号account_id为统计维度,统计每个用户各类标签信息。
4. 数据标签开发
1)数据分析师如何构建统计类标签
通过SQL实现相关标签的统计并通过定时调度任务定期更新数据标签。例如,数据分析师开发每月活跃用户在当月活跃情况的数据标签,则可以通过如下SQL代码实现,即从用户登录信息表中统计用户当月累计活跃天数及累计在线时长等标签。
2)数据分析师如何构建规则类标签
在开发标签之前,数据分析师需要与业务方共同商定标签的规则。
例如,数据分析师和运营人员确定的用户付费标签规则为:将当月累计付费金额(单元:元)大于0且小于或等于200的用户定义为初级付费用户(small_r);大于200且小于或等于400的用户定义为中级付费用户(medium_r);大于400且小于或等于600的用户定义为高级付费用户(big_r);大于600的用户定义为超级付费用户(super_r)。根据以上的定义规则,我们通过对用户的月累计消费金额进行数据分箱获得用户付费标签,实现的SQL代码如下。例如,数据分析师和运营人员确定的用户付费标签规则为:将当月累计付费金额(单元:元)大于0且小于或等于200的用户定义为初级付费用户(small_r);大于200且小于或等于400的用户定义为中级付费用户(medium_r);大于400且小于或等于600的用户定义为高级付费用户(big_r);大于600的用户定义为超级付费用户(super_r)。根据以上的定义规则,我们通过对用户的月累计消费金额进行数据分箱获得用户付费标签,实现的SQL代码如下。
3)模型类标签的开发
模型类标签主要由算法工程师负责开发,即对用户的社会属性进行预估,或者对用户的付费倾向、流失倾向等标签进行预测。
5. 标签上线与版本迭代
5.3数据标签体系的应用场景
数据标签体系通常服务于数据产品,通过标签查询、人群圈选及自动化触达等功能辅助运营人员进行决策分析;同时,数据分析师可以直接通过数据标签体系提取相应数据,高效地完成日常取数工作以及数据指标体系的构建。
5.3.1数据标签体系辅助运营人员进行决策分析
1. 标签查询及人群圈选
2. 自动化触达
5.3.2数据标签体系可提升数据分析师的分析效率
第6章数据指标体系
6.1从中国人口数据初识指标体系构建
6.1.1什么是指标体系
指标体系是指标与体系的结合体,是一套从多个维度拆解业务现状并有系统、有规律地组合起来的多个指标。也就是说,单个指标只能称为指标,多个有一定规律、内部有一定关联的指标的组合才能称为指标体系。
6.1.2为什么需要指标体系
1.指标体系是一套标准化的衡量指标,可以监控业务的发展情况
2. 通过指标分级治理,快速定位业务问题,优化业务方向
3. 形成标准化体系,可减少重复工作,提高分析效率
6.1.3指标体系的评价标准及注意事项
1)数据提前埋点
2)统一计算口径
需要统一整套指标体系的最小计算单位
3)指标穷尽且相互独立,遵循MCEC原则
6.2用四个模型梳理数据指标体系构建的方法论
6.2.1构建数据指标体系的方法
6.2.2用三个步骤、四个模型梳理数据指标体系的方法
1. OSM模型——明确业务目标,数据赋能业务
OSM:业务目标,行动策略,评估指标
2. AARRR模型和UJM模型——理清用户生命周期及行为路径
路径模型
AARRR:从产品角度出发,揭示用户生命周期
获取-激活-留存-付费-推广
UJM:从用户角度出发,揭示用户行为路径
注册-登录-加购-购买-复购
MECE:完全独立,互相穷尽
6.2.3以 GMV 为例搭建数据指标体系
部署框架
第一步,根据OSM模型构建整体框架,明确业务目标。
第二步,根据AARRR或UJM模型拆解用户达成GMV的路径,将业务目标转化为提升用户路径转化率。
第三步,根据MECE模型对GMV达成路径的每一个指标进行拆解,实现指标分级治理。
GMV=曝光UV×转化率×访购率×平均客单价
问题1:将指标拆这么细有什么用?
正向作用:分解核心KPI,明确每一步骤的行动目标和每个行动的考核指标。
反向作用:当业务出现问题时,可以通过指标体系反向排查业务问题。
问题2:在运用MECE模型进行指标体系分级治理时,是不是拆得越细越好、越全越好?
当然不是,在用MECE模型拆解指标时,需要找到与核心指标有重要关联的子集进行拆解分类,这样才能保证指标体系能够指导业务方进行决策分析,帮助数据分析师定位业务问题。
6.3如何搭建一套通用的指标体系并快速落地应用
6.3.1多部门配合搭建数据指标体系的流程
(1)需求收集:产品(策划)经理或者运营人员完成产品原型(策划案)或者运营方案,数据分析师根据原型(策划案)或者运营方案提炼数据需求,评估需求可行性并和需求方讨论,修改不合理需求。
(2)需求汇总及排期:数据分析师将数据需求整理成文档并根据优先级对需求进行排期。
(3)确定指标体系方案:数据分析师以OSM模型、AARRR模型、UJM模型、MECE模型作为指导思想,初步确定指标体系建设方案。
(4)确定数据埋点方案:数据分析师根据初步的指标体系建设方案设计埋点方案,同时给出字段命名规范及数据采集方案。然后,数据分析师将上述方案给到前后端进行埋点。
(5)数据采集:在数据采集阶段,数据工程师需要将前后端埋点数据送入数据仓库并进行数据清洗。
(6)搭建指标体系:在搭建指标体系之前,数据分析师需要对入库的数据进行核验,检查数据是否全,数值是否正确。然后,根据指标体系建设方案进行指标体系搭建及落地。
(7)效果评估:指标体系落地,用于监控业务现状,指导业务决策,定位业务问题,在业务方的不断反馈中逐渐完善整套指标体系。
6.3.2搭建通用的指标体系
6.4定位异动因素
6.4.1数据波动多少才能称为数据异动
6.4.2数据波动分析的方法论
数据波动分类
数据波动分析的四排除
1. 排除数据周期性波动
2. 排除内部因素的影响
3. 排除外部因素的影响
4. 排除数据传输问题
通过逻辑树确定数据波动影响因素
还是以DAU波动为例进行说明,假设某天某个产品的DAU发生异常波动,业务方希望你能帮忙找到异动原因,操作流程如下。
6.4.3从数据埋点到指标体系再到指标异动的闭环
第3篇 数据分析方法论
第7章对比思维
7.1利用对比分析得出结论
7.1.1对比分析的作用
7.1.2确定对比的对象
和自己比
可以通过某段时间的业务平均值、中位数等统计指标来衡量业务的整体大小;
也可以通过变异系数来衡量业务整体的波动;还可以使用同比、环比等指标来衡量业务的变化趋势。
和行业比较
可以通过行业趋势与业务发展趋势进行对比,以判断业务发展是否健康;
也可以和行业标准进行对比,以确定业务发展是否达到行业标准,进而调整业务发展方向和策略。
7.1.3如何对比
1. 衡量数据整体大小
2. 衡量数据整体波动
3. 衡量数据变化趋势
1)时间维度
2)空间维度
(1)在产品层面,可以通过与相似产品进行对比以分析次日留存率是否正常。
(2)在地区层面,可以将关键指标拆分到不同的地区,然后分析该指标在不同地区的表现。
(3)在用户层面,可以将用户分组,对比不同组别用户在某一指标下的差异;也可以选定一个用户群体,比较该用户群体在不同日的留存率表现,即同期群分析。
(4)用户和产品交叉分析也是常用的分析思路,通常来说就是A/B试验,比如选定某一群体的用户,将其分为两组,分别给他们展示不同颜色的网页,对比其点击率,以评判哪种颜色的网页更受欢迎。
7.1.4对比分析的可比性原则
(1)坚持对比对象相似的原则,就是说对比的对象要是同类型的,属于同一领域
(2)坚持对比指标同质的原则,包括指标口径相同、指标计算方式一样和指标计量单位一致。
7.2 A/B 试验设计及容易忽略的误区
7.2.1什么是 A/B 试验
A/B试验可以通过控制试验变量研究对照组与试验组之间是否存在显著差异
7.2.2 A/B 试验能解决什么问题
1. 评估方案优劣,选择最优方案
2. 计算ROI,提升收益
7.2.3 A/B 试验的流程
1. 设定指标
A/B试验中的指标可以分为三类,即核心指标、辅助指标和反向指标,在进行A/B试验时建议同时选择三类指标作为试验指标。
2. 创建变量
选定指标之后,就需要进行变量的创建,即对网页的元素进行更改,将之前绿色的皮肤改为黄色的皮肤。这部分工作由前端配合完成。
3. 生成假设
可以基于经验对试验结果做出假设。例如,可以假设用户更喜欢改版后的网页。
4. 确定分流(抽样)方案
如何分配流量、分配多少流量关系到A/B试验的成败,尽量选择同质性较高的用户,也就是各个维度特征较为相似的用户进行测试,同时需要确定分流比例和其他分流细节。
5. 确定试验时长
6. 收集数据
7. 分析数据
7.2.4 A/B试验常见的误区
1. 忽略统计学意义
2. 忽略新奇效应对于试验的影响
在统计学上,新奇效应也称为均值回归,即随着试验次数的增加,结果往往趋近于均值。
在A/B试验中,试验早期用户可能会因为新的改动而产生好奇,从而带来点击率的提升,但是随着试验时间的增加,这个点击率会趋近于用户的真实点击水平。因此,数据分析师需要等到观测指标平稳之后才能停止试验,以避免新奇效应对于试验结果的影响。
3. 以偏概全——试验周期没有覆盖产品高低频用户
4. 随意切割试验流量比例而造成辛普森悖论
辛普森悖论是指在某个条件下的两组数据,分别讨论时都会满足某种性质,可是一旦合并考虑,却可能导致相反的结论。
5. 设计正交试验,解决多个试验同时进行时流量分配的问题
7.3 A/B试验背后涉及的统计学原理
7.3.1什么是抽样
7.3.2样本为什么可以代表总体
大数定律:在随机事件的大量重复出现中,往往呈现几乎必然的规律
中心极限定理:大量随机变量近似服从正态分布的条件
3σ准则:只要样本量足够大,无论样本均值还是样本比率都可以近似为正态分布
7.3.3通过假设检验判断A、B 两组样本是否存在差异
假设检验的目标是拒绝原假设,如果没有足够的信息证明原假设成立,就拒绝原假设;如果有足够信息证明原假设成立,就接受原假设。
7.3.4如何通过样本估计总体
7.3.5如何确定足够的样本量,以达到所希望的边际误差
7.3.6如何衡量试验效果
1. 显著性水平(1-α)和P值
显著性水平将犯Ⅰ类错误的概率控制在一给定的水平下,这个水平就是显著性水平,在此基础上使犯第Ⅱ类错误的概率尽可能小。
P值在统计学中用来衡量两样本由随机抽样误差,即犯Ⅰ类错误而产生的差异,只要P值足够小,小到可以忽略,数据分析师就可以认为两样本之间的差异并不是由抽样误差引起的,而是样本本身就存在差异。
2. 效应量
假如试验结果的P值在置信水平下显著,但效应量小,数据分析师仍然有理由认定试验结果是不显著的。
3. 最小检测效应
最小检测效应(Minimum Detectable Effect,MDE),也称为检测灵敏度,它与样本容量、样本标准差、犯Ⅰ类错误和Ⅱ类错误有关。Z检验和t检验的最小检测效应MDE的计算方式有所不同
Z检验的MDE计算公式如
t检验的MDE计算公式如
7.3.7多重比较中P值修正的三方法
假设检验的基本原理是小概率原理,即小概率事件在一次试验中实际上不可能发生。当同一问题进行多次假设检验时,不再符合小概率原理所说的“一次试验”。如果对于同一问题进行n次检验,每次检验的误判率(犯Ⅰ类错误的概率)为α,则n次检验的误判率可以增至1-(1-α)n。此类情况在多个试验的比较、多个指标的比较或者是临床试验分析中较为常见[4,5]。
7.4 Python 实战:A/B试验在广告方案选择中的应用
7.4.1试验背景
为了测试智能广告相比普通广告是否更受用户欢迎,数据分析师设计了A/B试验,通过观察智能广告的点击率与普通广告的点击率之间是否有差异,进而决定是否大规模推广智能广告。
在试验组中向用户曝光智能广告,而在对照组中只向用户曝光虚拟的广告位,在一定时间内收集了足够的样本量。
在此次A/B试验中,需要验证的核心指标是广告点击率,即点击广告的用户占曝光广告的用户的比例。
7.4.2数据基本情况探索(代码)
首先,通过如下代码读入数据并且查看字段及其类型。
其次,了解每一个字段包含的内容也是数据基本情况探索的重要环节,可以通过如下代码实现。
最后,数据分析师可以通过如下代码查看试验组和对照组的样本容量。
7.4.3 A/B 试验结果分析
1. 提出假设
此次A/B试验,数据分析师要验证的是智能广告与普通广告的点击率之间是否有差异,此处记普通广告的点击率为p1,智能广告的点击率为p2,则数据分析师可以提出以下原假设(H0)和备择假设(H1)。
H0:智能广告与普通广告的点击率之间没有差异,即p2-p1=0。
H1:智能广告与普通广告的点击率之间存在差异,即p2-p1不等于0
2. 验证假设的统计学基础
提出假设之后的重要步骤就是验证假设。验证假设的方法就是检验试验组和对照组的点击率之间是否存在显著性差异,即计算两者之间P值及置信区间。
数据分析师可以命名几个函数以计算试验组和对照组点击率之间是否具有显著性差异及其置信区间
通过如下代码实现显著性检验,首先统计试验组和对照组的样本数量,同时计算各组中点击广告的用户数量,然后计算各组的广告点击率,最后调用函数实现P值及置信区间的计算。
3. 得出结论
根据假设检验的结果,P值大于0.05,因此接受原假设,智能广告的点击率和普通广告的点击率是没有差别的,不建议大规模推广智能广告。
第8章分群思維
8.1从用户生命周期浅谈分群思维
8.1.1什么是分群思维
用户分群是按照用户生命周期,将用户分成不同阶段的用户,从而采取不同的运营策略对其进行运营
双层金字塔结构的用户分层
8.1.2为什么需要用户分群
1. 用户分群是用户精细化运营的基础
2. 用户分群更能体现用户差异化
8.1.3用户分群方法论
用户分群方法论
结构分析
通过数据分箱处理生成数据标签,统计标签分布情况,进行分析、运营决策
同期群分析
横向分析同期群体随时间推移发生的变化
纵向分析生命周期相同阶段的群组之间的差异
RFM模型(主要应用于用户付费分群)
三个维度
最近一次消费Recency——忠诚度
消费频率Frequency——活跃度
消费金额Monetary——付费能力
八个类别(衡量标准为各自维度的平均值)
重要价值客户(111):最近消费时间近、消费频次和消费金额都很高,我们要提供VIP服务
重要保持客户(011):最近消费时间较远,但消费频次和金额都很高,说明这是个一段时间没来的忠诚客户,我们需要主动和他保持联系。
重要发展客户(101):最近消费时间较近、消费金额高,但频次不高,忠诚度不高,很有潜力的用户,必须重点发展。
重要挽留客户(001):最近消费时间较远、消费频次不高,但消费金额高的用户,可能是将要流失或者已经要流失的用户,应当给予挽留措施。
一般价值客户(110)
一般发展客户(100)
一般保持客户(010)
一般挽留客户(000)
K-Means分析
机器学习算法,基于用户历史数据,也可结合RFM
根据事先设定的K值进行运算
按需定K
拐点定K
Gap Statistic定K
K-Means是一类迭代求解的算法,该算法需要事先选定K个聚类中心,依次计算每个样本与各个聚类中心的距离,并将样本分配到距其最近的聚类中心,不断迭代直到聚类中心不再发生变化。K-Means算法运行速度快,能够处理大量数据,但是数据分析师需要事先确定K的数值,K值确定得是否合适关系到模型效果的好坏。
K的大小一般使用三个指标来确定
1)卡琳斯基-哈拉巴斯指数
卡琳斯基-哈拉巴斯指数(Calinski-Harabaz Index)是簇间离散程度与簇内离散程度之比,它通过评估簇间方差和簇内方差来计算得分。基于聚类的目的,数据分析师希望簇内距离越小越好,簇间距离越大越好,因此卡琳斯基-哈拉巴斯指数越大越好,其值越大,代表着簇内越紧密,簇间越分散,即更优的聚类结果。
2)轮廓系数
聚类是按照簇内差异小、簇间差异大的原则将样本聚到不同的簇中的。轮廓系数(Silhouette Coefficient)是衡量聚类效果的指标。轮廓系数的取值范围为[-1,1],其值越趋近于1,则簇内差异越小,簇间差异越大,即内聚度和分离度都相对较优;而轮廓系数趋近于0时,则代表簇间差异极小。因此,数据分析师应当选择轮廓系数最大时所对应的K值。
3)簇内平方和
K-Means算法的终极目的是求解能够让簇内平方和最小的质心,质心不断变化的过程也是簇内平方和不断缩小的过程。簇内平方和越小,说明聚类效果越好。通过簇内平方和求解最佳聚类数K值的方法也称为“手肘法”,当K值接近真实聚类数时簇内平方和的下降程度会骤减并随着K值的增大而趋于平缓
8.2用数据分箱进行结构化分析
8.2.1结构化分析是什么
结构化分析就是用户分箱,即将圈定的用户群体按照组成成分或付费金额等维度划分区间对其进行分组,而后讨论各个组之间的差异。
1. 以DAU变化为例诠释结构化分析
近七天的DAU持续走低,看到这个现象之后运营人员想要确定DAU持续走低的原因,这时候就可以用到结构化分析,即按照DAU的组成成分分析,确定到底是哪一部分的人数减少。如图8-5所示,笔者将DAU拆解成新用户和老用户之后,发现这七天新用户占比基本不变,而老用户占比持续减少。老用户占比持续走低是DAU持续下降的原因,说明用户黏性不好,可以告诉老板应该推出一些激励活动刺激用户,提升用户黏性。
2. 以营收分析为例诠释结构化分析
对于营收方面的结构化分析,一般情况下通过用户的付费金额对用户进行分组并贴上标签,然后计算每一个组别的用户占比。用统计学的术语来说就是统计用户付费情况的分布,即各个标签下用户的分布情况。
8.2.2如何更加高效地做结构化分析
高效地做结构化分析的方法流程
8.3同期群分析解读用户生命周期,剖析真实用户行为和价值
8.3.1同期群分析是什么
同期群分析是一种横纵结合的分析方法,在横向上分析同期群随时间推移而发生的变化,在纵向上分析在生命周期相同阶段的群组之间的差异。
8.3.2做同期群分析的意义
1. 可细分用户,实现精准运营,提高用户留存率
2. 可进行横纵向结合比较,量化同一群体的流失率变化情况以及不同群体的流失率差异
3. 可监控真实的用户行为、衡量用户价值,有助于有针对性地制定营销方案
8.3.3数据分析师如何快速地做同期群分析
同期群分析是数据分析中常用的方法,Python、Excel、SQL等工具都可以实现同期群分析,但在实际工作中同期群分析经常以报表的形式呈现,从而实现对业务指标的监控。
8.4 Python 实战:基于 RFM 模型及 K - Means 算法实现用户分群
8.4.1 RFM模型与 K - Means 算法介绍
8.4.2 RFM模型实现用户分群
1. 数据预处理
通过如下代码实现数据读入
接下来就需要检查模型中用到的关键字段是否存在异常数据并将异常数据剔除,实现代码如下
从上面的结果可见,商品数量及商品价格这两个字段中存在一些脏数据,比如商品数量和商品价格为负数的情况,对于这些数据,笔者予以删除,实现代码如下。
对于下单时间这个字段,原始数据给出精确到秒的数据,但是对于建立RFM模型只需用精确到天的数据,因此需要对时间数据进行处理,实现代码如下。
2. RFM模型相关指标计算
数据清洗完后,我们需要计算每一位用户最近一次消费距上次的间隔(Recency)、消费频率(Frequency)及消费金额(Monetary)三个关键指标。
首先,通过如下代码计算每一个用户消费的总金额
在计算消费间隔之前需要选定一个背景时间作为统计日,此处将统计时间定为最大日期之后一天。将背景时间赋值给变量,同时创建计算用户消费时间间隔的函数,实现代码如下。
处理好时间之后,直接通过groupby()函数计算每一个用户的R、F、M值,实现代码如下。
3. 查看R、F、M指标数据分布情况
计算出各个用户的R、F、M值之后,通过R、F、M指标的核密度曲线查看数据基本情况,实现代码如下。
4. 对数据进行分箱处理,计算RFM分数实现用户分群
有了各个用户的R、F、M值之后,数据分析师就需要根据R、F、M特征对用户进行分群。此处按照用户R、F、M值的四分之一中位数、二分之一中位数、四分之三中位数分别将三个特征分成四个组别,组别代表用户在该特征下的得分情况。
有了用户在R、F、M各个特征上的得分,数据分析师就可以计算用户整体的RFM总分数,并根据总分数的四分之一中位数、二分之一中位数、四分之三中位数将用户分成四个组别,同时按照分数大小为用户打上对应的标签,实现代码如下。
有了用户标签之后,数据分析师可以将标签与用户RFM相关信息进行映射,并且计算每一个标签下面的用户有多少,实现代码如下。
由RFM模型的分析结果可见,普通用户有1287名,银牌用户有917名,金牌用户有1300名,钻石用户有835名。到此为止,基于RFM模型的分析全部结束。RFM模型的最大优点是基于业务,可解释性强。
8.4.3 K- Means 算法实现用户分群
1. 数据归一化处理
K-Means算法用到的数据是8.4.2节已经计算好的用户R、F、M特征数据。首先,从原数据中选出所需的字段,并将这些数据进行备份,以便以后使用,实现代码如下
在进行聚类之前,数据分析师需要对用户R、F、M特征数据进行归一化处理。由于不同用户的R、F、M特征值相差较大,所以需要将不同量级的数据转换到同一量级。归一化处理分为两个步骤进行,首先对数据进行log(x+1)变换,缩小用户间R、F、M值的区间范围,其次通过Z-Score变换将用户R、F、M特征值映射到N(0,1)的正态分布,具体实现代码如下
完成数据归一化之后,再次查看数据分布,实现代码如下。
除用户的R特征外,其余两个特征F、M归一化后的数据分布基本符合N(0,1)的正态分布。
2. 确定K值
完成数据归一化之后,就可以正式进行K-Means聚类分析。做K-Means聚类分析的第一步是确定聚类数K。在8.4.1节中已经介绍了三种确定聚类数K的方法,分别是卡琳斯基-哈拉巴斯指数法、轮廓系数法及簇内平方和法,此处会使用三种方法一起确定聚类数K,具体实现代码如下
最终,三个聚类指标随不同聚类数K变化的趋势如图8-16所示,根据三个指标综合评判,选择K=4较为合适。
确定K值之后,就可以进行K-Means聚类分析并计算聚类中心,实现代码如下。
由上述结果可见,K-Means聚类分析将用户分成了四类并且展示了每一类的用户数,但是这个分类效果到底如何,每一个到底代表什么特质的用户,我们现在还不得而知,还需要后面继续分析才能得出结论。
3. 评估聚类效果
为了评估聚类效果如何,笔者通过数据可视化的方式展示了K-Means聚类效果,实现代码如下。
最终展示结果如图8-17所示,四个类别有较为清晰的界限,特征相近的用户基本能聚到同一类中。除了可视化,还可以通过一些特定指标评价K-Means的聚类效果,这里就不再赘述。
4. 聚类含义解释
K-Means属于机器学习算法之一,其运行过程犹如一个黑匣子,并不像RFM模型那样具有很强的可解释性。因此,解释每一个类别的含义成为K-Means下游分析的重中之重。
用于K-Means聚类的数据都是经过归一化处理的,直接去看归一化后的数据对于业务含义的理解是不利的,所以此处将用户的K-Means分类标签映射到未归一化的数据,并且计算出R、F、M每个特征的中位数,实现代码如下
从各类别R、F、M特征的中位数来看,组别为0的用户可能是付费能力较低的普通用户;组别为1的用户可能是付费能力较强且活跃度、忠诚度极高的钻石用户;组别为2的用户可能是略次于组别为1用户的金牌用户;组别为3的用户是付费能力略强于组别为0用户的银牌用户。这是基于用户R、F、M特征的中位数给出的初步判断,结果到底如何,接着往下分析。
要判断各组用户的业务属性,最方便的方法是统计用户在R、F、M三个特征下的数据分布。对于用户消费金额M来说,其数值较为多样化,需要将其按照一定的规则进行分箱处理,再统计数据分布才较为合理。因此,先计算了用户在M特征下的最大、最小值情况,在最大、最小值区间内以100为间距,将用户原始的消费金额数据映射到各个区间,实现代码如下。
完成用户消费金额M的分箱之后就可以分别对各类特征求分布,其实现过程还是调用groupby()函数,实现代码如下。
最后就是将四个类型的用户在各个特征下的数据分布情况进行可视化。四个类型的用户在消费间隔R特征下的数据分布情况可视化实现代码如下。
四个类型的用户在消费频率F特征下的数据分布情况可视化实现代码如下
四个类型的用户在消费金额M特征下的数据分布情况可视化实现代码如下。
最后,不同类型用户在各个特征下的数据分布如图
由上述的分析结果可以看到,Category=0组的用户是消费频率低、消费间隔长、消费金额低的用户,因此笔者认为该类用户群体的价值较低,是较为普通的客户;Category=1的用户是消费频率高、消费间隔短、消费金额高的用户,因此可以认为该类用户群体的价值最高,是优质的钻石客户;Category=2的用户,消费频率、消费金额略高于Category=0的用户,消费间隔明显低于Category=0的用户,因此可以认为Category=2的用户是较优的银牌用户;Category=3用户的消费频率、消费金额、消费间隔在Category=1的用户和Category=2的用户之间,因此可以认为Category=3的用户是优质的金牌用户。
第9章相关与因果
9.1相关性分析简介
9.1.1相关性分析与相关系数
相关性分析是指对两个或者多个具备相关性的变量进行分析。变量之间需要存在一定联系才可以进行相关性分析。
两变量的相关关系有三种,即正相关、负相关、不相关。
9.1.2常用的三种相关系数
1. 皮尔逊相关系数
皮尔逊(Pearson)相关系数也称为积差相关系数,用于度量两个变量x和y之间的线性相关程度。在正式介绍皮尔逊相关系数之前,我们有必要先了解协方差的概念。协方差表示两变量总体的误差,通俗易懂的解释就是两个变量x,y在变化过程中是同向的还是反向的。x变大,y也变大,此时协方差为正;x变大,同时y变小,此时协方差为负。其计算公式如公式
从上面的描述中,我们知道协方差可以用来表示两变量之间的相关性,但协方差的值会随着量纲的变化而变化,因此提出了皮尔逊相关系数的概念。皮尔逊相关系数是通过变量x,y的协方差除以x,y的标准差的乘积来消除量纲的影响的。从另一个角度来说,皮尔逊相关系数是一种特殊形式的协方差,其计算公式如公式(9.2)所示
只有当两个变量x, y满足以下条件,皮尔逊相关系数才适用:
(1)两变量x, y之间是连续数据,且呈现线性关系。
(2)两变量x, y的总体的数据分布是正态分布,或者接近正态的单峰分布。
(3)两变量x, y的观测值是成对的,每对观测值之间相互独立
2. 斯皮尔曼相关系数
斯皮尔曼(Spearman)相关系数是一种秩相关系数。“秩”可以理解成一种顺序或者排序。该系数与皮尔逊相关系数类似,只不过把变量x,y的坐标换成各自的秩,即变量x,y的等级。斯皮尔曼相关系数是通过对两个等级变量x,y作差进行计算的,其本质是等级变量之间的皮尔逊相关系数。因此斯皮尔曼相关系数也称为“等级差数法”,它是一种无参数的检验方法,即与数据分布无关。对于样本容量为n的样本,n个原始数据被转换成等级数据,则其相关系数计算公式如公式(9.3)所示,di为两个等级变量x,y的差[7]。
斯皮尔曼相关系数的适用条件不像皮尔逊相关系数那么严格,其适用条件如下:(1)不需要考虑两变量x, y总体的数据分布及样本量大小。(2)两变量x, y的观测值是成对的等级数据,或者是由连续变量观测值转换而来的等级数据。
3. 肯德尔相关系数
肯德尔(Kendall)相关系数也是一种秩相关系数,是用于反映分类变量的相关性的指标。
9.1.3相关系数实战
9.2因果推断方法论
9.2.1相关性不等于因果性的示例
9.2.2从辛普森悖论谈因果推断
9.2.3因果推断的三个层级
因果推断的主要目的是因果发现和确定因果效应,其实现步骤是有一定理论支撑的。贝叶斯网络之父Judea Pearl在《为什么:关于因果关系的新科学》[9]一书中阐述了因果之梯,即因果推断的实现步骤。Pearl将因果关系划分为三个层次,由低到高分别是关联、干预、反事实
美国的自杀人数与财政在自然科学领域的投入资金呈正相关关系的示例说明因果推断的三个层次。
第一层,观察到相关性,自杀人数与自然科学领域投入资金呈正相关关系。
第二层,开始干预,政府在自然科学领域投入更多的资金,是不是自杀人数也会随之增多?当然不是!
第三层,反事实推理,如果想要减少自杀人数,是不是减少政府在自然科学领域的投入资金就能实现?当然不是!
9.2.4因果推断的方法
1. 试验数据的因果推断方法论
2. 观测数据的因果推断方法论
断点回归(Regression Discontinuity)
是一种接近于准自然试验的设计,其基本思想是将某一连续变量随机进行分段,分析断点前后结果变量是否存在差异[17]。举个例子来说,高考一本线可近似认为是一个断点,研究考上一本和未考上一本对未来收入的影响可近似认为是一个断点回归模型[17]。
双重差分法(Differences-in-Differences)
又称“倍差法”,也称“差中差”,是因果推断的重要利器。双重差分法的主要思想是通过对比干预前后结果变量之间的差异,衡量干预行为的效果[10]。双重差分法可用于研究商品价格调整前后客户购买率及复购率的差异。
合成控制法(Synthetic Control Method,SCM)
是基于反事实框架的因果推断方法,该方法最初用于评估某个政策在某国家或地区实施的效果[18]。以评估某政策在某区域的实施效果为例,如果使用合成控制法进行因果推断,其实施过程如下。首先,假设该地区没有受到干预,数据分析师通过其他相似的地区合成一个新的地区作为对照组;然后,将对照组与事实上受到干预的试验组做对比,二者之差即“处理效应”。
倾向性得分匹配(Propensity Score Score Matching ,PSM)
基于反事实推断理论框架,该方法主要用于减少数据偏差及混杂变量的影响,以更加合理地比较试验组和对照组。倾向性评分是一个能够反映多个混杂因素影响的综合指标,在观察性研究中,数据分析师可以将两组样本按照倾向性评分从小到大进行匹配,以达到仅用倾向性评分一个指标同时控制多个混杂因素的目的。
9.2.5因果推断常用的框架
因果推断的开源框架
9.3 Python 实战:利用 DoWhy 框架实现因果推断
9.3.1 DoWhy 因果推断框架简介
DoWhy是微软提出的基于“图模型”和“潜在结果模型”的开源框架,该框架通过图模型对假设进行建模并且识别非参数的因果效应。
DoWhy分析流程可以拆分为四个步骤,即建模、识别、估计、反驳[19]。
在因果推断建模时,数据分析师利用先验知识对变量之间的关系做出假设并作为模型的输入,DoWhy框架将先验知识编码为因果图;识别因果效应是因果推断的关键步骤,DoWhy框架用基于图的方法识别变量间的因果效应;接下来是估计,即通过统计学的方法对因果效应进行估计;最后是反驳,即通过鲁棒性(稳健性)验证估计的正确性。
DoWhy框架有着其独特的优势。
第一,它提供了将先验假设转换为因果图的方法,以方便数据分析师明确所有假设。
第二,它整合了图模型和潜在结果模型并且在四个环节中都提供了多种分析方法。例如,在识别阶段,该框架提供了前门准则、后门准则、工具变量及中介准则,具体内容这里就不一一介绍了,感兴趣的读者可以查看DoWhy官方文档。
第三,它还提供了检测假设正确性,以及估计鲁棒性的方法。
9.3.2数据来源及预处理
在介绍完DoWhy框架之后,我们使用开源的酒店预订数据集进行实战分析[插图]。酒店预订数据集包括客户到达时间、是否取消预订、同行的儿童人数、预订变更、预订房间类型及分配房间类型等32个字段,旨在探究酒店为客户分配的房型与其预订的房型不同时,客户是否会取消该次预订。简而言之,该示例的目的是研究分配房型与预订房型不同与客户取消预订之间的因果关系。对于以上问题的探究,最好的方式是随机对照试验,即将每一位消费者随机分配到对照组和试验组,为对照组的客户分配和其预订房型相同的房间,为试验组的客户分配和其预订房型不同的房间,观察对照组和试验组的预订取消率是否存在显著性差异。但是,在现实情况下,这类随机对照试验不仅成本过于高昂,而且影响客户体验,因此此处通过过往的观测数据探究其因果关系[20]。首先,通过如下代码导入此次分析需要用到的Python包。
然后通过如下代码读入数据并且查看数据基本情况,结果显示“agent”和“company”字段缺失较为严重,“country”和“children”字段也存在少量缺失,之后在数据预处理部分会进行处理。
可通过如下代码实现对于缺失字段的处理,由于“company”及“agent”两个字段缺失值较多,所以直接删除这两个字段;而对于“country”这个字段,用出现频率最高的国家填补缺失值。
为了方便分析,需要通过如下代码构造几个新的数据特征以减少原始数据的维度。第一个特征是累计天数,即周内的天数加上周末的天数;第二个特征是同行人数,即成人数量加上儿童数量再加上婴儿数量;最后一个关键特征是分配房型是否与预订房型相同,如果相同记为“1”,否则记为“0”。除此之外,删掉一些无关紧要的字段,如客户到达的年、月、日等字段。
下面对处理好的数据集的正负样本情况进行可视化,实现代码如下。
结果如图9-7所示,对于“是否取消预订”和“是否分配与预订时相同的房型”两个字段来说,正负样本的比例都是不平衡的,之后在做因果推断时需要进行必要的处理。
9.3.3数据相关性探索
在正式做因果推断之前,要对变量间的相关性进行探索。首先,通过如下代码查看非数值型变量的具体情况。
接着将这些非数值型变量进行标准化,使其转化为数值型变量,实现代码如下。
做好相关数据预处理之后,就可以对各个变量之间的相关性进行探索,实现代码如下。
变量间的相关性如图9-8所示,与客户取消预订相关性最高的三个因素分别是“停车位”“总共居住天数”“预订房型与分配房型不同”。但变量间有相关性不一定就代表存在因果性,所以还需要通过因果推断进一步分析其因果性。
9.3.4因果推断实现
1. 计算期望频数,初步判断因果关系
由相关性分析可知,客户取消预订与“停车位”“总共居住天数”“预订房型与分配房型不同”三个因素相关性较高。除以上三个因素外,还有部分因素与客户取消预订呈现微弱相关性,如“预订变更”“特殊要求”等因素。相关不等同于因果,而且由图9-8可知,数据集中正负样本比例是不均衡的,所以此处需要对因果关系进行初步探究。于是对于变量“取消”“预订房型与分配房型不同”,在数据集中随机选取1000次观测数据,统计两个变量值相同的次数,即如果酒店为客户分配了与预订房型不同的房间,客户取消订单的次数,重复上述过程10000次取平均值,实现代码如下。
理论上,这个次数应该是总观测次数的50%,因为面对酒店分配与预订房型不符的房间时,客户要么取消预订,要么接受房型调整。如果这个次数接近总观测次数的50%,那么可初步说明两变量之间可能存在一定的因果关系。最终得出的期望频数为518,即如果为客户分配与预订房型不同的房间,有约50%的概率客户会取消预订。预订变更,即变量“booking_changes”,也是造成酒店分配房型与预订房型不同的影响因素之一,所以去除该变量的影响较为重要。因此,此处随机选择预订变更次数为0的1000个客户,重复10000次上述的随机试验后取平均值,实现代码如下。
对于预订变更次数为0的客户,最终得出的期望频数为492,约占样本的50%,是符合预期的。对于发生预订变更的客户,同样选择1000个客户,进行上述的随机试验10000次,实现代码如下。
对于预订变更次数大于0(发生预定变更)的客户,最终得出的期望频数为663,期望频数发生较大变化。这一结果提示“预订变更”可能是一个混杂变量。但是影响客户取消预订的混杂变量可能不只“预订变更”一个,面对这种情况,DoWhy框架会将未指明的变量都作为潜在的混杂变量进行推断。
2. 基于假设创建因果图
基于期望频数的探索及数据分析师自己的经验,对于变量之间的关系做出如下假设。
• 细分市场,即market_segment字段
包括两种类别,即“个人”和“旅行社”。这里表示酒店预订来源,预订方式会影响客户从预订酒店到到达酒店之间的时间,即lead_time字段。
• 国家,即country字段
是指客户旅行的目标国家。目标国家的旅游热度会影响用户是否会提前预订酒店,从而对lead_time造成影响;同时,不同的国家有不同的饮食习惯,因此目标国家和美食即meal字段之间也有一定关联。
• 预约和到达之间的时间间隔会影响预约等待时长,即lead_time会影响days_in_waiting_list。
客户酒店预订的时间越晚,取消预订的概率就越低;预约和到达之间的时间间隔越长,用户就越容易取消预订。
• 预订等待时间(days_in_waiting_list)、总停留天数(total_stay)及同行人数(guests)都是预订是否取消的影响因素。
• 客户之前预订取消的情况(previous_bookings_not_canceled)会影响客户是否会成为回头客(is_repeated_guest)。这两个因素都会影响此次客户是否取消订单,如果一个客户在之前的预订中有多次取消行为,那么此次取消的概率也很大。
• 预订变更(booking_changes)是客户被分配到与预订房型不同的房间(different_room_assigned),甚至是客户取消预订(is_cancelled)的影响因素。
• 预订变更(booking_changes)是一混杂变量,除此之外,可能还有其他混杂变量影响干预和结果,但是在该数据集中没有足够的信息帮助我们识别这些混杂变量。
有了假设,即DoWhy框架所说的先验知识,就可以创建因果图了。但是为了使数据符合DoWhy框架的输入要求,还需要将数据中的空值删除,并且将different_room_assigned及is_canceled字段由0-1类型替换为True-False形式。
完成数据处理后,将上述假设以文本的形式存入变量casual_graph,为创建因果图做准备,其实现代码如下。
基于上述的因果图,构建因果推断模型,实现代码如下。
因果推断模型如图9-9所示。
3. 识别因果效应
基于上述的图模型,DoWhy会通过不同的方法识别出因果效应表达式。到底什么是因果效应?我们用通俗易懂的话来说就是干预发生一个单位的改变时,结果发生的变化程度。此处,我们将使用因果图来识别因果效应,具体实现代码如下。
4. 估计因果效应
DoWhy框架支持多种方法估计因果效应,最终返回平均值。此处,我们将实际数据代入因果效应识别阶段得到的表达式,计算干预发生单位变化时结果发生变化的程度,实现代码如下。此处,我们选择倾向性得分匹配方法来估计平均干预效应(ATE),当然也可以估计干预组(ATT)或者对照组(ATC)的因果效应。
通过DoWhy框架估计出的因果效应量为-0.34,也就是说当消费者在预订房间时,为其分配之前预订过的房间所导致的平均预订取消概率要比为其分配不同的房间低34%。
5. 反驳结果
上述因果推断结果都是基于最初的假设进行的因果关系的识别,只是进行简单的统计学估算。因此,为了验证假设是否正确,我们需要进一步检查模型的鲁棒性。DoWhy提供了多种检验方法,包括添加随机混杂因子、安慰剂干预、虚拟结果、模拟结果及添加未观测混杂因子五种方法。此处选择三种方法进行实际操作。
1)添加随机混杂因子
添加随机混杂因子后,重新走一遍因果推断流程,观察因果效应量是否发生改变。如果因果效应量变化不大,则说明假设是正确的。实现代码如下,新的因果效应量约为-0.34,基本保持不变,说明假设正确。
2)安慰干预
该方法是将干预替换为随机变量,如果假设正确,那么因果效应量接近0。实现代码如下,新的因果效应量为0,说明假设正确。
3)在数据子集上验证
该方法是将数据集分为多个子集,在数据子集上验证因果效应。如果多个数据子集的因果效应相差不大,说明假设正确,实现代码如下。
我们建立的因果推断模型通过了以上三种方法的验证,这虽不能证明模型一定是正确的,但是增加了我们对该模型的信心。
以上所有内容就是利用DoWhy框架进行因果推断的全部过程,此案例旨在讲解DoWhy因果推断分析框架的用法,对于数据结果不再进行讨论。在实际运用中,数据分析师可以基于不同的假设绘制出不同的因果图,之后结合自身经验并应用多种估计方法以找出接近真实的因果关系。
第4篇 数据分析案例实战
第10章用户流失分析
10.1用户流失分析方法论
10.1.1用户流失分析总体方法论
10.1.2定义流失用户的方法
1. 流失拐点理论
流失拐点理论依赖于流失用户回归率的计算,为了方便日常监控,通常会用活跃用户留存率进行近似估计,即随着时间的推移,流失用户回归率或者活跃用户留存率趋于一个定值,这个定值所对应的周期就是拐点,也就是用户流失周期
如图10-2所示,流失用户回归率是立足于统计日,往前进行回溯的方法,而活跃用户留存率则是往后观察的方法。
1)从流失用户回归率的角度实践流失拐点理论
根据友盟统一的定义用户连续N日或N日以上未登录,而在统计日登录,则称这部分用户是统计日的回流用户。
N日流失用户回归率是指在统计日之前,连续N日未登录但在统计日登录的用户占连续N日未登录且在统计日也未登录的用户比例,其计算公式如下:
如图10-3所示,以14日流失用户回归率为例,假如要计算2021年3月17日的14日流失用户回归率,则统计日是3月17日,需要统计在3月3日登录过,但在3月4日到3月17日之间都未登录过的用户数作为14日流失用户数,即分母;而在3月3日登录过,在3月4日到3月16日之间都未登录过,但在3月17日登录产品的用户数作为14日回流用户数,即分子;然后用分子比上分母即可算出流失用户回归率。
理解了概念之后就可以统计N日流失用户回归率,找到拐点,确定N值了。
如图10-4所示,我们计算了某产品的N日流失用户回归率,发现当N=20时流失用户回归率趋于平缓,也就是说达到20天这个周期之后该流失的用户基本流失完了,该留存下来的用户基本都留存下来了。这个20天就是用户的流失周期,即可以认为当一个用户连续20天没有登录,此用户就是流失用户。
2)从活跃用户留存率的角度看实践拐点理论
流失用户回流率从计算角度来说会略显复杂,为了简化计算,在实际工作中也会使用活跃用户N日留存率来近似估计用户流失拐点。
N日活跃用户留存率是指在一段时间内活跃过的用户,在接下来的每一段时间内的活跃情况,这里的时间段可以是每一天、每一周或者每一个月,计算公式如下:
N日活跃用户留存率=(统计日起之后N日留存用户数/统计日当日的用户总数)×100%
如图10-5所示,举个例子来说,假如要计算2021年3月17日活跃用户的3日留存率,3月17日即统计日,统计3月17日的活跃用户数作为分母;统计这些用户在3月17日起的第3天,也就是3月19日的活跃用户数作为分子,分子比上分母即可算出N日留存率。
2. 分位数法
如图10-6所示,分位数法是指通过计算所有用户活跃时间的间隔,并统计各个阶段活跃时间间隔的占比,找到累计占比为90%的时间间隔,这个时间间隔就是用户流失周期。
10.1.3分析用户流失的原因
10.1.4生成流失用户标签
10.1.5预测潜在流失用户
10.1.6分层运营及用户召回
10.2案例分析:用5W2H方法分析游戏用户流失原因
10.2.1情景介绍
如图10-9所示,某款游戏自上线以来次日(R2)留存率一直低于同类游戏的行业标准且持续走低。最近,运营人员拿着次日留存率数据找到数据分析师,想要分析次日留存率持续走低的原因,并从数据入手找到一些解决办法。用5W2H分析方法可以全面深入地分析和拆解问题,所以此案例运用该方法进行分析。
10.2.2 5W2H方法介绍
5W2H方法又称七何分析法,由5个以W开头的英文单词和2个以H开头的英文单词进行设问,如图10-10所示。
10.2.3以游戏用户流失为例,详解5W2H方法
(1)What阶段:明确游戏现有问题,即需要对次日留存率进行分析,找出影响次日留存率的因素并提出相应解决方案。
(2)When和Where阶段:通过漏斗分析确定用户流失等级和步骤。
(3)Who阶段:通过用户群分析找出流失用户的属性、特征及来源渠道。
(4)Why阶段:根据上述分析结果初步推测用户流失的原因。
(5)How和How Much阶段:根据上述的分析提出假设,以数据、用户反馈及运营经验为依据,相应地调整游戏设计。
(6)对调整方案进行排期,实施方案,通过A/B试验检验假设是否正确、调整是否有效。
1. 通过漏斗分析确定用户流失等级和流失环节
2. 通过用户群分析确定流失用户的属性
3. 流失归因,方案设计实施
10.3用5个理论模型构建外部因素分析框架
10.3.1通过 SwOT 模型全面认识产品
SWTO模型是麦肯锡咨询公司提出的分析模型。SWTO模型提供了四个维度的分析视角,从内部环境来看,包括产品或企业自身的优势(Strengths)和劣势(Weakness);从外部环境来看,包括机会(Opportunities)和威胁(Threats)
对于用户流失场景下的外部因素分析来说,主要是外界某种不利趋势使得产品竞争力变弱。对这种不利趋势的分析可以参考PEST模型、4P理论及波特五力模型。下面就一起来看看在用户流失外因分析部分如何运用这些理论和模型指导分析。
10.3.2 PEST 模型分析外部宏观环境的四个视角
在用SWOT模型确定从外部威胁着手分析用户流失原因之后,可以通过PEST模型分析社会经济层面的影响因素。用PEST模型分析外部宏观环境的视角包括政治、经济、社会、科技四个方面。
• 政治层面:可以考虑产品覆盖区域的国家或地区出台的相关政策、法律法规等变更对产品造成的影响。
• 经济层面:可以考虑GDP增长、人均可支配收入变化、经济政策法规变更、货币超发等对产品的影响。
• 社会层面:可以从网民性别比例、受教育程度等层面思考。
• 科技层面:也是用户流失的主要外因之一,可以从产品所涉及的国家和地区的技术水平、技术政策、新兴技术的产出等方面考虑。
10.3.3用波特五力模型分析竞品的五个维度
PEST模型从政治、经济、社会、科技四个层面分析外部因素对于用户流失的影响,而波特五力模型着眼于竞争战略的分析。
波特五力模型是20世纪80年代由迈克尔·波特提出的,该模型将行业竞争中的复杂因素简化成五个核心因素,即行业内现有竞争者的竞争能力、新进入者的威胁、买方的议价能力、替代品的威胁及供方的议价能力
10.3.4 用4P 理论指导竞品分析
4P理论是1960年杰罗姆·麦卡锡提出的,是一个简化的营销理论。该理论包括产品、价格、促销、渠道四个要素
10.3.5用户体验五要素模型优化产品功能,减少用户流失
用户体验五要素可概括为表现层、框架层、结构层、范围层和战略层。
• 表现层包括产品的语言设计、布局等,简单来说就是整个产品UI是否符合大众的审美。
• 框架层包括体验操作、刷新、页面跳转、查询等交互操作。这些交互操作是否迎合用户习惯,竞品的交互又如何,都是需要思考的问题。
• 结构层包括信息框架、常规功能、特色功能、用户流程等。
• 范围层是产品的核心功能,即产品能满足用户什么需求。
• 战略层包括产品的定位、商业模式及后续发展等。
10.3.6几个模型之间的关联
10.4如何设计问卷验证用户流失的原因
10.4.1问卷可以做什么
问卷调查可以获取用户的属性数据、行为数据及态度数据,最终可以根据问卷调查数据确定目标用户的特征、偏好,跟踪用户满意度,寻求意见反馈。但通过问卷调查不能直接获取用户流失的深层次原因及具体的解决方案。
10.4.2如何设计间卷
1. 问卷的结构
第一部分是问卷开头,主要包括标题、欢迎语等内容,主要是说明问卷的目的,吸引用户注意;
第二部分是信息过滤模块,这部分主要调查用户对于产品的使用程度及年龄、性别、职业等多方面信息,用于后续的人群分组,以便筛选出最有价值的信息;
第三部分是问卷的主体模块,这部分主要通过一系列的问题调查用户的行为和态度;
第四部分是其他模块,这部分主要以开放性问题为主,旨在收集用户的其他反馈,捕捉方案中遗漏的点,同时展示倾听用户的姿态。
2.问卷的类型
从大类上可以分为开放式问题和封闭式问题。开放式问题根据其开放程度可以分为开放自由式、语句完成式、字眼联想式三种类型。对于开放式问题的分析可以基于词频及逆文档频率TF-IDF(term frequency inverse document frequency)方法识别用户态度是正面的还是负面的。
封闭式问题也可以分为三种类型:选择类、评分类及排序类。
评分类问题一般参考李克特量表(Likert scale)、净值推荐(Net Promoter Score,NPS)等评分类量表的原则设计。
(1)李克特量表。
李克特量表是一种用于衡量客户态度和意见的五分评定量表,用户需要从五个选项,即“非常满意”到“非常不满意”中选择一个来表示他们同意或者满意的程度。在数据分析时可以计算每个选项的占比,或者为每个选项赋予特定的分值,然后计算总体得分。李克特量表虽然能从一定程度衡量用户的态度,但作为一个五分量表,大部分用户倾向于选择中立态度,因而从数据结果层面无法准确衡量用户的态度倾向。
(2)净值推荐(NPS)。
净值推荐是一个11分量表,即0~10分的量表,通过用户打分范围将用户分为三种不同类别。打分在9~10分的用户是推荐者,打分在7~8分的用户是被动者,打分在6分及以下的用户是贬损者。根据用户打分得到用户分组之后,可以计算推荐者所占百分比减去贬损者所占百分比,以此来衡量用户的态度倾向。
(3)排序类。
排序类问题,顾名思义就是对某些选项的重要程度进行排序以衡量用户倾向。有时候为了保证问卷质量,经常会在排序类问题部分设置一些测谎题,以根据用户测谎题的结果判断该问卷是否是有效问卷,从而剔除异常数据,减少脏数据对于问卷结果的影响。
在测谎题中会设定一定的要求,统计分析时只统计按照要求填写的问卷,其他问卷按作废处理。例如,“此题请您选A”,以此来剔除没有认真读题的用户。
3.问卷的设计原则
(1)态度中立,无引导性。
有引导性的问题:当刷到精彩的视频时,你会点赞吗?
态度中立的问题:当刷到精彩的视频时,你会做什么?
(2)通俗易懂,不问太专业的问题。
(3)简洁明确,限定清晰,不要一次提两个问题。
(4)不提假设性问题,不问还没发生的事情。
(5)避免极端化。
(6)其他需要注意的问题
主观题不宜太多、跳转不要太多、问题数量不要太多以及设置相应数量的测谎题都是问卷设计过程中需要注意的问题
选项互斥、界限清晰是最基本的原则
用具体的数据代替用户主观的判断
10.4.3问卷的投放
1. 投放时间
2. 确定样本条件
3. 样本量
样本量是由总体规模、总体差异性、置信度及可接受误差等因素决定的。
样本量计算器
10.4.4数据分析及报告撰写
10.4.5通过问卷获取信息可能存在的问题
10.5 Python 实战:通过生存分析预测用户流失周期
10.5.1生存分析
生存分析是探究事件发生时间的一系列统计学方法的统称,包括描述法、参数法、半参数法和非参数法。生存分析是一种既考虑结果又考虑生存时间的统计学方法,它可充分利用截尾数据所提供的不完全信息描述生存时间的分布,分析影响生存时间的因素
想要做生存分析,数据集需要包括两个变量
其一是所关心的事件是否发生,这是一个二分类变量,在用户流失的例子中就是用户是否流失;
其二是时间周期,在用户流失分析中就是用户注册产品的时间到最近以此观察其是否流失之间的时间差
3. 常用的生存分析模型
1)KM(Kaplan-Meier)分析模型
KM分析模型是一种通过无参数方法观察生存时间,从而估计生存概率的方法,在流失用户分析中可以理解为通过观察用户留存时间估计其留存概率的方法
2)Cox比例风险回归模型
风险概率是指在时间t之前未发生流失的情况下,在时间t发生用户流失的概率。
KM分析模型只能分析分类变量与生存概率之间的关系,连续变量对生存概率造成的影响却无能为力;同时无论是用KM分析模型计算生存概率还是用式(10.3)计算风险概率仅适用于单变量分析。然而,多变量分析在现实工作场景中是普遍存在的,例如,用户的流失可能受到性别、年龄、产品版本变化等多种因素的影响。Cox比例风险回归模型(Cox Proportional Hazards Regression Model)正好可以解决上述两个问题
10.5.2数据基本情况探索
10.5.3探索变量之间的相关性
为了探究变量之间的相关性,数据分析师需要将分类数据处理成0-1变量形式,即one-hot编码形式。此处直接调用sklearn中的LabelEncoder即可实现one-hot编码,代码如下
10.5.4用 KM 模型分析用户留存率
首先,笔者通过KM模型分析用户留存率,这里可以直接通过Python生存分析包lifelines实现,具体实现代码如下
10.5.5 Cox 风险比例模型
1. Cox风险比例模型的建模
首先,我们通过sklearn的train_test_split()函数将数据集按照8∶2的比例分为训练集和测试集;其次,利用lifelines包中的CoxPHFitter()函数实现数据拟合,如下代码是Cox风险比例模型建模的过程。
2. Cox风险比例模型效果评估
1)一致性指数
Cox风险比例模型的评判指标是一致性指数(Concordance Index),该指标是针对模型内部一致性的评估
2)布里尔分数(Brier Score)
布里尔分数是一个衡量Cox风险比例模型校准性的参数,其值越低,校准性越好。Cox风险比例模型的布里尔分数校准通过如下代码实现。
3)校准曲线(Calibration)
校准曲线是使用连续数据离散化的方法判断模型的预测概率是否接近于真实概率。
3. 用Cox风险比例模型预测用户流失
完成了Cox风险比例模型的建模及模型效果评估之后,我们就利用建立好的模型预测那些还未流失的用户在未来是否会流失,何时流失。
第11章用户转化与付费分析
11.1用户转化与付费分析概述
11.1.1从用户转化谈数据分析师的职责
从用户转化角度,数据分析师的职责有:
通过数据辅助运营人员分析用户流失的原因,增加用户池的规模;
通过预估不同转化策略的转化率,辅助运营人员选择最优转化方案,实现最大投入产出比;
通过用户分群辅助运营人员实现分层运营,以提升公司营收等。
11.1.2用户转化与付费常用的分析方法介绍
在转化方案确定时期,运营人员可能提出多个转化方案,想要数据分析师根据历史数据或者小规模试验数据预估各个方案的用户付费转化率。
当用户发生转化之后,运营人员想要提升用户转化率,数据分析师就需要从用户转化路径着手,通过漏斗分析明确每个转化环节漏掉的用户,这些用户为什么漏掉以辅助运营人员设计提升转化率的方案。
充分利用用户标签、RFM模型及营销增益模型等可以帮助运营人员实现用户分层运营,提升整体营收。
通过生存分析、机器学习等预估用户流失周期及用户生命总价值,辅助运营人员进行用户干预,实现对重点用户的精细化运营也是数据分析师在用户转化阶段的重要任务。
11.2贝叶斯公式在用户转化中的应用
11.2.1贝叶斯公式简介
贝叶斯公式是用先验概率推测后验概率
11.2.2用贝叶斯公式预估特定群体的转化率
11.3案例分析:用漏斗模型分析某电商平台换货业务,提升用户转化率
11.3.1什么是漏斗分析
11.3.2漏斗分析的核心步骤
漏斗分析的四要素分别是研究对象、时间、节点及指标
(1)确定研究对象,选定分析维度,即选定数据统计的角度,如电商常用人、货、场、订单等。
(2)确定事件的开始时间和结束时间,即漏斗模型应用于业务的时间段。
(3)拆解用户路径,明确关键节点,即明确用户在该业务中的每一个步骤节点。
(4)指定关键指标,全面刻画业务,指导业务优化,即通过数据指标诠释业务现状和监控业务发展。
11.3.3 以某电商平台逆向上门取件换货业务为例,详解漏斗分析法
1. 业务背景介绍
如图11-5所示,某电商平台物流逆向业务包括三种不同形式的业务,对于消费者来说,包括上门取件退货和上门取件换货业务;对于商家来说则是拦截件业务。消费者端的上门取件退货业务已经发展成熟,而上门取件换货业务刚刚开始,所以需要对改模块的业务进行系统的分析以发现业务问题,优化现有业务,提升换货成功率及上门取件换货渗透率。
上门取件换货业务路径较长,涉及两段物流,其业务路径的核心指标有两个,第一个是换货成功率,即成功完结的订单量与买家寄出量的比值;第二个是上门取件渗透率,也称为上门取件换货渗透率,即换货业务中选择上门取件的寄出量与买家寄出量的比值。
2. 业务指标体系建立
对于某电商平台逆向上门取件换货业务来说,指标体系的建立也是根据业务流程进行数据指标拆解的,提炼核心指标监控业务发展和变化。上门取件换货业务的指标体系包括从发起换货到订单完结各个环节的核心指标,也包括整个业务的核心监控指标,如换货成功率及上门取件换货渗透率。具体的业务指标体系如图11-6所示。
3. 业务现状概括及业务问题探索
对于上门取件换货业务来说,主要存在两个核心问题。
问题1:换货成功率虽然高达94.5%,但仍有提升的空间。
换货业务的成功率高达94.5%,但是在整个转化路径中还是有5.5%的用户漏掉,这部分用户或许经过流程优化、产品调整等可以挽回。
问题2:上门取件换货渗透率与同类业务相比仍有一定差距。
同类业务上门取件退货业务的渗透率高达55.86%,而上门取件换货业务的渗透率仅有45.78%,两者差距高达10.08%。
4. 漏斗分析定位上门取件换货业务问题
首先,笔者以订单维度进行分析,绘制了用户换货路径全漏斗,如图11-8所示。这个漏斗既包括换货路径的主线流程,又包括了商家和买家在换货路径上的支线流程。漏斗的主线流程和支线流程环环相扣,前面的步骤会影响后续的步骤,上一个步骤的结果会影响下一个步骤的表现。通过这个用户换货路径漏斗,我们清晰地看到各个重要节点之间的关系,更容易理清影响换货成功率和上门取件换货渗透率的因素。
其次,笔者将换货成功率和换货上门取件渗透率这两个关键指标拆解到用户路径漏斗中。根据换货成功率的定义,如果“商家拒绝收货”以及“买家拒绝收货”的订单量能转化为“成功完结的订单量”,就能提升换货成功率;而根据上门取件换货渗透率的定义,如果“买家取消”以及“超时未寄出”的订单量能够使用上门取件的方式寄出,那么上门取件换货渗透率就能得到提升。
到此为止,笔者确定了影响两个关键指标的因素。因此,后续分析笔者将着手研究“商家拒绝收货”和“买家拒绝收货”的原因以及“买家取消”和“超时未寄出”的原因,以此来找到提升换货成功率和上门取件换货渗透率的切入点。
5. 基于经验和假设,验证影响两个关键指标的因素
1)探究影响换货成功率的因素
商家拒绝收货的订单量是换货成功率的影响因素,找出商家拒绝收货的具体原因并采取对应的措施可以提升换货成功率。如图11-9所示,商家拒绝收货的主要原因是货物破损、商标不全、换货物品非全新品,也有部分原因是快递单号错误。对于货品原因,我们建议推出验货服务;对于快递单号错误问题,我们建议推出单号校验服务。
家拒绝收货也是影响换货成功率的因素之一,于是笔者分析了拒绝收货的买家复购的比率。如图11-10(a)所示,其复购率高达54.31%,由此笔者推测买家相比于换货更喜欢退货重买。
2)影响上门取件换货渗透率的因素
取消换货和超时未寄出是影响上门取件换货渗透率的主要因素。于是,笔者对买家取消换货的原因进行深入探讨,发现取消换货的用户复购的比率依然高达68.92%。该数据说明买家相比于换货,更喜欢退货重买。此外,如图11-10(b)所示,笔者发现取消换货的订单运费险覆盖率只有26.79%,由此推测运费险覆盖不足也是买家取消换货的原因之一。
6. 根据数据分析结果反馈意见及建议
为了提升换货成功率和上门取件换货渗透率,笔者通过漏斗分析确定了影响这两个关键指标的因素并且分析了具体原因,最终根据具体原因提出改进的意见和建议,如图11-11所示。
商品损坏、商标不全、非新品等商品问题以及物流单号错误造成商家拒绝收货,影响了换货成功率。对此笔者建议推出末端快递员验货服务以及物流平台提供单号校验服务以减少商家拒绝收货的订单量,进而提升换货成功率。
买家相比于换货更喜欢退货重买,具体表现是买家取消换货、拒绝收货后选择复购,对此笔者建议推出一款类似于退货重买的换货服务,即双向物流极速换货服务,买家申请换货的同时商家即刻发货。
买家超时未寄出的主要原因是运费险覆盖率低,对此笔者建议提高运费险覆盖率,同时发放上门取件优惠券给换货用户并通过短信提醒用户及时寄件。
11.4用营销增益模型实现用户分群,辅助运营人员识别营销敏感人群
11.4.1什么是营销增益模型
营销增益模型根据干预手段是否能够触及用户群体,将用户群体分为四个类别:
(1)营销敏感人群(Persuadables):在干预的情况下,会发生付费转化的用户群体。
(2)自然转化(Sure Things):无论是否干预,都会发生付费转化的群体。
(3)无动于衷(Lost Causes):无论是否干预,都不会购买的群体。
(4)反作用(Sleeping Dogs):本来会发生付费转化,但干预之后就不付费转化的用户群体
11.4.2为什么需要营销增益模型
营销增益模型用来估计用户因为营销活动而发生付费转化的概率,这是一个因果推断的问题。营销增益模型通过预测每一个用户对于营销推广活动的敏感程度,制定驱动营销的策略,以达到最大的投入产出比。
11.4.3营销增益模型的建模方法
营销增益模型目前有三种不同的建模方法
差分响应模型(Two-Model)
差分响应模型顾名思义就是训练两个模型,如图11-13(a)所示,圈定同质人群并将其随机分为两组,一组实施营销活动,一组不进行营销干预,分别对两组人群建立模型,两组人群的转化率的差值即营销活动带来的转化提升值,差分响应模型训练数据和模型过程都是独立的。
【常用】升级后的差分响应模型(One-Model)
基于树模型的提升模型(Modeling Uplift Directly)
11.4.4营销增益模型的评价指标
1. 增益值柱状图
在测试数据集上,干预组和对照组的用户分别按照增益值由高到低排序,划分为十等份,分别对干预组和对照组中每等份内的用户的预测概率求平均值,然后将对应等份相减,得到每等份的增益值。
2. Qini曲线
Qini曲线又称为AUUC(Area Under Uplift Curve)曲线,它将对照组和干预组用户分别分成十等份,分别计算对应等份的Qini值。计算公式如式(11.14)所示,即将对照组和干预组中最终预测为1的用户数量分别除以总用户数量,然后相减得到该等份的Qini值。
3. 累积增益曲线
累积增益曲线是Qini曲线的补充和改进
11.5 Python 实战:利用营销增益模型识别营销敏感人群
11.5.1数据初步探索
营销数据集来源于Kaggle,该数据集包括64000名用户在不同营销推广活动中的数据[插图]。营销活动包括两大类,分别是打折活动和“买一送一”活动,在数据集中对应的字段分别是used_discount和used_bogo,数据集记录了两类活动是否触达用户(offer字段)以及用户是否转化(conversion)字段等信息。
首先,通过如下代码,导入分析所需的包,读入相关数据并且查看数据集前五行数据。
在正式建立模型之前,对于数据基本情况的探索是必不可少的。可通过如下代码查看各个字段是否存在空值及其字段类型。
对于分类型变量,数据分析师需要通过如下代码查看有多少种类型及各类型所代表的意义。结果显示,用户购买渠道包括手机、网页及其他渠道,营销方式包括打折、“买一送一”及无营销活动。
11.5.2数据预处理及数据可视化
数据集中营销方式有三类,但其都是文本格式,不利于模型的分类,所以此处需要转换分类标识,以方便输入模型,实现代码如下。
完成分类标识转换之后,我们要对数据相关性进行探索,初步了解影响用户转化的因素,实现代码如下。
数据相关性结果如图11-14所示,无论是“买一送一”还是“打折促销”营销方式,都与用户转化相关性较弱。
下面,笔者对数据继续进行处理以满足营销增益模型的输入要求。因为数据集涉及“买一送一”和“打折促销”两种营销方式,此处需要对两种营销方式分别计算其营销增益值,所以通过如下代码按营销方式将数据集拆分为两类。
营销增益模型是以各个处理间样本平衡为前提的,所以在使用营销增益模型时需要先检查样本平衡性,实现代码如下。
样本平衡性结果(正、负样本分布情况)如图11-15所示,“买一送一”“打折促销”以及对照组的样本数分别为21387、21307、21306。由此可见,在数据集中三种处理的样本分布是平衡的,所以此处不需要进行重采样处理。
11.5.3构建营销增益模型
pylift是营销增益模型的封装包,此处运用pylift实现营销增益模型的构建。实现代码如下,首先通过TransformedOutcome函数将数据输入模型,并且可视化每一个特征的权重。
特征权重可视化结果如图11-16所示,由图可知,is_referral(是否有人推荐)是影响用户是否购买的重要特征之一。
特征权重可视化结果如图11-16所示,由图可知,is_referral(是否有人推荐)是影响用户是否购买的重要特征之一。
营销增益模型的累积增益曲线如图11-17所示,由图可知,“打折促销”策略在一定程度上促进了用户转化,但整体上看,提升效果不是很明显。
基本信息
书名:数据分析之道:用数据思维指导业务实战
作者:李渝方
出版社:电子工业出版社
版本:2022年1月第1版
ISBN:978-7-121-42834-0
定价:106.00元