归因分析(Attribution Analysis)模型解析
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了归因分析(Attribution Analysis)模型解析相关的知识,希望对你有一定的参考价值。
参考技术A 在复杂的数据时代,我们每天都会面临产生产生的大量的数据以及用户复杂的消费行为路径,特别是在互联网广告行业,在广告投放的效果评估上,往往会产生一系列的问题:· 哪些营销渠道促成了销售?
· 他们的贡献率分别是多少?
· 而这些贡献的背后,是源自于怎样的用户行为路径而产生的?
· 如何使用归因分析得到的结论,指导我们选择转化率更高的渠道组合?
你可能第一反应就是:当然是我点了哪个广告,然后进去商品详情页产生了购买以后,这个功劳就全部归功于这个广告呀!没有错,这也是当今最流行的分析方法,最简单粗暴的单渠道归因模型------这种方法通常将销售转化归功于消费者第一次 (首次互动模型,First Model) 或者最后一次接触 (末次互动模型,Last Model) 的渠道。但是显然,这是一个不够严谨和准确的分析方法。
我们发现,现实情况往往是很复杂的多渠道投放,在衡量其贡献价值以及做组合渠道投放力度的分配时,只依靠单渠道归因分析得到的结果和指导是不科学的,于是引入了多渠道归因分析的方法。当然,多渠道归因分析也不是万能的,使用怎样的分析模型最终还是取决于业务本身的特性以及考虑投入其中的成本。
也称,最后点击模型-----最后一次互动的渠道获得100%的功劳,这是最简单、直接,也是应用最为广泛的归因模型。
优点: 首先它是最容易测量的归因模型,在分析计方面不容易发生错误。另外由于大部分追踪的cookie存活期只有30-90天(淘宝广告的计算周期最长只有15天),对于顾客的行为路径、周期比较长的场景,在做归因分析的时候可能就会发生数据的丢失,而对于末次互动模型,这个数据跟踪周期就不是那么特别重要了。
弊端: 这种模型的弊端也是比较明显,比如客户是从收藏夹进入商品详情页然后形成了成交的,按照末次归因模型就会把100%的功劳都归功于收藏夹(直接流量)。但是真实的用户行为路径更接近于产生兴趣、信任、购买意向、信息对比等各种环节,这些都是其他渠道的功劳,在这个模型中则无法统计进来,而末次渠道的功劳评估会被大幅高估。
适用于: 转化 路径少、周期短 的业务,或者就是起临门一脚作用的广告,为了 吸引客户购买 ,点击直接落地到商品详情页。
上面讲到的末次互动模型的弊端是数据分析的准确性受到了大量的"直接流量"所误导,所以对于末次非直接点击模型,在排除掉直接流量后会得到稍微准确一点的分析结果。
从上面的案例中,我们可以想象,用户是从淘宝收藏夹里点了一个商品然后进行了购买,但是实际上他可能是点了淘宝直通车后把这个商品加入到收藏夹的,那么在末次非直接点击互动模型里,我们就可以把这个功劳归功于淘宝直通车。
适用于 :如果你的公司认为,你们 业务的直接流量大部分都被来自于被其他渠道吸引的客户 ,需要排除掉直接流量,那么这种模型会很适合你们。
末次渠道互动模型会将100%的功劳归于客户在转化前,最后一次点击的广告渠道。需要注意这里的"末次互动"是指任何你要测量的转化目标之前的最后一次互动,转化目标可能是销售线索、销售机会建立或者其他你可以自定义的目标。
优点: 这种模式的优点是通常跟各渠道的标准一致,如Facebook Insight使用末次Facebook互动模型,谷歌广告分析用的是末次谷歌广告互动模型等等。
弊端: 很明显当你在多渠道同时投放的时候,会发生一个客户在第一天点了Facebook的广告,然后在第二天又点击了谷歌广告,最后并发生了转化, 那么在末次渠道模型中,Facebook和谷歌都会把这次转化的100%功劳分别归到自己的渠道上 。这就导致各个部门的数据都看起来挺好的,各个渠道都高估了自己影响力,而实际效果则可能是折半,如果单独使用这些归因模型并且把他们整合到一个报告中,你可能会得到"翻倍甚至三倍"的转化数据。
适用于: 单一渠道,或者已知某个渠道的价值特别大
首次互动的渠道获得100%的功劳。
换句话说, 首次互动模型更加强调的是驱动用户认知的、位于转化漏斗最顶端的渠道 。
优点 :是一种容易实施的单触点模型
弊端 :受限于数据跟踪周期,对于用户路径长、周期长的用户行为可能无法采集真正的首次互动。
适用于 :这种模型适用于 没什么品牌知名度的公司,关注能给他们带来客户的最初的渠道 ,对于扩展市场很有帮助的渠道。
对于路径上所有的渠道,平等地分配他们的贡献权重。
线性归因是多触点归因模型中的一种,也是最简单的一种,他将功劳平均分配给用户路径中的每一个触点。
优点: 他是一个多触点归因模型,可以将功劳划分给转化漏斗中每个不同阶段的营销渠道。另外,他的计算方法比较简单,计算过程中的价值系数调整也比较方便。
弊端: 很明显,线性平均划分的方法不适用于某些渠道价值特别突出的业务。比如,一个客户在线下某处看到了你的广告,然后回家再用百度搜索,连续三天都通过百度进入了官网(真实用户场景也许就是用户懒得记录或者收藏官网地址),并在第四天成交。那么按照线性归因模型,百度会分配到75%的权重,而线下某处的广告得到了25%的权重,这很显然并没有给到线下广告足够的权重。
适用于: 根据线性归因模型的特点, 他更适用于企业期望在整个销售周期内保持与客户的联系,并维持品牌认知度的公司 。在这种情况下,各个渠道在客户的考虑过程中,都起到相同的促进作用。
对于路径上的渠道,距离转化的时间越短的渠道,可以获得越多的功劳权重。
时间衰减归因模型基于一种假设,他认为 触点越接近转化,对转化的影响力就越大。 这种模型基于一个指数衰减的概念,一般默认周期是7天。也就是说,以转化当天相比,转化前7天的渠道,能分配50%权重,前14天的渠道分25%的权重,以此类推...
优点: 相比线性归因模型的平均分权重的方式,时间衰减模型让不同渠道得到了不同的权重分配,当然前提是基于 "触点离转化越近,对转化影响力就越大" 的前提是准确的情况下,这种模型是相对较合理的。
弊端: 这种假设的问题就是,在漏洞顶部的营销渠道永远不会得到一个公平的分数,因为它们总是距离转化最远的那个。
适用于: 客户 决策周期短、销售周期短 的情况。比如,做短期的促销,就打了两天的广告,那么这两天的广告理应获得较高的权重。
基于位置的归因模型,也叫U型归因模型,它其实是 混合使用了首次互动归因和末次互动归因 的结果。
U型归因模型也是一种多触点归因模型,实质上是一种重视 最初带来线索 和 最终促成成交 渠道的模型,一般它会给首次和末次互动渠道各分配40%的权重,给中间的渠道分配20%的权重,也可以根据实际情况来调整这里的比例。
U型归因模型非常适合那些 十分重视线索来源和促成销售渠道的公司 。该模型的缺点则是 它不会考虑线索转化之后的触点的营销效果 ,而这也使得它成为销售线索报告或者只有销售线索阶段目标的营销组织的理想归因模型。
以下,我们通过神策数据提供的归因模式,做一次计算原理的演绎:
下图是通过神策分析所得到某电商用户行为序列图示。在图示中,各字母代表的含义是 D-广告位、Q-商品详情页、D-推荐位、M-购买商品。目标转化事件是“购买商品”,为了更好地“配对”,运营人员将 M1(目标转化事件——购买商品1)与 Q1(前项关联事件——商品 1 详情)设置了属性关联,同样将 M2 与 Q2 进行关联。
该场景中,发生了两次购买行为,神策分析进行归因时会进行两轮计算,产生计算结果。
(一)第一轮计算:
第一步,从 M1 开始向前遍历寻找 Q1 以及离 Q1 最近发生的广告浏览。
如图所示,不难得到结果 M1=[Dc,Dc,Da]。
第二步,我们带入分析模型中,进行功劳的分配。运营人员选择 “位置归因” 的分析模型,根据“位置归因”的计算逻辑,第一个“待归因事件”和最后一个“待归因事件”各占 40%,中间平分 20%。
第一轮我们得到结果:Dc=0.4;Dc=0.2;Da=0.4
(二)第二轮计算
从 M2 开始向前遍历寻找 Q2 以及离 Q2 最近发生的广告浏览。
这里值得强调的是,即使第一轮中计算过该广告,在本轮计算时依然会参与到计算中,因为经常会出现一个广告位同时推荐多个商品的情况。
我们不难得到结论,M2=[Dc,Db]。基于这个结论,我们通过“位置归因” 得到结果:Dc=0.5;Db=0.5 (不足 3 个时会有特殊处理) 。
经过两轮计算,我们得出结论:Dc=1.1;Da=0.4;Db=0.5,则广告位 c 的贡献最大、广告位 b 贡献次之,广告位 a 的贡献最小。
马尔科夫链思时间、状态都是离散的马尔科夫过程,是将来发生的事情,和过去的经理没有任何关系(只和当前有关系)。通俗的讲: 今天的事情只取决于昨天,而明天的事情只取决于今天。
回到归因模型上,马尔科夫链模型实质就是:访客下一次访问某个渠道的概率,取决于这次访问的渠道。
归因模型的选择,很大程度上决定转化率计算结果,像前面讲的首次互动、末次互动等模型,实际上需要人工来分配规则的算法,显然它并不是一种“智能化”的模型选择。而且因为各个推广渠道的属性和目的不同,我们也无法脱离用户整个的转化路径来单独进行计算。因此,马尔科夫链归因模型实质上是一种以数据驱动的(Data-Driven)、更准确的归因算法。
马尔科夫链归因模型适用于 渠道多、数量大、有建模分析能力 的公司。
那么具体马尔科夫链怎么玩?(请自备图论知识)
如果将各推广渠道视为系统状态,推广渠道之间的转化视为系统状态之间的转化,可以用马尔科夫链表示用户转化路径。
马尔科夫链表示系统在t+1时间的状态只与系统在t时间的状态有关系,与系统在t-1,t-2,...,t0时间的状态无关,平稳马尔科夫链的转化矩阵可以用最大似然估计,也就是统计各状态之间的转化概率计算得到。用马尔科夫链图定义渠道推广归因模型:
1、状态集合,定义为 banner,text,keyword,link,video,mobile,unknown 7种推广类型加上start,null,conversion 3种系统状态
2、稳定状态下的转化矩阵,通过某公司web网站20天的原始click数据计算的得到如下状态转化矩阵
3、利用该转化矩阵来构造 有向图(Directed Graph) ,通过计算从节点start到节点conversion的所有非重复路径(Simple Path)的累乘权重系数之和来计算 移除效应系数
4、通过移除效应系数,计算各个状态的转化贡献值
什么是移除效应?
我们可以把上面的案例简化一下,尝试具体计算下移除效应和各渠道的转化贡献值:
在以上系统中,总体的转化率 = (0.667*0.5*1*0.5+0.333*1*0.5)= 33.3%
移除节点C1后,整体转化率 = 0.333*0.1*0.5 = 16.7%,所以C1节点的移除效应系数 = 1-0.167/0.333=0.5
同理可计算节点C2和C3的移除效应分别是1和1
通过移除效应系数计算得到转化贡献值:
C1 : 0.5 / (0.5+1+1) = 0.2
C2 : 1 / (0.5+1+1) = 0.4
C3 : 1 / (0.5+1+1) = 0.4
如果你对马尔科夫链有疑惑,可以 点击这里 了解下
从上面这么多种归因模型来看,我们大概可以把他们分成2类:
(1) 基于规则的 :预先为渠道设置了固定的权重值,他的好处是计算简单、数据容易合并、渠道之间互不影响,当然你也可以根据实际需要去调整他们的权重配比
(2) 基于算法的 :每个渠道的权重值不一样,会根据算法和时间,不同渠道的权重值会发生变化(数据驱动)
在选择用何种归因模型之前,我们应该先 想清楚业务模式!
如果是 新品牌、新产品推广 ,企业应该给予能 给我们带来更多新用户的渠道 足够的权重,那么我们应该选择首次互动模型;
如果是投放了 单一的竞价渠道 ,那么我们应该选取末次互动归因模型或者渠道互动归因模型;
如果公司很在乎 线索来源和促成销售渠道 ,那么我们应该选择U型归因模型;
如果公司的渠道多、数据量大,并且由永久用户标识,基于算法的归因模型能够为营销分析提供巨大的帮助;
....
总的来说, 没有完美的归因模型 。任何模型都存在他的局限性和不足,如何有效地结合客观数据与主观推测,是用好归因模型的重要能力前提。
这里抛出一个有趣的问题,大家可以通过思考他背后的分析逻辑,尝试一下如何应用到归因模型中
Google Analytics(分析)报告中的归因模型
【中文标题】Google Analytics(分析)报告中的归因模型【英文标题】:Attribution model in Google Analytics reports 【发布时间】:2016-04-12 12:32:45 【问题描述】:我们在 Google Analytics(分析)中使用标准和自定义报告。但是对于我们的报告,我们需要另一个归因模型。在https://support.google.com/analytics/answer/1665189 中,我们发现在非多渠道路径报告中归因转化价值时,Analytics 默认使用最终非直接点击模型。但是切换到另一个默认模型呢?多渠道漏斗和模型比较工具不适合。我们需要具有首次交互模型的自定义报告。
【问题讨论】:
这个问题是题外话,因为它不是关于编程。请在网站管理员中发布。 【参考方案1】:您无法在分析报告 API 中更改模型属性 但是你可以使用 mcf API,并创建自定义模型 https://developers.google.com/analytics/devguides/reporting/mcf/dimsmets/?hl=ru 使用维度 mcf:sourceMediumPath
【讨论】:
【参考方案2】:我们遇到了同样的问题,您似乎无法更改所有其他报告的默认归因模型,然后是 Google Analytics Standard 中的 MFC。不过基本上有两种解决方法:
-
您可以使用 MFC/归因报告并更改归因
在那里建立模型并尝试使用 First Interaction 设置自定义报告
满足您需求的模型(但并非所有维度/指标都可用)。
您可以将命中级别数据流式传输到
其他一些存储(Google BigQuery、Amazon RedShift 等),并构建
您从原始数据中自己的归因(但显然有些
需要编程技能水平,http://noca.cz/githubgabq
是开始收集数据的一个很好的 Python 示例)
【讨论】:
以上是关于归因分析(Attribution Analysis)模型解析的主要内容,如果未能解决你的问题,请参考以下文章
多渠道归因分析(Attribution):python实现Shapley Value
多渠道归因分析(Attribution):python实现Shapley Value
多渠道归因分析(Attribution):用attention-RNN来做归因建模(附代码demo)