jjzjj

七步走!做出高质量的数据分析项目

接地气的陈老师 2023-03-28 原文
每到年底,都有同学感慨:“忙了一年,感觉都是常规数据报表,连个拿得出手的项目都没有!”那到底高质量的数据分析项目该咋做?

1.怎样算高质量

想回答这个问题,得先明确:啥叫“高质量”项目。从本质上看,数据分析是个支撑型岗位,工作质量高不高,主要由被服务的部门决定。如果是在企业里工作的话,主要看管理层/业务部门的评价意见。如果在面试时,则主要由面试HR/用人领导评价。摸清对方的需求,击中对方的痛点才是关键。、

经常有同学在这里犯迷糊,觉得:用了线性回归模型的(复杂的模型不会)/图表blingbling闪光的/查一个数sql 写了2000行的,才算是“高质量”,忽视了这些玩意对业务到底有没有用,结果自然是闹笑话了。前几天还有个同学急匆匆来问,说他们建了流失用户预测模型,结果运营表示:“你们搞着干啥?预测了我也不知道咋用!”然后项目就黄掉了……这就是典型的闭门造车结果。

那要怎么弄,才能中业务痛点呢?

2.找准核心需求

数据分析对业务,是个“随风潜入夜,润物细无声”的事,往往有数据看得时候大家不觉得很厉害,但是没数据看了,就有人会着急。所以想找到业务的痛点,最好不要强行推销:“我有一个人工智能阿尔法大狗子模型,百测百准,客官您要不要试试!”而是先看,对方部门最关注什么问题,最缺什么数据。

常见的缺数据的情况有四种:

  • 基础数据都没有,迫切想看到数
  • 有数据但不知道怎么解读,干着急
  • 有数据,有解读,想进一步验证想法
  • 有数据,有解读,想进一步做预测
接业务方需求的时候,一定要清晰真实需求。比如“用户画像”,可能上项目时就是嘴上一说,到底是业务不清楚用户现状,还是想基于画像做啥动作,一定要了解清楚。项目开始时不清晰,中间过程也要逐步清晰,不然夯吃夯吃打了一堆标签再被人质疑“你这有啥用!”那就是哑巴吃黄连了……

3.报表型项目的要点

报表型项目数量最多,但最容易被数据分析师们忽视,很多新人总嫌弃它技术上不复杂。但实际上,报表型项目是最容易出成绩的,关键在于:做领导们关心的,领导们看得见的。接需求的时候,区分报表使用人,优先把领导们需求做可视化,让领导们直观感受到数据。

并且,通过报表型项目,可以有效鉴别业务方合作态度。如果业务方态度好,那么可以深入合作。既然已经有了业务监控报表,那么下一步就可以做业务走势异常分析。先记录非业务主动行为产生的异常点,之后再深入分析:

  • 多大幅度变化算异常
  • 是什么因素导致的异常
  • 如何通过数据提前发现异常
有了这些积累,就可以进一步做自动化异常提醒+问题诊断,让单纯的数据展示更上一层楼,同时能为后续深入分析打好基础。

4.分析型项目的要点

在很多人原始印象里,数据分析就应该是拿到一堆数字,然后般若妈咪哄一通分析,告诉业务三句话,让业务多赚18万!因此往往人们对分析型项目期望甚高。但实际上分析型项目特别容易踩雷。对业务不够了解,缺少监控数据,缺少异常分析的经验,都会让问题分析流于表面。做项目时“雷声大、雨点小”是常态。

因此,分析型项目在报表型项目基础上孵化出来,成功率比较高。如果发现业务方对问题本身监控不足、认识不清,可以退回到报表型项目做起。有了一定积累后,想见效,最好的办法是先共识业务假设,搞清楚业务方到底对啥没信心,对啥有信心。证伪比证真容易,直接验假设更容易出结果。

如果问题涉及太多难以量化的疑难杂症,还有个解决思路,就是把问题转化成测试型项目。直接看业务方手头有什么解决问题的办法,然后测试那种办法管用。这样也能输出解决问题的方案。

5.测试型项目的要点

测试型项目相对容易成功,本质上看,测试也属于“业务没数据,特别想看个数据”的情况。只不过要注意的是,到底要测啥,得事先想清楚了。在测试中最重要的就是:对影响结果的因素有前期了解,测试想测的关键因素,控制其他干扰项。

因此,一般页面设计测试容易成功,对消费结果测试容易乱套。因为页面设计测试点少,容易出准确、稳定的结果。但影响消费结果的因素太多了在做测试之前没想清楚,很容易因为测试方案之间可比性不高,参与测试群体差异大,关键干扰因素没排除等原因导致结果失灵。

所以,在做测试前,基础分析工作是很必要的,梳理清楚到底哪些因素会有影响,几套测试方案之间差异点到底有多大,能有效提升项目质量。

6.预测型项目的要点

预测型项目的关键在于:确认真实的预测需求,避免盲目赌命式的“我要100%精确”。不但做不到,而且没意义。比如开篇讲的流失用户预测,如果运营是全量投放资源召回流失用户,那把目标改成预测:“哪些人自然会回流”这样就能节省经费。如果运营想获取最大效果,可以把目标改成:“用户预计响应哪种方式的召回”这样可以做多轮推送最大化唤醒用户。总之,先搞清楚运营的计划再下手,比自己闭门造模型管用的多。

7.仪式感很重要

数据分析项目特别需要仪式感!因为数据分析成果很少能成为白花花的银子,等年底做总结的时候可能大家都忘得差不多了。因此一定要做足仪式。比如项目启动时和合作方一起开个会,开到中午大家一起大圆桌搓一顿。项目结束汇报时专门约上大老板,汇报完合影留念。项目成果尽量上BI,专门做个《数据资产大屏》摆在老板办公室里,每周滚动一下,又新累积了多少多少数据,助力业务产生多少多少效益。《双十一作战大屏》当然要摆上,而且记得拍照,记录下同事们在大屏前欢呼的盛况……

具体方法还有很多,大家可以根据自己企业的风格酌情采用,不过核心思路只有一个,就是多团结同事,多搞会议,多上系统,不要默默交个ppt,交个excel,交个csv了事。里子都辛苦做出来了,面子一定要做足!

写到这,肯定有同学想问:“那么面试的时候怎么体现项目质量高呢?”面试时候思路和实际工作不太一样,因为面试时存在认知差,有可能实际工作业务方很喜欢的东西,对方企业觉得:“这个很一般呀,不过如此吗!”

有关七步走!做出高质量的数据分析项目的更多相关文章

  1. ruby - 解析 RDFa、微数据等的最佳方式是什么,使用统一的模式/词汇(例如 schema.org)存储和显示信息 - 2

    我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i

  2. ruby - Ruby 有 `Pair` 数据类型吗? - 2

    有时我需要处理键/值数据。我不喜欢使用数组,因为它们在大小上没有限制(很容易不小心添加超过2个项目,而且您最终需要稍后验证大小)。此外,0和1的索引变成了魔数(MagicNumber),并且在传达含义方面做得很差(“当我说0时,我的意思是head...”)。散列也不合适,因为可能会不小心添加额外的条目。我写了下面的类来解决这个问题:classPairattr_accessor:head,:taildefinitialize(h,t)@head,@tail=h,tendend它工作得很好并且解决了问题,但我很想知道:Ruby标准库是否已经带有这样一个类? 最佳

  3. ruby - 我如何添加二进制数据来遏制 POST - 2

    我正在尝试使用Curbgem执行以下POST以解析云curl-XPOST\-H"X-Parse-Application-Id:PARSE_APP_ID"\-H"X-Parse-REST-API-Key:PARSE_API_KEY"\-H"Content-Type:image/jpeg"\--data-binary'@myPicture.jpg'\https://api.parse.com/1/files/pic.jpg用这个:curl=Curl::Easy.new("https://api.parse.com/1/files/lion.jpg")curl.multipart_form_

  4. 世界前沿3D开发引擎HOOPS全面讲解——集3D数据读取、3D图形渲染、3D数据发布于一体的全新3D应用开发工具 - 2

    无论您是想搭建桌面端、WEB端或者移动端APP应用,HOOPSPlatform组件都可以为您提供弹性的3D集成架构,同时,由工业领域3D技术专家组成的HOOPS技术团队也能为您提供技术支持服务。如果您的客户期望有一种在多个平台(桌面/WEB/APP,而且某些客户端是“瘦”客户端)快速、方便地将数据接入到3D应用系统的解决方案,并且当访问数据时,在各个平台上的性能和用户体验保持一致,HOOPSPlatform将帮助您完成。利用HOOPSPlatform,您可以开发在任何环境下的3D基础应用架构。HOOPSPlatform可以帮您打造3D创新型产品,HOOPSSDK包含的技术有:快速且准确的CAD

  5. FOHEART H1数据手套驱动Optitrack光学动捕双手运动(Unity3D) - 2

    本教程将在Unity3D中混合Optitrack与数据手套的数据流,在人体运动的基础上,添加双手手指部分的运动。双手手背的角度仍由Optitrack提供,数据手套提供双手手指的角度。 01  客户端软件分别安装MotiveBody与MotionVenus并校准人体与数据手套。MotiveBodyMotionVenus数据手套使用、校准流程参照:https://gitee.com/foheart_1/foheart-h1-data-summary.git02  数据转发打开MotiveBody软件的Streaming,开始向Unity3D广播数据;MotionVenus中设置->选项选择Unit

  6. 使用canal同步MySQL数据到ES - 2

    文章目录一、概述简介原理模块二、配置Mysql使用版本环境要求1.操作系统2.mysql要求三、配置canal-server离线下载在线下载上传解压修改配置单机配置集群配置分库分表配置1.修改全局配置2.实例配置垂直分库水平分库3.修改group-instance.xml4.启动监听四、配置canal-adapter1修改启动配置2配置映射文件3启动ES数据同步查询所有订阅同步数据同步开关启动4.验证五、配置canal-admin一、概述简介canal是Alibaba旗下的一款开源项目,Java开发。基于数据库增量日志解析,提供增量数据订阅&消费。Git地址:https://github.co

  7. ruby-on-rails - 创建 ruby​​ 数据库时惰性符号绑定(bind)失败 - 2

    我正在尝试在Rails上安装ruby​​,到目前为止一切都已安装,但是当我尝试使用rakedb:create创建数据库时,我收到一个奇怪的错误:dyld:lazysymbolbindingfailed:Symbolnotfound:_mysql_get_client_infoReferencedfrom:/Library/Ruby/Gems/1.8/gems/mysql2-0.3.11/lib/mysql2/mysql2.bundleExpectedin:flatnamespacedyld:Symbolnotfound:_mysql_get_client_infoReferencedf

  8. STM32读取串口传感器数据(颗粒物传感器,主动上传) - 2

    文章目录1.开发板选择*用到的资源2.串口通信(个人理解)3.代码分析(注释比较详细)1.主函数2.串口1配置3.串口2配置以及中断函数4.注意问题5.源码链接1.开发板选择我用的是STM32F103RCT6的板子,不过代码大概在F103系列的板子上都可以运行,我试过在野火103的霸道板上也可以,主要看一下串口对应的引脚一不一样就行了,不一样的就更改一下。*用到的资源keil5软件这里用到了两个串口资源,采集数据一个,串口通信一个,板子对应引脚如下:串口1,TX:PA9,RX:PA10串口2,TX:PA2,RX:PA32.串口通信(个人理解)我就从串口采集传感器数据这个过程说一下我自己的理解,

  9. SPI接收数据异常问题总结 - 2

    SPI接收数据左移一位问题目录SPI接收数据左移一位问题一、问题描述二、问题分析三、探究原理四、经验总结最近在工作在学习调试SPI的过程中遇到一个问题——接收数据整体向左移了一位(1bit)。SPI数据收发是数据交换,因此接收数据时从第二个字节开始才是有效数据,也就是数据整体向右移一个字节(1byte)。请教前辈之后也没有得到解决,通过在网上查阅前人经验终于解决问题,所以写一个避坑经验总结。实际背景:MCU与一款芯片使用spi通信,MCU作为主机,芯片作为从机。这款芯片采用的是它规定的六线SPI,多了两根线:RDY和INT,这样从机就可以主动请求主机给主机发送数据了。一、问题描述根据从机芯片手

  10. 微信小程序通过字典表匹配对应数据 - 2

    前言一般来说,前端根据后台返回code码展示对应内容只需要在前台判断code值展示对应的内容即可,但要是匹配的code码比较多或者多个页面用到时,为了便于后期维护,后台就会使用字典表让前端匹配,下面我将在微信小程序中通过wxs的方法实现这个操作。为什么要使用wxs?{{method(a,b)}}可以看到,上述代码是一个调用方法传值的操作,在vue中很常见,多用于数据之间的转换,但由于微信小程序诸多限制的原因,你并不能优雅的这样操作,可能有人会说,为什么不用if判断实现呢?但是if判断的局限性在于如果存在数据量过大时,大量重复性操作和if判断会让你的代码显得异常冗余。wxswxs相当于是一个独立

随机推荐