数据采集

数据埋点:用户做了什么,向服务器发送一条日志
埋点的最终目的是有能力观察及分析数据
埋点会遇到的问题
自己理不清:要啥数据/有啥属性
研发听不懂:前端采集or后端采集?/跨越前后端取值?

数据采集方式:线上、全埋点/无埋点、线下、竞品

线上数据采集【数据需求文档(Data Requirements Document)】

  • 明确埋点需求:归纳需求(产品自身的指标建模/业务部门的分析需求)
    明确需求之后,考虑需要哪个指标来衡量需求,进而选择适当的埋点属性【需求→指标→埋点】
  • 选择适当的埋点属性
    依据经验,预先按分析维度设计属性(依赖分析经验,频繁添加埋点,需要研发密切配合)
    根据套路,预先设计埋点属性(WWWHW)
    Who When Where How What某个用户在某个时间点、某个地方以某种形式完成了某个具体的事情
    Who:认设备/认人
    认设备:web(cookie)/IOS(UUID/IDFV/IDFA)/Android(UUID/Android ID)
    认人:UID/微信等第三方UID/手机号/身份证
    When:哪个时间
    哪个节点的时间?事件发生-事件上报-事件接收-事件入库
    哪个时区的时间?上报时间时带时区/使用Unix时间戳
    Where:哪个地点
    GPS:获得的是经纬度,往往需要通过API取得详细的地址信息
    IP:统一分配给运营商,相对比较粗略,可通过第三方查所属地
    自主填写:相比用户真实位置,更关心用户希望在哪(租房/买房/装修)
    How:什么形式
    用的什么设备?/装的哪个版本?/操作系统是什么?/用的什么浏览器?/流量还是Wifi?/从哪个页面来的?/...
    What:什么事情
    购买:买了什么(商品名称)/什么类型(商品类型)/买了多少(数量)/花了多少钱(金额)/付款方式/...
    搜索:搜索关键词/搜索类型/...
    用户注册:注册渠道/注册邀请码/...
    用户投诉:投诉内容/投诉对象/投诉渠道/投诉方式/...
    申请退货:退货金额/退货原因/退货方式/...
    Who/When/Where是公共属性,不同的模块最好采用一种取值方式,便于后续合并分析/维护
    事件聚类:比如说有很多个模块可以完成支付,事件统一命名为支付pay,然后埋点一个position属性表明在哪个模块支付的
  • 前端采集or后端采集
    除非某个行为只在前端发生,否则都建议在后端采集
    前端埋点的弊端
    某些属性前端没有/改动依赖产品发版/事件上报时机略尴尬
    埋点属性的来源
    前端:调用API/取页面上的值/行为统计(计时器/页面浏览时间)
    后端:业务数据/查关联表/前端送来的数据/技术数据(单次事件响应时间)
    埋点有效性的校验(数据不具备回溯性,信息损失了就没了)
    抓包/看数据平台是否显示对应事件/与DRD逐个比对,核验是否符合预期
  • 埋点文档的常用字段
    事件编号/事件英文变量/事件名/事件定义
    属性英文变量/属性名/属性值类型/属性定义
    埋点属性当前状态/埋点行式/上线版本/上线时间/下线时间/备注常见值

全埋点/无埋点=把所有浏览和点击行为都记录下来
适用场景:分析需求简单(只需要统计PV和点击)/开发限制因素多(临时活动/没时间部署埋点)/业务流程简单(只需要点击/跳转)
技巧:可将本来能在一页完成的流程拆成多页来实现全埋点采集
限制:非浏览和点击事件无法采集到what/how类的信息
线下数据收集
人体传感器/饭店收银台/超市重力传感器
电商:物流信息/客服跟进情况
教育:到课率/线下招生收集到的客户信息
金融:地推/短信发送的用户(与新注册用户对比,验证推广效果)
竞品数据采集
明确采集目的、爬取所需数据

你可能感兴趣的:(数据采集)