大数据分析特点?
500
2024-04-23
上海家政需求大。
上海是中国的经济中心和人口大城市,家政服务需求量大,因此在上海做家政是比较好找活的。许多家庭需要保洁、照顾老人、照顾孩子等家政服务,而且随着人们生活水平的提高,对家政服务的要求也越来越高,需要更专业、更高质量的服务。
因此,如果你有相关的技能和经验,或者愿意接受培训,那么在上海做家政是有很好的就业机会的。同时,随着互联网的发展,许多家政服务平台也在上海兴起,为家政服务提供更多的机会和渠道。
日本是世界上消费板栗的主要国家之一,横滨和东京圈每年的需求量很大。货源除国内生产外,还需大量从国外进口。近年来,日本种植板栗的主产地,产量连年下降,一直处于萎缩状态。因此,从国外进口的板栗在不断增加。为了满足市场对板栗的需求,日商希望能从中国多进口板栗。1993年,江苏宜兴、溧阳、赣榆等板栗产地,对日出口板栗500多吨,仍然供不应求。
一线城市:北京,上海,广州,深圳。大公司多,广告设计需求量大。此外,新一线城市如成都,杭州等城市广告设计需求量也较大。
数据需求分析
1
、写出系统的任务和特点
2
、要实现的功能模块和作用
3、
系统结构图
4
、采用的数据库
5
、开发运行环境
"需求分析",是指对要解决的问题进行详细的分析,弄清楚问题的要求,包括需要输入什么数据,要得到什么结果,最后应输出什么。在软件工程当中的"需求分析"就是确定要计算机"做什么",要达到什么样的效果。
有三个最基本的特性:可用性、完整性和机密性。
可用性是指数据随时能够获取、随时可用,不会由于硬件故障等问题,导致数据无法读取。
完整性是指数据在整个交易过程中没有遭受恶意篡改和非授权的访问,保障数据是最原本的样子。
机密性指的是数据全程加密,不会遭受窃听,也不会被未授权的人访问到,数据是安全的。我们通常讲的信息安全保护,保护的就是数据的这三个最基本的特性。
数据需求分析就写当时的一个数据分析的一些情况,然后表明了一种怎样的观点?
数据分析数据治理入门分享-转载渭河数分星球嘉宾SpaceLion的文章(四年互联网大厂数据科学经验),未经许可不能转载
看到这个标题可能有的同学会有疑惑,为什么我作为数据分析师还需要去管数据治理的活,这个不是会有专门的同学去做吗?
确实,在很多大厂,数据开发和数据分析职能都是分开的,数分的同学一开始拿到的表就是已经清洗过的宽表,BI看板搭建就是写几条sql配置一下,日志埋点的工作都会交给产品来完成。但是很多中小公司是不具备这种条件的,尤其是很多初期的创业公司,在产品架构尚未完善,团队分工不够明确的情况下,很多时候日志埋点,数据清洗的工作都会落到数据分析同学的身上。
在择业的时候,遇到这种分工尚未明确的项目,可能有一部分同学就直接放弃了,有的同学可能会说:我想专精数据分析,不想在数据治理上花时间,我找一个分工明确的团队就行了,如果职能分工不明确,说明这个项目的老板不懂数据等等诸如此类的。当然这也是没问题的,人的精力是有限的,追求知识的深度那必定会导致广度的不足。
不过从我个人的角度来看的话,这样可能就会使我个人的择业范围受限,只能选择一些数据建设相对较好的团队。另一方面,如果能够懂得一些数据治理的方法,那么在一些场景下也能够给数据分析工作带来一些便利性,包括能够让数据分析人员更好地定义口径,在复杂的统计任务中通过埋点和数仓来解决问题等。例如,一个刚刚搭建起来没多久的电商APP,想要分析用户点击下单之前上一个页面来自于哪里,假设我只在应用层面解决,那我可能需要把用户的点击事件按照时间排序,再进行清洗计算,费时费力。但是这个时候如果我通过埋点解决这个问题,让程序在用户的点击事件日志上加入一个refer字段,记录了上一个页面的url,这样无论是统计分析,还是搭建后续的BI能力,都能够快速解决
因此本篇随笔的目的就是分享一些本人在数据治理方面的入门经验,希望能给到一些完全没接触过数据治理的同学一些帮助。
国际数据管理协会DAMA对数据管理的主题分类可以分为以下几种类型:数据治理、数据架构、数据建模和设计、数据存储和操作、数据安全、数据集成和互操作、文件和内容管理、参考数据和主数据、数据仓库和商务智能、元数据、数据质量。而对于这些工作的从层次划分,网上有各种不同的概念,毕竟不同的公司架构不太一样,我们在这里引用《大数据之路:阿里巴巴大数据实践》书中的数据体系。整个架构分为四个层次:数据采集层,数据计算层,数据服务层,数据应用层。
1、数据采集层:包括日志收集,数据库,数据同步;
2、数据计算层:包括离线数据计算,数据仓库,实时数据
3、数据服务层:基本上就到了我们比较熟悉的环节,包括数分同学平时能拿到进行分析的mysql数据源,hive数据源,数仓的cube等等,数分同学的大部分工作,可能就是拿着这些数据源去做数据应用层的东西,不管是统计分析还是数据建模。
4、数据应用层:这里就是到了一些应用层的数据,对线上产品的,对内部系统的等等
在整条链路中,一些纯技术向的,涉及线上开发的内容是不用数分的同学参与的,一般数分的同学可能参与的环节主要在日志埋点和数仓设计两部分,参与的深度视实际需求会有灵活的变化。
在日志收集环节,数据分析师可能会参与到日志埋点工作当中,有些尚没有实际工作经验的同学可能不太清楚,线上产出的原始数据都是json或者双逗号分割等不同类型的的字符串,其中定义了每一个字段的key-value,需要经过清洗才能够变成我们常用的数据表格式。那么一般数据分析师要做的就是配合产品运营,定义清楚每一条日志的上报机制,以及对应的key-value含义。
有的同学会讲这个东西不是应该产品自己来搞吗?没错一个基础能力强的产品确实是能够承担埋点的工作,并且产品功能是他设计的,他比谁都更清楚功能上线之后他想要知道哪些信息,对应所需要埋哪些点。但是有的时候一些产品虽然懂得功能设计和交互,但是却不太懂数据,他们想要的可能是一个抽象的概念,比如功能上线之后他想知道用户的活跃,用户的漏斗转化,此时如果没有专门的数分同学参与,那么产品估计就会去找开发,开发可能更了解底层架构,但是不了解业务,如果没有定义清楚日志上报机制和含义,那么可能就会出现这样一种情况:
产品上了一个促销活动的页面希望知道用户的PV,以及页面带来的GMV,开发随便埋了一个服务端日志,只要用户发送了访问页面请求就记录一条,结果数分同学统计出来发现PV量巨大,但是GMV少的可怜,于是产品疯狂优化交互,但是GMV依旧没有什么提升。最后经过多方排查发现,原因是由于前端页面加载问题导致很多用户虽然请求了链接,但是页面素材却加载不出来,而PV统计的是服务端日志,也许后面的转化其实还可以,但数据口径的差异导致了整个问题的误判。
以上这个例子是我编的,但是参考了一些工作当中踩过的坑点,我们可以发现在产品或者技术自身能力不够强的时候,把埋点全权交给他们就容易出现数据统计口径不明确的问题。而反过来看,数据埋点也是要为业务服务的,最好是通过需求和数据指标反推需要什么埋点,这就决定了数据分析的同学在这个环节当中有着很大的参与空间,其意义在于:
1、明确埋点机制对应的数据指标口径,避免业务分析的偏差。
2、帮助数分同学了解底层架构,拓展业务分析当中的思路。
3、数分同学可以自主增加便于分析的日志埋点,提升效率。
埋点的方法根据每个公司使用的数据服务不同也有很大差异,我个人将埋点方法分为两类:全埋点,代码埋点。代码埋点又分为前端和服务端埋点。
全埋点就是部署了一些sdk,能够把APP的所有行为全部记录下来,然后由分析人员自定义关键事件,直接圈选分析。使用这种方法一般是接入了一些外部的数据服务供应商的系统,比如神策之类的,优点是你想怎么定义都行,无需重新开发,缺点就是这么多数据占用空间大不能存太久,也只适合一些轻量级的项目分析,我自己是没用过这种方法。
代码埋点顾名思义就是需要让开发把一些关键事件信息的返回写到代码里面去,需要预先定义好在什么场景下,返回一些什么字段,这个就是我们最常用的一种方式。
前端埋点主要是在APP客户端,或者网页页面当中,触发了一些关键素材时返回日志,比如页面加载,素材图片的加载,按钮的点击之类的。这类埋点上报会受到页面改版,网络等问题的影响,会有一些误差;服务端埋点指的是成功请求了一个服务器接口时返回日志,这种日志通常是最准确的,比如下单,播放视频等,请求成功了就是成功了,不受前端改版等问题的影响。
设计埋点的时候我一般遵循这几个步骤:
第一步肯定是要跟产品运营对齐,看一遍产品文档,新功能页面做了什么改动,新增改动了什么功能,是否需要添加前端或服务端埋点;然后再明确这个功能上线之后要看哪些核心的数据,分别需要在前端和服务端埋一些什么内容,确保功能上线能够统计到对应的数据。输出好需要哪些字段之后,需要跟开发对齐,在什么情况下上报,字段都能不能上报,可能有些字段是记录不了的要怎么处理,这些明确了之后才能进入开发。
对于日志字段的设计,个人的经验是可以按照几个大类进行梳理:
维度 | 信息 | 备注 |
日志基础信息 | 日志唯一标识,日志id,事件id,事件类型等 | 用作日志的分区字段 |
页面信息 | 名称,title,模块,链接等 | 一般前端需要的较多 |
用户基础信息 | 用户id,设备信息(设备号,型号),操作系统(语言,版本),网络信息(ip等),应用信息(版本,包体信息)等等 | 有些敏感信息不一定能获取到,用户明文账号等信息注意加密 |
时间信息 | 日志上报时间,上传时间,更新时间,创建时间 | 如果是一次性的事件则记录上报时间即可,但是如果记录对象是可累积更新状态的,例如订单等,则需要记录不同状态的时间 |
业务关键信息 | 比如如果关注用户增长,就可以记录点击来源,渠道等信息,如果关注用户的停留消费,那可以记录时长,下单金额;如果是有用户跟另一个对象交互的日志,比如用户-物品,用户-视频,那就需要记录商品id,视频id等等 | 这块不是公共参数,可以根据业务的不同定义去定义 |
拓展字段 | 可以留出一个空的desc或者info字段,未来业务有新增需求的时候,可以在这个字段当中以json字符串的形式进行拓展 |
以这样的标准去写埋点文档,就有利于拉齐大家对埋点的认知,从而更高效,准确的沟通。核心的逻辑是从产品对UI的理解过渡到数据指标的设计然后到具体的开发环节,所以需要三方都要听得懂
最后成型的埋点文档应该长下面这样
日志基础信息 | 页面信息 | 具体字段 | UI图 | |||
事件 | 事件类型 | 名称 | 模块 | 记录字段 | 记录值 | |
首页浏览 | page_view | 首页 | 曝光 | 公共字段 | 包含用户id,设备号,时间页面id等 | 首页ui图 |
游戏id | 如果首页属于某个游戏或者某个商品 |
数据仓库一般跟数据存储,数据安全这些职能是绑定的,所以大部分工作会落到数据开发的同学身上。不过这种情况是在数据体系已经有一定沉淀的基础上,如果是从零到一的数据仓库搭建,数据分析同学的参与空间也是很大的。
数据开发的同学擅长将数据仓库设计的高效,可拓展,可维护,但是在服务层和应用层当中要结合业务进行设计,比如对于一个短视频产品,数开的同学能够做到让上数十亿条数据的用户-视频维度的事实表清洗任务时长缩短一半,但是到了服务层以上,需要定义一些“近30天用户活跃天数”,“近90天用户观看时长”的时候,数据开发的同学可能就会不知道怎么去设计能更加贴合业务了,此时就需要数分的同学参与进来。
数据仓库一般分为:
1、ODS层(数据准备层):包含业务的原始日志,是直接接入数据源的部分。
2、DWD层(数据明细层):将DW层(DWD,DWM,DWS)与业务层(ODS)隔开的部分,在数据字段的定义上与ODS层保持相同的颗粒度,但是会把ODS层的原始JSON等字符串日志进行解析变成数据库表,同时会做一些空值填补等数据清洗操作。
3、DWM层(数据中间层):在DWD的基础上做轻微的聚合,计算出相应的统计指标,例如假设对于一个短视频产品,DWD层记录的是,用户-创作者-作品-时长的维度数据,并且当一个用户多次观看同一个视频,可能会产生多条记录,那么在DWM层可能会根据业务需要把表聚合为用户-创作者-时长的维度数据,每一对用户-创作者的只会对应一条记录。
4、DWS层(数据服务层):在DWM的基础上整合的主题数据表,例如上面说的用户-创作者-时长的中间表,可能会根据业务需要被聚合为用户主题表:用户-总时长-创作者人数....;创作者主题表:创作者-用户数-总时长......;这里的数据维度通常就已经是具有业务含义的数据指标了
5、ADS层(数据应用层):这里主要是给提供给产品或者数据分析的表,比如BI展示的数据指标表,以及一些为了方便快速分析预聚合好的数据表,其数据指标自定义程度也会更高,比如”近90天观看视频数”等等。
通俗地说,数据仓库从下层往上层设计的过程就是一个不断group by的过程,从多条明细group by成一条,从N个维度group by成一两个维度如何选择维度,以及要group by出哪些指标,就是数据分析同学发挥作用的地方。一般ODS,DWD这两个维度可以不需要数分同学参与,数据开发的同学保证数仓的准确性和稳定性即可,但是到了DWM层数据分析的同学就可以适当参与进来。比如此时DWM层待聚合的维度有20个左右,包括用户id,创作者id,视频信息,用户的机型设备IP这些,那么数分的同学就可以结合平时的分析经验挑选需要聚合哪些维度,比如IP,机型,如果在分析当中并不是一个主要的维度,那么在DWM层当中就无需保留,那么假设数分的同学平时要经常统计“活跃设备数”这样的指标,那么设备ID就需要在DWM层保留下来。
设计数据仓库的过程这里介绍Kimball的维度建模步骤:
1、选择业务过程:这个步骤通俗地讲就是业务场景,比如在某个直播产品当中,我们定义一条用户的核心业务路径定义为观看直播-付费充值-礼物打赏,那么最初的事实表就需要确定是单一场景的观看直播行为表,还是观看直播-付费充值两个场景叠加的表。
2、声明粒度:确定主键,比如在上述的观看直播行为表中,我们选择用户作为粒度。
3、确认维度:根据关联分析的常用维度挑选字段,比如以用户为粒度的表中,我们通常会关注用户看了哪些主播,在什么渠道下看的,看的什么类型,那维度就需要包含主播id,渠道来源,直播品类,核心考量的就是业务相关性。
4、确认事实:也就是确定业务的度量指标,比如观看直播场景下,业务需要关注时长,PV,那么就需要在聚合的过程中把这两个指标计算出来。
如果按这个过程无限拓展,数仓的维度是可以拆出非常多的,常用的模式有:
模式 | 特点 | 维护难度 | 使用广泛度 |
星形模式 | 以事实表为中心,全部的维表直连在事实表上 | 低 | 高 |
雪花模式 | 维度表可以拥有其他的维度表 | 高 | 低 |
星座模式 | 基于多张事实表,共享维度信息 | 高 | 高 |
无论是哪种,其实核心都是要在存储空间和业务便捷性当中找到一个平衡点,维度表越多,分析的便利性就更强,但是同时增加了存储成本;维度设计的简单,数仓运行更高效,但是可能每次做稍微复杂的分析都要从最底层的表开始用起,降低分析效率。这一块工作是需要数据分析和数据开发的同学长期共建的,数分同学提供业务视角的建议,数开的同学提供技术上的方案,单一方我觉得都很难把这块做好。
其实分享了这么多,其实核心都是希望能够给数分的同学提供一些跳出数据分析框架解决问题的思路,如果能够了解一些数据治理的基础方法,在一些关键的节点上就可以寻求数据开发的帮助。例如你在分析用户路径的过程中发现了一个很关键的行为,比如用户在浏览3次以上商品详情页之后,购买率会提升10%,那么是不是可以设计对应的埋点,在每次用户曝光商品时,让开发同学记录当天已曝光该商品的次数,产品也可以直接读取这个数据做对应的干预策略;又例如某个视频产品的数仓以前只有简单的用户-创作者-视频维度的事实表,结果最近运营总是提需求看不同MCN机构的数据表现,那我们是不是可以给数仓的同学提需求增加对应的字段或者设计新的事实表和维度表,方便后续的BI能力搭建。
反过来说,数据开发的同学也能得到业务经验的反哺,我发现商品曝光次数是一个非常关键的行为,那么我在下次打其他埋点的时候,也可以建议产品加上这个数据;我发现业务方经常看A维度数据不看B维度的数据,那我也可以设计一些更加便捷的维度表给他们用。
整体来说,我觉得对于数据治理这项工作,数分和数开的同学是一个相辅相成,共同进化的合作关系,如果未来大家在做项目的时候,遇到了需要自己参与到数据治理工作当中的情况,希望本文可以给到大家一些启发。
2021年,猪肉的需求量已经出现饱和状态,由于今年的猪肉价格下调率太快,造成猪肉的行情比以前好多了,老百姓的购买能力增强,也让养殖户看到了可观的利润,猪肉的供应量还会提高,所以说今年2021年猪肉的需求量会有所增加,涨幅度不会太高。
从分析用人部门需求到最终候选人入职,每个环节都可能影响到招聘的结果和状态。
对于HR来说,如果想要把业务做得更加专业,
对招聘流程更有控制,那HR就需要用数据分析的思维去指导招聘工作,学会用数据指导招聘。
具体到招聘实践当中,招聘可以从这四个维度去分析:
关键绩效、招聘过程、渠道效果和招聘成本。
每一个维度都会有相应的计算方法和展现形式,
企业不同,取值方式不同,展现形式也不完全相同。
HR在招聘过程中,还有很多环节可以用数据进行分析总结。
两者不具备可比性。因为主观需求只能和客观需求进行对比。实际需求只能和潜在需求进行对比。一般来说,需求价格弹性都是着眼于实际需求来谈的。商品的替代性越强,则需求价格弹性越大。商品的用途越广泛,需求价格弹性就越大。属于顾客高级需求的商品,价格弹性大等等。