好的数据分析标准:
1、非单一的数据分析报告(jupyter notebook + python数据处理代码 + 数据可视化 + 分析结论 = 数据分析报告)
2、不仅有能体现业务价值也有技术价值
3、整个项目能实现自动化甚至是智能化
项目背景:运营商旗下某业务发展已经进入成熟期,某省份市场趋于饱和,新增用户有限,因此存量用户的保有尤为重要,目前业务月均退订用户数达30000+个,流失情况严重,已较大程度影响业务发展与收入。
项目目的:1、弄清楚流失用户在各时间段长什么样(用户画像)。2、通过构建流失用户画像,找出可识别流失用户的重要特征,为减少运营商旗下某业务的用户保有工作成本提供依据。
BI工具的功能点:
1、这个BI工具是网页形式的,并且能适配PC端+移动端(手机与平板),也能用电视大屏做一屏展示。只要有权限的人都能很方便的登录查看。
2、这个BI工具是有强大的数据可视化能力的,有权限的人都能够去配图。
3、要有用户权限系统,有些数据只能Boss看,有些数据只能给某团队编辑,这些都需要适配。
4、要有Dashboard管理系统,以免建立太多而混乱。
5、要能接入各种数据源,常规的mysql,及目前比较火的clickhouse最好都要能接入。
6、要有告警功能,当核心指标异常时,它能自动的用钉钉或企业微信或邮件进行指标告警。
7、要有版本控制功能,当有同学不小心错误保存了,能够回滚版本。
流失用户画像仪表盘功能:
1、搭建流失用户画像仪表盘总览,我需要一目了然的看到某段时间的流失用户”长怎样!“
2、除了总览,我想根据各属性特征各自建立仪表盘,进行多维度下钻分析与配图,更细致的了解数据全貌。
3、所有的时间趋势图我需要配上“环比”功能,清晰目前变化情况。
4、各下钻分析仪表盘都需要有分析结论。
5、要有明细数据下载功能。
其他周边功能:
主要是ETL
开源免费极易安装的BI工具- Grafana。
画一个架构图或流程图(两者都画也行)。那我们本项目架构图如下:
数据层:我们本次核心用mysql存储,但有一些是别的系统下载的csv,所以这层我们都做转换。
数据预处理层:我们需要对数据缺失值、异常值、无效值进行数据清洗;来自数据库里的多个数据表进行合并;基于业务理解构建用户画像新特征;对时间戳及地理位置数据进行转换;最终我们将以上操作基于python做成自动化的脚本,利用计划任务管理器(或linux crontab)每天定时进行数据调度。
数据分析与展示层:采用“总分”仪表盘设计形式,并依据业务形态细分为教育、身份、通信、消费等四大特征。稍后会直接展示。
应用层:客户可以用各终端观看Grafana BI系统,而异常指标告警我们可以通过企业微信/钉钉/邮件进行接收。
项目背景:我们数据分析师都会遇到这个问题,核心Kpi指标异常了我们怎么分析?传统的分析手段是人工不断的下钻分析,如下图所示。
当某时间段流失率出现异常时,我们基于业务理解筛选出最可能的维度省份、运营商、平台,基于这三个维度继续进行下钻分析。从省份看各省份流失率均上升,所以该维度不会是异常根因。从运营商角度能明显发现“电信"的突增,平台能明显的发现ios的突增。我们进一步分析这两个维度的组合,最终能确定为”运营商=电信&平台=ios“为根因。
项目价值:本项目对数据分析思维、智能算法、Python工程能力三者进行科学结合。构建智能数据监控日报系统,及时掌握核心指标最新情况,并当核心指标出现异常时,算法智能分析出其原因。与传统手工日报、人工下钻分析相比,大大提高了工作效率。并为业务不断迭代优化提供智能化的支撑。
构建项目流程图:
1、利用任务计划调度器每日定时调度python脚本
2、利用pymysql库与mysql交互,并做常规数据清洗
3、利用时间序列异常检测算法判断核当天核心指标是否异常
4、若没有存在异常,我们对核心维度进行下钻分析,并用pyecharts库进行数据可视化
5、利用html+css制作邮件主要内容,并用stmp&email库进行封装,最终输出核心KPI监控日报
6、但若存在异常,则我们接入根因定位算法,自动&智能的分析异常根因
7、在输出核心KPI监控日报同时,也输出智能根因定位日报
本项目的最大亮点是时序异常检测与根因定位算法。
时序异常检测算法方面,和时序预测其实有一定相似,比如arima、prophet、lstm都是可选择的算法。
根因定位算法方面,目前比较知名的hotspot、squeeeze、adtributor、idice等都可选择。