浅谈OTA行业中的数据分析方法(实例)[1.1]
【前言】一直尝试着用文字的方式记录我在数据分析这个岗位中的成长,从最开始写sql,用excel处理一些常用的统计数据,到现在能用python熟练的处理千万的数据量,毕业一年来,得到很多同事的帮助,也学习了很多,成长了不少,但是数据分析设计的知识太广了,统计学,计算机,经济学,用户心理学........,希望自己能在这个岗位中走得更远,更精;
18年刚毕业时,在一个游戏公司里(开发手游的)入职,算得上我进入社会的第一份工作,一家特别有活力的公司,也从那时正式的和数据打交道了,互联网行业中,人员流动非常快,而我,也在工作一年后,去了另一家公司,一家OTA公司,负责线上汽车票的数据分析挖掘,虽然行业换了,但是在这边工作一年来,对我而言,发现和之前的工作并没有太大的区别,还是成天的面对数据,大致就是这样的:(涉及到行业中数据的保密,部分数据和字段定义会打码)
![](https://img.haomeiwen.com/i10544670/f37335d3911bd471.png)
进入OTA领域以来,发现关于OTA行业中数据分析实例的分析报告很少,都是关于一些大环境的报告,或者一些数据分析理论相关的,对于完整的线上数据分析报告很少,对于一个在一线工作的数据分析人员,希望能在这里和大家一起学习,一起进步;
【正文】说了这么多,终于到正文了,今天就为大家分享一份”弹窗“ 的数据分析报告;
什么是弹窗?就是指在打开网页、软件、手机APP等的时候自动弹出的窗口,日常使用软件时,经常会出现,在我们的软件里,也不例外,而且成为了一个非常重要的营销手段,而对于这个突然弹出的窗口,哪些用户比较反感?哪些用户容易接受?在这个大数据时代,如何做到精准营销,就是我们数据分析师的主要工作了;
所需工具&基础知识:sql,excel,(python or r语言),统计学知识;
【获取数据】首先,用xmind将可能影响到用户点击or购买这个弹窗产品的所有标签梳理出来,比如:新老用户,浏览时间(小时,星期),下单时间,出发时间(车票的相关数据),出发省份,票价,票量,历史成功单量....................,将购买了弹窗产品的订单用1标识,未购买的用0标识,作为目标特征值,差不多梳理了20多个标签,理出后就开始写sql脚本获取数据了,考虑到数据时效性,获取近近两个月的数据,差不多100万的数据量。
【处理数据】数据处理是通过python实现的,通过sql获取数据后,可以下载到excel中,再用pandas读取里面的数据,也可以用python直接连接公司的数据库,因为我们公司有一个在线的jupter平台,我就直接在上面写代码获取数据的;
![](https://img.haomeiwen.com/i10544670/18c0d7e7e57f8c7c.png)
这是通用的连接数据库的代码,可以直接在python编译器中写sql脚本;
![](https://img.haomeiwen.com/i10544670/de25247757df8c00.png)
数据获取后,就是处理数据了,因为在后续建模分析时,用的决策树和xgboost方法,不需要繁琐的特征处理,主要就是处理异常数据和将中文字符的数据处理成计算能识别的数字,下面是用到的部分数据处理方法:
![](https://img.haomeiwen.com/i10544670/a4fb1909115b1475.png)
处理完数据后,就是查看数据分布情况,如果没有异常情况,就可以进入下一步的数据分析;
![](https://img.haomeiwen.com/i10544670/2fc8812dd7fc5186.png)
因为最开始是基于业务方理解,盲选的的特征值,在实际的数据分析中,不可能对所有的特征进行详细的数据处理,这时就需要依靠自及对数据&业务的敏感度,去针对性选择特征,当然可以借助算法,去查看各个特征对结果的影响程度;
![](https://img.haomeiwen.com/i10544670/cb100f571f7b78ce.png)
由于不是算法专项,在数据特征处理上并没有花太大的工作量,直接依靠train_test_split库对原始数据进行训练集和测试集的划分
![](https://img.haomeiwen.com/i10544670/0d3931604a3b10dc.png)
通过以上代码找到对结果影响较大的特征,在后续的分析着重分析头部特征对结果的影响情况
![](https://img.haomeiwen.com/i10544670/4aae84bae015b127.png)
当然,这个只是通过算法得出一个特征值情况,如果足够了解业务,你会发现重要性较低的特征可能在实际的业务中对结果的影响也挺大的,只是覆盖的量太小了,导致在算法结果中没有呈现出来,这时还是得靠你对业务得认识去发现这些隐藏得特征了;
特征找到后就是逐个统计各特征数据分布下对结果得影响程度了(未完待续);