什么是广告归因?
广告归因是指识别并评估一系列用户触点(如广告点击、曝光、搜索等)对最终转化(如购买、注册)所做出的贡献,并为每个触点分配相应价值的过程。它的核心目的是回答一个关键问题:“我的广告费到底花得值不值?哪个渠道最有效?”
归因模型的发展阶段
归因模型的发展大致经历了以下四个主要阶段:
第一阶段:基于最后触点的简单规则模型
- 核心思想:将转化的100%功劳归功于用户发生转化前的最后一个触点。
- 代表模型:
- 最后点击归因:功劳全给最后一次点击。
- 最后非直接点击归因:功劳全给最后一次非直接流量(如自然搜索、广告点击)的点击,忽略直接访问。这是Google Analytics等工具早期的默认模型。
第二阶段:基于固定规则的多触点模型
- 核心思想:将转化的功劳按预设的固定规则分配给转化路径上的多个触点。
- 代表模型:
- 首次点击归因:功劳全给第一次触点,强调拉新和获客。
- 线性归因:功劳平均分配给路径上的每一个触点。
- 时间衰减归因:离转化发生时间越近的触点,获得的功劳越大。
- U形归因:特别强调首次触点(获客)和最后一次触点(转化),各分得40%功劳,中间触点平分剩余的20%。
第三阶段:数据驱动归因
- 核心思想:使用机器学习算法分析全量的转化和非转化路径,通过对比来计算出每个触点的真实贡献价值。功劳分配不再是固定的,而是动态的、基于概率的。
- 工作原理:
- 收集所有用户的完整路径数据(包括最终转化了的和没有转化的)。
- 算法会问:“在包含了这个特定触点的路径中,转化发生的概率是多少?如果这个触点不存在,转化概率又会是多少?”
- 通过计算“存在”与“不存在”时的概率差,来评估该触点的增量贡献。
- 代表平台:Google Analytics 4 的归因、Adobe Analytics、各广告平台(如Google Ads、Meta Ads)的数据驱动归因模型。
- 代表方法:
- 马尔可夫链:
- 用户的转化路径视为一个状态序列。每个营销渠道(触点)就是一个“状态”,转化是最终的“吸收状态”。
- 通过分析所有用户路径中状态之间的转换概率,来计算每个渠道对到达最终转化状态的“重要性”。
- Shapley
- 参与者:各个营销渠道(如Facebook, Google, Email)。
- 联盟:一次转化路径上出现的渠道集合。
- 总收益:一次转化的功劳(通常为1)。
- 一个渠道的贡献,应该是它加入各种可能的“渠道联盟”时,所带来的边际贡献的平均值。
- Machine Learning RNNs
- 将用户的整个转化路径视为一个有时间序列的、富含上下文信息的“句子”,利用RNN(一种专为序列数据设计的神经网络)来学习和预测整个路径最终导致转化的概率。
- 马尔可夫链:
第四阶段:宏观建模与混合测量
- 核心思想:在无法获取完整用户级路径数据的情况下,转向更宏观的、基于统计和实验的测量方法。
- 代表方法:
- 营销组合模型:一种宏观的、自上而下的分析模型。它使用时间序列数据和回归分析,来评估不同营销渠道(如TV、搜索、社交)在宏观层面上对销售量的贡献。它不关注单个用户,而是看整体趋势。
- 增量提升实验:通过A/B测试或地理实验等科学实验方法,直接测量某一渠道或广告活动的“净效果”。例如,在一半地区投放广告,另一半不投,比较两地的销量差异。
- MMM与DDA的融合:业界最新的趋势是将宏观的MMM与微观的数据驱动归因相结合,形成一个更全面、更稳健的测量体系,以应对数据缺失的挑战。
- Synthetic Impressions
- 在数据不完整的情况下,基于已知的部分数据(种子数据),去预测和填补那些未知的、但又极有可能发生的用户广告接触点。
- Synthetic Impressions
马尔可夫链归因模型
核心思想
- 马尔可夫链模型将用户的转化路径视为一个状态序列。每个营销渠道(触点)就是一个“状态”,转化是最终的“吸收状态”。
- 模型的核心思想是:通过分析所有用户路径中状态之间的转换概率,来计算每个渠道对到达最终转化状态的“重要性”。
- 它不关心渠道在路径中的位置(首次、末次),而是关心这个渠道作为路径中的一个节点,对用户顺利流向下一步直至转化的“桥梁作用”有多大。
工作原理与计算过程
- 构建状态转移矩阵:
- 收集所有用户的转化路径和非转化路径。
- 计算从一个渠道(状态)转移到另一个渠道(状态)的概率。例如,从“Facebook广告”开始,下一个步骤是“Google搜索”的概率是多少?从“Google搜索”到“转化”的概率又是多少?
- 同样,也计算从每个渠道“退出”(即用户流失)的概率。
- 计算“移除效应”:
- 这是马尔可夫链模型最关键的步骤。模型会模拟如果将某个渠道从路径中完全“移除”,整个系统的转化率会受到多大影响。
- 在计算时,模型会将所有通向被移除渠道的边,重新路由到其他渠道或退出状态,然后基于新的转移矩阵,计算系统的整体转化概率。
- 分配功劳:
- 比较“完整模型下的总转化概率”和“移除某个渠道后的总转化概率”。
- 两者的差值,就是这个渠道的移除效应,也就是它对于转化的贡献价值。
- 最终,根据每个渠道的移除效应占比来分配转化功劳。
优点
- 考虑路径顺序:它能够捕捉到渠道之间的顺序依赖关系。例如,“先看品牌视频广告,再进行品牌词搜索”这条路径的转化概率,可能与反向路径完全不同。马尔可夫链能建模这种差异。
- 基于全局数据:结论来源于对所有路径数据的分析,而非人为规则。
- 识别辅助渠道:能有效识别那些作为关键“跳板”、但很少出现在末次点击的渠道。如果一个渠道是通往高转化率渠道的必经之路,即使它本身不直接转化,也会被赋予高价值。
缺点
- 计算复杂:当渠道数量很多时,状态转移矩阵会非常庞大,计算量急剧增加。
- 数据稀疏性问题:某些不常见的路径组合可能因为数据量太少而导致概率估计不准确。
- “黑箱”感较强:相对于Shapley值,其基于概率转移的计算过程可能更难以直观地向业务人员解释。
Shapley值归因模型
核心思想
在广告归因中:
- 参与者:各个营销渠道(如Facebook, Google, Email)。
- 联盟:一次转化路径上出现的渠道集合。
- 总收益:一次转化的功劳(通常为1)。
其核心思想是:一个渠道的贡献,应该是它加入各种可能的“渠道联盟”时,所带来的边际贡献的平均值。
工作原理与计算过程
- 列出所有可能的渠道联盟:
- 考虑所有渠道的所有可能组合。例如,对于渠道{A, B, C},可能的联盟有:{空集}, {A}, {B}, {C}, {A,B}, {A,C}, {B,C}, {A,B,C}。
- 计算每个联盟的“价值”:
- 通常,一个联盟的价值定义为:包含该联盟中所有渠道的路径的转化率。例如,联盟{A,B}的价值,就是所有同时包含渠道A和B的路径的转化率。
- 计算每个渠道的边际贡献:
- 对于一个渠道(如A),计算它加入每个可能的联盟时带来的价值增量。
- 边际贡献 = 包含A的联盟价值 - 不包含A的联盟价值
- 例如,A加入联盟{B}的边际贡献是:V({A,B}) - V({B})
- 平均所有边际贡献:
- 将渠道A在所有可能联盟顺序下加入时的边际贡献进行加权平均,得到的就是A的Shapley值。
计算公式: 对于一个渠道i,其Shapley值 φ(i) 的计算公式为:
$$ φ(i) = Σ [ (|S|! (n - |S| - 1)! ) / n! ] - (V(S ∪ {i}) - V(S)) $$- S 是不包含 i 的所有可能子集。
- $|S|$ 是子集 S 的大小(渠道数量)。
- n 是总的渠道数量。
- V(S) 是联盟 S 的价值。
优点
- 公平性:满足博弈论中的公平性公理(效率性、对称性、哑元性、可加性),理论上是最公平的分配方式。
- 无需考虑顺序:计算基于渠道集合,而非序列,避免了路径顺序的复杂性。
- 直观易懂:最终每个渠道得到一个贡献值,总和为100%,非常容易理解和呈现。
缺点
- 计算复杂度极高:渠道数量n增加时,可能的子集S数量呈指数级增长(2^n)。对于大量渠道,精确计算是不现实的,通常需要采用抽样等近似算法。
- 忽略顺序信息:这也是它最大的缺点。它将“A->B->转化”和“B->A->转化”视为完全相同的渠道集合{A, B},无法区分两者价值的潜在差异。
Machine Learning RNNs
核心思想
RNN模型的核心思想是:将用户的整个转化路径视为一个有时间序列的、富含上下文信息的“句子”,利用RNN(一种专为序列数据设计的神经网络)来学习和预测整个路径最终导致转化的概率。 它的目标不仅是分配功劳,更是为了深度理解用户旅程中的复杂模式。
工作原理与计算过程
-
输入数据(序列化与向量化):
- 每条用户路径被表示为一个序列
[Touchpoint_1, Touchpoint_2, ..., Touchpoint_n]。 - 每个触点(Touchpoint)不再仅仅是一个渠道名称(如“Google”),而是被编码成一个富含特征的向量。这些特征可能包括:
- 渠道类型:付费搜索、社交媒体、展示广告、电子邮件等。
- 广告详情:广告系列、广告组、创意内容、关键词。
- 上下文信息:时间戳、周几、用户设备(桌面/移动)、操作系统、地理位置。
- 用户互动强度:点击还是浏览?浏览了多长时间?
- 通过这种向量化,模型获得了远比传统模型更丰富的信息维度。
- 每条用户路径被表示为一个序列
-
RNN网络的处理过程:
- RNN拥有“记忆”能力,能够处理序列中元素之间的依赖关系。
- 模型将路径中的触点向量按顺序逐个输入RNN。
- 对于路径中的第
i个触点,RNN会结合当前触点的向量和来自前一个触点的隐藏状态,来更新当前的隐藏状态。这个隐藏状态可以理解为一种“压缩的记忆”,包含了从路径开始到当前触点的所有重要信息。 - 通过这种方式,RNN能够捕捉到诸如“在周末看到某个视频广告后,第二天在工作电脑上进行品牌搜索的用户,转化概率更高”之类的复杂、跨时间的模式。
-
输出与功劳分配(“移除效应”的应用):
- 当处理完整个路径后,最后一个RNN单元的隐藏状态被传递给一个输出层(通常是一个Sigmoid函数),用于预测该路径的最终转化概率。
- 接下来,和马尔可夫链类似,RNN模型也采用移除效应来计算每个触点的贡献:
- 首先,用完整的路径输入训练好的RNN模型,得到基础转化概率
P(convert | full_path)。 - 然后,模拟移除路径中的某一个触点(例如第三个触点),将这条“被截断”的路径再次输入RNN,得到一个新的转化概率
P(convert | path_without_touchpoint_i)。 - 该触点的贡献值就是两者的差值:
Contribution_i = P(convert | full_path) - P(convert | path_without_touchpoint_i)。
- 首先,用完整的路径输入训练好的RNN模型,得到基础转化概率
- 通过对路径中的每个触点都执行此操作,就可以公平地分配转化功劳。
