一直对数据分析很感兴趣,但在学校学习的都比较简单,又碍于自己的懒惰,一直没有深入了解。暑假借着报名参加了一个数据分析的比赛(虽然在初赛就折戟了😂其实一点也不意外)让自己比较有动力继续更深入的学习一些数据处理的方法,当然还有如何用机器学习的方式去实现进一步的预测,以及决策。
也是在图书馆闲逛的时候,意外发现的这本《数据挖掘与数据化运营实战》,相较于其他的一些数据挖掘和机器学习的书籍,这本书更偏向于实战应用。它没有过多的数学推导,比较测重于数据分析整体流程的一个介绍,对于一个初学者来说是一部很好的入门书籍。使初学者更加清楚的知道数据分析的应用情境,数据挖掘有哪些流程步骤,在每个步骤中我们该如何选择最好的方法来达到期望的效果等等。总之对于一个数据和编程小白来说这是一本非常友好的入门书籍,看后会对数据挖掘有一个比较宏观的认识,当然想要了解算法原理之类的一些核心技能这本书就不太够用了,这些就需要更深入的一些书籍去了解了。
我的阅读顺序可能比较奇怪,所以Reading notes也是各个章节穿插着纪录的。
第六章 数据挖掘项目完整应用案例演示
综述
几个希望传递的重点:
- 数据挖掘是有一定的基本流程和顺序的,按照流程进行挖掘是数据挖掘分析严谨性的体现。
- 数据挖掘只是数据运营的一部分,没有落地应用的数据挖掘严格意义上还不能算是“完成”。
- 落地应用中的运营方案对模型的应用效果影响极大,所以数据分析师不仅仅要熟悉数据分析和模型的搭建,还要熟悉与运营相关的业务。
项目背景和业务分析需求的提出
- 背景:某互联网公司“免费用户运营团队”,需要不断将免费用户提升为付费用户,来从电子商务中获取更大的利益。
- 困境:高活跃度的群体付费转化率最高,但是高活跃度用户的流失比较大,有相当比例的高活跃度用户会快速的跌落到中低活跃度中。
数据分析师参与需求讨论
分析师与运营方进行了需求的讨论。
讨论的目的主要是:
- 针对需求收集相关的背景数据和指标,与业务方一起熟悉背景中的相关业务逻辑,并收集业务方对需求的相关建议和看法。这些信息对需求的确认和思路的规划乃至后期的分析都至关重要。
- 从数据的分析的角度评估业务分析是否合理。某些情况下,某些分析就是“伪命题”
制订需求分析框架和分析计画
初步了解了背景,要制订初步的分析计画和分析框架。
分析框架的主要内容:
- 分析需求转化成数据分析项目中目标变量的定义。具体到之前案例,定义“高度活跃免费用户的流失”:[在某个时间点“A点”用户是满足高活跃用户标准要求的(这时是属于高活跃用户群体的),随后过“A点”7天(这个7天也是根据运营的时间节奏来订出的),该高活跃用户跌入至中低活跃用户中,并在过“A点”14天,即两周之后仍然没有回到高活跃的标准。 ]这只是初步的定义,随着后期进行数据抽取,并与业务方讨论后,有跟深入的分析后,上述的定义可以被修改和完善,修改和完善的终极目的是为了数据分析和挖掘工作能最有效的达到预期效果,并提升业务工作效率。
- 分析思路的大致描述。具体到上述方案,通过搭建分类模型来比较准确的锁定有可能流失的用户群体。
- 分析样本的数据抽取规则。数据抽取规则因项目而定,基本上是根据上面的目标变量的定义,选择一个合适的时间窗口,然后抽取一定的样本数据。
- 潜在分析变量(模型输入变量)的大致圈定和罗列。经过前期的分析和讨论,分析师已经确定了大致圈定的相关变量(从业务经验判断和以往分析中得来),上述案例中整理出大约63个原始变量。罗列出这些似乎对目标变量的预测有意义的相关变量。
- 分析过程中的项目风险思考和主要应对策略。具体到上述案例,项目风险思考主要包括模型效果不好的可能性,即有可能分类模型的思路被证明是不好的,也有可能是模型效果不好,或者准确度不高,或者模型不稳定。是否有相应的分析对策来部分弥补,若分类模型的思路被证明是行不通的,可退而求其次进行流失用户的群体特征细分,或者重新定义流失用户等。
- 项目落地应用价值分析和展望。针对上述方案,主要有3个方面:模型投入应用有提前锁定目标群体,使运营方有针对性的开展挽留工作;可以将建模过程中发现的有价值的,最可能影响流失的重要字段和指标选出来提供给运营方,用于制订运营方案和策略的参考和依据;准对影响流失的核心指标和字段,可以提供给相关业务方,开展针对性的策略。
书中的项目所给出的一个参考时间表
分析计画时间表举例:
11.5~11.11 数据的抽样和摸底阶段
11.12~11.18 数据的前期分析阶段
11.19~11.30 建模时间和业务方讨论时间
12.1~12.9 模型验证阶段,验证通过,提交分析结果和运营方案建议
12.10~12.23 运营方案的落地应用实施
12.24~1.8 效果评估和总结,优化方案,落地应用并监控效果
抽取样本数据,熟悉数据,数据清洗和摸底
- 本阶段的主要内容是:根据前期的分析和建模思路,以及初步圈定的分析字段(分析变量)编写代码,从数据库中提取分析建模所需的样本数据;通过对样本数据的熟悉和摸底,找到无效数据,脏数据,错误数据等。并且对样本数据中存在的这些明显的数据质量问题进行清洗,剔除,转换,同时视具体业务场景和项目需求,决定是否产生衍生变量,以及怎样衍生等。
- 针对数据质量的对策:
通过对原始样本数据和原始变量的摸底,排查,发现有些变量缺失值高达50%。经过研究发现这些缺失是数据仓库储存过程中的记录缺失,或是由于产品优化后的业务逻辑更改所造成的。这些无法滚回的数据,可以选择直接删除。- 通过输入变量之间的相关性分析,找出潜在共线性问题的相关输入变量,对于高度线性相关的变量只保留一个。
- 在数据库的数据回滚过程中造成了某些字节的严重不符合逻辑或明显自相矛盾,比如用户最近30天登陆网站次数为0。针对如此不符合逻辑的数据,直接重新回滚数据,直到数据正确为止。
经过处理,即删除严重缺失数据,素居仓库重新回滚自相矛盾的数据,对高度相关性的数据部分有取有舍,在本阶段共保留了36个表有意义的字段(变量)合相关数据。 (最开始是63个)
(第8章会比较详细的讲到数据清洗)
按计画初步搭建挖掘模型
对数据进行初步的摸底和清洗之后,就进入初步搭建挖掘模型阶段了。在该阶段,包括3个主要的工作内容:
进一步筛选模型的输入变量。最终静如模型的输入变量应遵循“少而精”的总原则。该原则一方面能提高模型的稳定性,利益方面也是为了有效提升模型的预测精准度。关于如何删选模型的输入变量(8.6节,9.3.3节,第十章中会有比较详细的分析。)
尝试不同的挖掘算法和分析方法,并比较不同方案的效果,效率和稳定性。关于模型的比较和优化。 7.4节有比较详细的总结。 (这里使用了Neural network;Reg;Tree这三种,还需要有一条Baseline)
整理经过模型挑选出来的与目标变量的预测最相关的一系列核心输入变量,将其作为与业务方讨论落地应用时的参考和建议。
与业务方讨论模型的初步结论,提出新的思路和模型优化方案
在本阶段,需要整理模型的初步报告,结论,以及对主要预测字段(特征)进行提炼,还要通过与业务方沟通和分享,在此基础上讨论出模型的可能优化方向,并对落地应用的方案进行讨论,同时罗列出注意事项。
具体针对这个项目而言,除了模型比较之外,还对核心自变量进行了整理提炼,并进行了权重排序。
“预测模型的搭建和完善也跟网站分析一样,遵循着‘持续优化,永无止境’”的规律。
按优化方案重新抽取样本并建模,提炼结论并验证模型
在上述优化方案和新增衍生变量的基础上,重新抽取样本,一方面验证之前的重要猜想;另一方面尝试搭建新的模型提升预测效果。增加新的衍生变量后重复之前的测试,看哪一个模型效果好。这里有提到“初步可以认为,目前的神经网络模型相比于其他模型而言有更好的预测效果,可以更多的有效锁定有流失风险的用户”
模型建好后还需要用新的数据来验证模型的稳定性。
完成分析报告和落地应用的建议
在上述模型优化和验证的基础上,提交给业务方一份详细完整的项目结论和应用建议,包括的内容应该有:
模型的预测效果和效率,以及在最新的实际数据中验证模型的结果,即模型稳定性。
通过模型整理出来的可以作为营运参考的重要自变量及相应特征,规律。
数据分析师根据模型效果和效率数据提出的落地应用的分层建议,以及相应的运营建议,其包括:预测模型打分应用基础上进一步的客户特征分层,相应细分群体运营通道的选择等。
制定具体的落地应用方案和评估方案
方案落地应用,并跟踪评估
落地应用方案在实际效果评估后,不断修正完善
不同运营方案的评估,总结和反馈
醒目应用后的总结和反思
“完美的分析结论和模型搭建只是数据化运营万里长城的第一步”,想要模型正真推动业务的效率和效益,模型落地应用的环节更加关键,更加重要,更加复杂。