2. 竞价参考价的数据来源与预处理
竞价参考价不是凭空算出来的一个数字,它来自广告系统在真实竞价过程中留下的多路数据。要得到可信的参考价,第一步不是建模,而是把“原料”找齐、认准、洗干净。本节围绕三类核心数据源展开:原始竞价数据、曝光与点击日志、出价记录,并给出可落地的清洗与字段对齐方法。
一、三类数据源各自承载什么信息
原始竞价数据是竞价请求与响应的快照,通常以请求级明细存在,一条记录对应一次广告请求。它包含请求时间、流量来源、设备与地域、广告位、参与竞价的候选广告、各自的出价、排序结果、最终胜出者与成交价等。它是计算参考价最直接的数据,因为“谁出了多少、谁赢了、按什么价成交”都在这里。
曝光与点击日志是竞价结果发生之后的用户行为记录。曝光日志说明某条广告是否真正展示、展示在什么位置、何时展示;点击日志记录用户是否点击、点击时间与归因信息。它们本身不含出价,但承担两个关键作用:一是校验竞价数据中的“胜出”是否真的转化为曝光,过滤掉胜出却未曝光的无效样本;二是为参考价提供质量维度,避免把大量无曝光、无点击的虚高竞价纳入统计。
出价记录是广告主侧或投放系统侧的出价配置与调整历史,包含广告计划、出价方式、出价金额、出价时间、调价操作人等。它回答的是“这个出价是什么时候、以什么方式设定的”,用于区分稳定出价与临时调价,避免把大促期间的短时高价误当作常态参考价。
二、数据清洗:先解决“脏”,再谈“准”
真实日志几乎不可能直接可用。常见问题集中在四类,处理顺序建议先去重、再补缺、再剔异常、最后统一时间。
去重。竞价请求可能因重试、多节点上报而重复出现。判断依据是请求唯一标识(如 request_id)加时间戳。若同一 request_id 在极短窗口内出现多条记录,保留字段最完整的一条,其余标记为重复。曝光日志同理,同一曝光ID重复上报会导致曝光量虚高,进而影响样本权重。
缺失处理。出价金额为空、胜出者标识为空、曝光时间缺失是三类高频缺失。处理原则不是一律删除:出价为空但胜出标识完整的记录,可保留用于统计竞争格局,但不参与价格计算;曝光时间缺失的记录无法判断是否真实曝光,应剔除或单独标记。缺失率超过阈值的字段(例如某广告位出价缺失率超过30%)要单独排查采集链路,而不是简单填充。
异常值。负出价、明显超出业务上限的出价(例如正常出价在0.5~5元,却出现9999元)、成交价高于最高出价的记录,都属于逻辑矛盾。异常值应先标记再判断:少量孤立异常可直接剔除;成批出现往往意味着单位错误(分与元混用)或字段错位,需要回到采集端修正,而不是在计算层硬压。
时间对齐。竞价、曝光、点击、出价四路数据可能来自不同系统,时区与时间格式不一致是字段对齐失败的主要原因。统一做法是全部转换为同一时区(如东八区)的毫秒时间戳,并明确“竞价时间”与“曝光时间”的先后关系:曝光时间应不早于竞价时间,否则该样本的关联关系可疑。
三、字段对齐:让四路数据能“对上话”
字段对齐的核心是确定关联主键与关联粒度。推荐以 request_id 作为竞价与曝光的主关联键,以曝光ID关联点击,以广告标识加时间窗口关联出价记录。具体要统一四件事:
- 广告标识统一:竞价数据里可能是创意ID,出价记录里是单元ID,需要建立映射表,把粒度统一到同一层级(通常统一到广告单元或创意)。
- 金额单位统一:出价记录常以元存储,竞价数据可能以分存储,统一换算为元并保留两位小数,避免量级错误。
- 出价口径统一:区分 CPC 出价、CPM 出价与 oCPC 目标出价,不同口径不能直接混算参考价,需按计费方式分组。
- 时间窗口统一:出价记录是“生效区间”而非单点,关联时应取竞价时刻所处的那条生效出价,而不是简单取最近一条。
四、一个可执行的预处理示例
假设某广告位一天有 120 万条竞价请求,曝光日志 38 万条,点击日志 1.2 万条,出价记录 600 条。按上述流程处理后,可得到如下统计口径(示例数据,用于说明方法):
| 处理环节 | 处理前 | 处理后 | 主要动作 |
|---|---|---|---|
| 竞价请求去重 | 120.0 万 | 112.6 万 | 按 request_id 去重 |
| 剔除出价缺失 | 112.6 万 | 108.9 万 | 出价为空不参与价格计算 |
| 剔除逻辑异常 | 108.9 万 | 108.2 万 | 负出价、成交价高于最高出价 |
| 关联曝光成功 | 108.2 万 | 35.4 万 | request_id 关联曝光日志 |
| 关联出价记录 | 35.4 万 | 34.7 万 | 按生效区间匹配出价 |
最终 34.7 万条记录构成参考价计算的基础样本。可以看到,从 120 万到 34.7 万的收缩主要发生在“关联曝光成功”这一步,这不是数据丢失,而是把“参与竞价但未真正展示”的请求排除在价格统计之外——参考价描述的是真实成交环境,而不是纸面竞价。
五、预处理完成后的验收标准
一套预处理是否合格,可以用四个可检查的指标判断:主键唯一性(request_id 无重复)、关键字段完整率(出价、胜出标识、曝光时间完整率均高于设定阈值)、关联成功率(曝光关联率与出价关联率在合理区间)、口径一致性(金额单位、计费方式、时区全部统一)。四项通过后,样本表才可进入参考价计算环节;任何一项不通过,都应回到对应环节修正,而不是带着问题往下算。
把数据源认全、把脏数据洗净、把字段对齐,参考价的计算才有可靠的地基。后续的统计口径选择与虚拟匹配量计算,都建立在这张干净样本表之上。