回归数据采集目的 思考如何进行数据采集?

数据采集的目的,其实是希望从数据层面对用户行为进行还原,并通过科学的分析方法,对数据背后的行为及价值进行挖掘,从而推动产品的运营及优化。所以,数据采集或者数据上报的触发器是用户行为。

那么问题回到,当用户发生某些行为时,我们该怎么进行对应的数据采集呢?

1、数据模型

当用户发生某个行为的时候,我们就需要记录一些信息。

如何将用户某次的行为,用科学、合理并且准确的数据模型来表示呢?行业内对应有非常多的方案,以DataTower.ai系统为例,我们采用的是“用户+事件”模型来描述行为数据

举个例子,假设一个行为是:用户在页面上点击了购买商品按钮,并完成付款。

那么抽象过程就分为用户数据抽象和事件数据抽象:

  • 用户数据抽象

1)是哪个用户?我们需要有一个id来标识这个用户,这个id要求是唯一的;

2)这个用户有哪些属性特征,我们需要关注,如:用户名是什么?用户当前的ip?用户是否是vip客户?用户当前使用的平台是什么?(具体要关注和获取哪些用户的特征和信息,可以根据实际需求来进行)

  • 事件数据抽象

1)这个事件是哪个用户发生的?同样需要有一个id来表明事件主体,应该与用户的id有一定的映射关系,从而可以将事件与用户关联起来;

2)这个事件有什么属性特征呢?例如付款事件,我们会关注付款金额、是否有折扣、付款商品信息、从加入购物车到付款的时间等等一系列必要信息。

最终存储的数据,用伪代码来描述一下就是:

经过上述步骤,我们就完成了从行为到数据的抽象。

那接下来该如何采集这些数据呢?我们可以继续来讨论和思考一下采集方式。

2、数据采集方式

在应用侧,最为常见的还是通过代码进行埋点,然后进行数据上报。以App应用为例,我们可以直接在开发过程中,对需要关注的用户行为进行埋点设计,自己写一段代码进行数据收集和上报,或者接入第三方SDK来进行数据采集和上报,如DataTower.ai 就提供了全量的数据采集 SDK 和集成方案,可以帮助开发者做数据采集与上报。

数据采集的SDK在采集功能上包括手动采集自动采集两部分。手动采集是由使用者自己填写数据,而自动采集,顾名思义就是SDK会自动收集一些数据进行上报。下面我们来重点看看自动采集的策略。

自动采集的数据往往是一些公共事件或事件/用户特征。以Android应用为例,SDK可以监测用户的首次安装、应用打开与关闭、应用跳转等一些公共行为,然后进行上报;同时在用户授权的情况下,可以获取设备的一些基本信息,例如系统时间、系统语言等。这些自动采集的数据往往与SDK相关,主要目的都是为了后续一些标准化的数据分析。例如DataTower.ai提供的Android-SDK在用户授权的情况下,可以收集用户在应用内的广告相关的行为(比如广告点击、加载、查看和关闭等等),完成后可以直接在DataTower.ai系统后台上查看应用内的投放效果数据,方便运营者更好地进行投放变现。

数据的采集不光只是数据的获取,还有数据的存储。以App应用来说,收集的数据不一定会立刻上报到后台,而是会受到用户的实际网络情况、后台服务等一系列不确定因素影响。那么采集数据的SDK一定程度上也需要做数据的缓存。另外,如果使用的是上述介绍的“用户+事件”模型,还需要有一个唯一id来关联事件和用户等一系列必备操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值