常用功能

分类

链接已复制好,马上发给小伙伴吧~
下载App

扫码免费下载

用户行为数据如何收集和整理?

用户行为数据的收集与整理是一个系统性工程,它贯穿于用户与企业产品服务交互的整个生命周期。其核心目标是从海量、零散的原始数据中提炼出有价值的洞察,用以驱动产品优化、精准营销、提升用户体验和最终的商业增长。以下将从数据收集、数据整理、以及具体案例三个维度,进行详实具体的阐述。

一、 用户行为数据的收集

数据收集是整个流程的基石,其广度和深度直接决定了后续分析的潜力。收集方式主要分为线上和线下两大渠道

(一) 线上数据收集

线上数据是当前数据收集的主体,主要依赖于技术手段进行自动化捕获。

  1. 前端埋点(客户端埋点) 这是获取用户在网站、App小程序等客户端上行为最直接的方式。

    • 代码埋点(Code-based Tracking): 这是最精准、最灵活的方式。由开发人员在需要追踪的事件(如点击按钮、提交表单、播放视频)中嵌入一段SDKSoftware Development Kit)代码。
    • 无埋点(Codeless Tracking): 通过可视化工具圈选需要追踪的元素,由工具自动生成并注入追踪代码。优点是快速、无需开发介入,适合非技术人员快速验证。缺点是灵活性差,无法追踪复杂逻辑(如页面停留超过10秒),且可能增加页面加载负担。
    • 全埋点(Full Tracking): 自动采集页面上所有(可配置)的控件行为,如所有点击、页面浏览、滚动等。优点是数据采集全面,避免遗漏。缺点是数据量巨大,对存储和处理能力要求高,且会产生大量无用的“噪音”数据。
  2. 后端日志采集(服务器端埋点) 前端埋点可能被用户屏蔽(如AdBlock)或因网络问题丢失。后端埋点则记录了服务器接收到的请求,数据更可靠、更准确

    • 采集内容: 主要包括API调用记录、数据库操作日志、支付流水、订单态变更等。例如,用户支付成功,后端日志会记录user_idOrder_idPayment_amountPayment_methodtimestamp等核心信息
    • 可落地方法: 使用日志收集工具(如Fluentd、Logstash)集中分布在多台服务器上的日志文件,统一发送消息队列(如Kafka)或数据仓库。关键是要对日志格式进行标准化,例如采用JSON格式,包含时间戳、请求来源IP、用户ID、请求参数、响应状态码等字段。
  3. 第三方数据服务集成 很多企业会使用第三方工具来辅助数据收集和分析。

(二) 线下数据收集

对于拥有实体店或线下服务的企业,线下数据的收集同样至关重要。

  1. POS系统会员系统 记录用户的购买商品、金额、时间、地点、使用的优惠券等。会员系统则将这些消费记录与具体的用户身份关联起来。
  2. 物联网IoT)设备:零售店中,Wi-Fi探针、蓝牙信标(Beacon)、摄像头(结合人脸识别客流统计技术)可以捕捉到客流轨迹、驻留时长、区域热力图等数据
  3. 人工记录与调研: 销售人员客户跟进记录、用户满意度问卷焦点小组访谈等。这些是定性数据,可以用来解释和补充定量数据的“为什么”。

二、 用户行为数据的整理

原始数据是混乱、冗余且不完整的。整理工作旨在将其清洗、整合结构化,使其变为可分析、可信赖的资产

  1. 数据清洗Data Cleaning 这是数据整理中最耗时但至关重要的一步。

    • 处理缺失值 对于关键字段的缺失,可以采用删除(当缺失数据量很少时)、填充(用平均值中位数或默认值填充)或标记(创建一个新字段标记其为缺失)等方法。例如,用户地址信息缺失,如果用于物流分析,则可能需要直接剔除该条记录;如果仅用于用户画像,可以标记为“地址未知”。
    • 处理异常值: 识别并处理不合逻辑的数据。例如,用户年龄为200岁,或一次点击事件的间隔时间为负数。处理方式通常是删除或修正。可以通过箱线图、3σ法则等方法来识别异常值。
    • 统一数据格式: 确保同一字段的数据格式一致。例如,时间戳统一为UTC时间或北京时间,日期格式统一为“YYYY-MM-DD”,设备型号名称统一(如“iPhone 14 Pro”和“Apple iphone14 pro”统一为前者)。
    • 去除重复数据: 由于网络重试或埋点逻辑问题,可能会产生重复上报的数据。需要根据唯一标识(如事件ID、时间戳+用户ID组合)进行去重。
  2. 数据集成与关联(Data Integration & Association) 用户的行为数据分散在不同系统(前端埋点数据库、后端日志、CRMPOS等),需要将它们整合起来,形成完整的用户视图

    • 核心:用户身份识别(User ID Mapping / ID-Mapping)。 这是打通数据孤岛的关键。需要将来自不同渠道匿名ID(如Cookie ID、设备ID)和实名ID(如手机号、邮箱、会员卡号)关联起来,形成一个统一的用户ID(通常称为Customer ID或Unified ID)。
    • 可落地方法: 建立一个ID-Mapping表。当用户在App上用手机号注册时,就将该手机号与当前的设备ID进行绑定。当用户在网站上用同一手机号登录时,再将网站的Cookie ID与该手机号绑定。通过这种方式,逐步将用户在各个触点的行为串联起来。
  3. 数据结构化与建模(Data Structuring & Modeling) 将清洗和整合后的数据组织成易于分析的宽表或数据模型

    • 构建用户行为事实表(Fact Table): 以事件为核心,每一行代表一个用户行为事件。包含维度外键(如用户ID、时间ID、地理位置ID)和度量(如事件次数、停留时长、金额)。
    • 构建维度表(Dimension Table): 存放描述性信息,如用户维度表(包含用户ID、性别、年龄、注册时间等)、时间维度表(包含日期、星期、月份、是否节假日等)、商品维度表。
    • 可落地方法: 采用星型模型或雪花模型构建数据仓库。例如,创建一个dwd_user_Behavior_detail(用户行为明细层)表,记录所有埋点事件。再基于此表,创建dws_user_Behavior_1d(用户行为汇总层)表,按天汇总每个用户的PVUV、点击次数、停留时长等指标,供上层应用直接使用。
  4. 数据分层存储(Data Tiering) 为了保证数据处理效率和可追溯性,通常采用分层架构。

三、 具体案例说明

场景家电公司希望分析“从浏览商品到最终支付成功”的转化漏斗,并找出流失严重的环节。

收集阶段:

  1. 前端埋点:
    • 在商品列表页,埋点ProductListView事件,属性包含Category_id
    • 在商品详情页,埋点ProductDetailView事件,属性包含Product_id
    • 点击“加入购车”按钮,埋点AddToCart事件,属性包含Product_idPrice
    • 进入购物车页面,埋点CartView事件。
    • 点击“去结算”按钮,埋点CheckoutStart事件。
    • 在支付页面选择支付方式,埋点PaymentMethodSelected事件,属性包含method
  2. 后端埋点:
    • 支付网关成功收到款项后,记录PaymentSuccess日志,包含Order_iduser_idamount

整理阶段:

  1. 数据清洗
    • 过滤掉测试账号产生的所有行为数据
    • 将所有时间戳统一转换为北京时间(GMT+8)。
    • AddToCart事件进行去重,防止用户快速点击导致的数据重复。
  2. 数据集成与关联:
    • 通过用户登录的user_id,将该用户在App上的所有前端埋点事件与后端的PaymentSuccess日志关联起来。
    • 对于未登录用户,通过设备ID(IDFA/Android ID)临时追踪其行为,一旦其登录或注册,立即将匿名行为合并到其user_id下。
  3. 数据建模
    • 数据仓库的DWD层,创建一张用户行为事件表,包含event_name, user_id, device_id, event_time, properties等字段。
    • 在DWS层,创建一张用户转化路径表,通过SQL的窗口函数(如LEAD)为每个用户的会话中的事件进行排序,并计算出每个步骤之间的时间差。
    • ADS层,创建一张转化漏斗报表表,按天统计ProductDetailView -> AddToCart -> CheckoutStart -> PaymentSuccess每一步的用户数和转化率

分析与应用:

  • 通过ADS层的报表,管理者可以清晰地看到每天的转化漏斗。例如,发现AddToCartCheckoutStart的转化率仅为30%,远低于行业平均水平。
  • 进一步下钻分析,发现大量用户在加入购车后超过2小时才去结算,或者干脆再也没有访问过购物车。
  • 落地策略: 针对这一发现,运营团队可以制定策略:对加入购物车但未在1小时内结算的用户,通过App Push或短信发送提醒,并附上一张小额优惠券,刺激其完成购买。通过A/B测试验证该策略的有效性,最终提升整体转化率。