4. 数据采集与预处理:回放数据、评审记录、用户反馈的收集与清洗

效果评估的可靠性,首先取决于原始数据的质量。本章聚焦于三类核心数据源——回放数据、评审记录与用户反馈——的采集策略与预处理流程。只有经过系统化清洗与对齐的数据,才能支撑后续的量化分析与对比评审。

4.1 三类数据源的定义与采集方式

数据源 定义 典型采集方式 采集频率
回放数据 用户操作会话的完整录屏、事件日志、性能指标 SDK 埋点、录屏工具、APM 平台导出 每次评审会话结束后自动触发
评审记录 评审专家在对比评审过程中产生的评分、标注、评语 评审系统表单提交、结构化评分表、语音转文字 每轮评审节点完成后
用户反馈 终端用户对产品/功能的主观评价、满意度、问题描述 问卷、NPS 推送、客服工单、应用商店评论 版本发布后固定周期(如 T+7)
采集原则:三类数据必须携带统一的时间戳、用户标识(匿名化处理)与版本号,这是后续跨源关联的基础。

4.2 数据预处理的核心流程

原始数据通常包含噪声、缺失值、格式不一致等问题。预处理分为四个阶段:

  1. 格式标准化:将时间戳统一为 ISO 8601 格式;将评分字段统一为 0–100 或 1–5 分制;将文本字段统一为 UTF-8 编码。
  2. 缺失值处理:对关键字段(如评审得分、操作时长)缺失的记录,优先回溯补采;无法补采的,按字段类型采用均值填充或删除该记录。
  3. 异常值检测:使用 IQR 或 Z-score 方法识别回放数据中的异常时长、评审记录中的极端评分,标记后人工复核。
  4. 跨源对齐:以“评审会话 ID”为主键,将回放数据、评审记录、用户反馈进行左连接合并,生成宽表。
关键指标:预处理阶段的数据留存率应 ≥ 95%;若低于此阈值,需回溯采集链路是否存在系统性问题。

4.3 数据清洗规则与示例

以下为三类数据源常见的脏数据模式及清洗规则:

数据源 脏数据模式 清洗规则
回放数据 录屏文件损坏、事件时间戳跳跃 > 30s 标记为无效会话,不参与分析
评审记录 评分超出量程(如 1–5 分制出现 6 分) 截断至边界值,并记录异常标记
用户反馈 纯表情、无意义重复文本、非目标语言 正则匹配过滤,保留有效文本
# 示例:回放数据时间戳清洗(Python 伪代码)
import pandas as pd

df = pd.read_csv('replay_logs.csv')
# 统一时间戳格式
df['timestamp'] = pd.to_datetime(df['timestamp'], utc=True)
# 过滤跳跃超过 30 秒的会话
df = df[df.groupby('session_id')['timestamp'].diff().abs() <= pd.Timedelta(seconds=30)]

4.4 数据采集与预处理架构

下图展示了从原始数据采集到清洗后宽表的完整链路:

数据采集与预处理架构图 回放数据 录屏 / 事件日志 / 性能 评审记录 评分 / 标注 / 评语 用户反馈 问卷 / NPS / 工单 预处理引擎 格式标准化 → 缺失值处理 → 异常值检测 → 跨源对齐 统一时间戳 / 分制归一 / 会话 ID 关联 数据清洗 脏数据过滤 / 截断 / 正则清洗 / 异常标记 清洗后宽表(分析就绪)

4.5 数据质量校验清单

预处理完成后,建议按以下清单逐项校验:

  • 完整性:三类数据源是否均覆盖所有目标评审会话?
  • 一致性:跨源数据的时间戳、用户 ID、版本号是否可精确匹配?
  • 准确性:评分字段是否在预期量程内?文本字段是否无乱码?
  • 时效性:数据采集延迟是否在 SLA 范围内(如回放数据 < 5 分钟)?
常见陷阱:回放数据与评审记录的时间戳若来自不同时区,直接拼接会导致会话错位。务必在预处理阶段统一转换为 UTC 时间。