在网页或者营销渠道中,用户行为模型有比较多,基于渠道的,笔者觉得有:
渠道类型 | 渠道重要性 | 渠道跳转与流失 |
---|---|---|
单渠道,多节点 | 路径分析,漏斗功能 | |
多渠道 | 归因分析 | |
这里多渠道指的是,单渠道多节点的场景比较好理解,就是进入某个web \ 小程序,在不同页面之间进行跳转,多渠道这里比较多的就是,同一用户在不同的较大的场景下的流转,比如在小红书种草 -> 微信好友推荐 -> 淘宝上买了。 |
归因分析是通过一定的逻辑方法,计算每个渠道、或者触点对最终结果贡献程度的方法。有一套合理的归因办法,才能科学地衡量不同渠道的广告价值,指导更好的投放。 其是衡量某一个渠道/触点价值的,没有考虑触点之间的跳转。
关于归因分析,之前笔者有整理: 多渠道归因分析(Attribution):传统归因(一)
本篇主要来看看路径/漏斗分析。
通常用户在需要进行路径分析的场景时关注的主要问题:
我们可以很好地发现用户的流转特点,发现用户是从哪些环节、哪些页面流失、或者发生了阻碍,从而有针对性地优化产品,提升业绩。 比如,我们发现很多用户在加购后没有进行支付,我们就可以通过路径分析,看看用户加购后,都去哪里了、发生了什么操作。如此,有可能找到支付率低的原因所在。
漏斗分析是分析用户从起始到终点环节,过程当中每一步环节的转化(或者流失)情况。通过漏斗,可以找出全链路业务的问题环节所在,从而进行针对性优化。 几个特点:
漏斗分析是固化了具体的分析过程或者业务环节,然后分析这几个大的业务环节的转化;而路径分析,是固化了用户的路径顺序,在每个路径次序中,都包含了各个主要业务环节,因此在每一步中,出现的业务环节很有可能都是类似的。
总而言之,漏斗分析看重的是业务环节之间的留存关系,而路径分析看重的是用户在不同业务环节中的顺序及流失关系。
本模型中的Session Time的含义是,当两个行为间隔时间超过Session Time,我们便认为这两个行为不属于同一条路径。
使用更加灵活的Session划分,使得用户可以查询到在各种时间粒度(5,10,15,30,60分钟)的Session会话下,用户的页面转化信息。 假设有用户a和用户b,a用户当天发生的行为事件分别为 E1, E2, E3… , 对应的页面分别为P1, P2, P3… ,事件发生的时间分别为T1, T2, T3… ,选定的session间隔为tg。如图所示T4-T3>tg,所以P1,P2,P3被划分到了第一个Session,P4,P5被划分到了第二个Session,同理P6及后面的页面也被划分到了新的Session。
当然,如果支持选择不同粒度的session,数据计算要求较高
不同的事件可能对应同一页面,临近的相同页面需要被过滤掉,所以划分session之后需要做的就是相邻页面去重。 不过,这里是否去重还要根据实际业务场景来判定。
桑基图主要是用来显示流向和数量。最大的特点,就是开始与结束是保持总量守恒的。
看出全体用户是从哪个地方来,经过一步一步的环节后,到了哪里去。另外一种和桑基图比较相似的图,是和弦图。如下示例:
和弦图主要是呈现从一个内容转移到另外所有内容的情况,呈现不了桑基图多层环节的内容,仅仅是一个环节。
来自vivo的这篇提到了他们超大规模工程化的数据结构,类似知识图谱图数据库的存储结构了。 构造桑基图可以简化为一个图的压缩存储问题。图通常由几个部分组成:
采用邻接表进行存储。邻接表是一种常用的图压缩存储结构,借助链表来保存图中的节点和边而忽略各节点之间不存在的边,从而对矩阵进行压缩。
如下左图就是我们的邻接表设计。左侧顺序列表存储的是各个节点(Vertex),包含节点名称(name)、节点代码(code)等节点信息和一个指向边(Edge)列表的指针;每个节点(Vertex)指向一个边(Edge)链表,每条边保存的是当前边的权重、端点信息以及指向同节点下一条边的指针。
通过Spark分析计算的结果数据需要写入Clickhouse来线上服务,写入Hive来作为数据冷备份,可以进行Clickhouse的数据恢复。
列存储的方式,对于这种超大规模数据的统计/计算查询数据非常便捷。
比如这个so的案例,p1 -> p2 -> p3 -> p4 - > p5 -> p6 -> p4
就可以分成多级。
p1
或p2
或p3
,单个节点构成了一级,
p1 -> p2
或 p2-> p3
构成了二级,
p1 -> p2 -> p3
或 p5 -> p6 -> p4
构成了三级
分级是为了更加细致地解析整个流程中,不同流程进度下的过程。
剪枝是树的构造中一个重要的步骤,指删去一些不重要的节点来降低计算或搜索的复杂度。页面路径模型中,我们在剪枝环节对原始数据构造的树进行修整,去掉不符合条件的分支,来保证树中每条根节点到叶节点路径的完整性。
剪枝主要有几个方向:
PV和SV是比较通常的指标,针对节点 / 路径会有不同的延申。
针对节点的PV / SV延申出:
针对多级路径PV/SV延伸出:
vivo:用户行为分析模型实践(一)—— 路径分析模型这篇里面有比较详细的说明了他们获取多级页面的方式,不过不是特别让人看得懂。。
session = [['p1','p2','p3','p4','p5','p6','p4'],
['p1','p5','p1','p5','p1','p5','p1'],
['p6','p7','p8','p5','p9','p4'],
['p1','p4','p5','p1'],
['p4','p5','p2','p3','p5']]
sid = []
for nx,ps in enumerate(session):
for n,p in enumerate(ps):
prev_node = [-1 if r < 0 else ps[r] for r in range(n-4,n)]
now_node = ps[n]
next_node = [-1 if r > len(ps)-1 else ps[r] for r in range(n+1,n+5)]
sid.append([nx] + prev_node + [now_node] + next_node)
cols = ['path','page_id_previous4','page_id_previous3','page_id_previous2','page_id_previous1',
'page','page_id_next1', 'page_id_next2', 'page_id_next3', 'page_id_next4']
sid_data = pd.DataFrame(sid,columns = cols)
以上是按照下面的分发得出的:
对于这个数据构造的方式,笔者也没细细琢磨,就先半路退堂,留下问题好了。。。
触点路径模型是客户旅程分析(Customer Journey Analytics)中的关键模型 ,它描绘了消费者接触渠道触点的种类、顺序、频次。触点路径模型的核心算法在于路径的定义与划分,分析不同人群在不同触点路径下的转化效率差异性。
渠道路径图通过可视化方式描绘用户在实现目标转化的过程中所经过的渠道路径,可以帮助广告主了解渠道间是如何合作完成转化的,比如哪些渠道触达量大/转化量大,哪些渠道为品牌广告做承接,哪些渠道为效果广告做助攻? 渠道路径图在序列化策略和渠道合作探索中均可应用: 对于已知的渠道间追加投放策略,验证A渠道触达的用户是否如预期被B渠道再次触达; 对于未知的投放策略,探索渠道间的自然合作效应。
渠道组合与路径效率
渠道组合与路径效率衡量基于组合路径详情表格。详情表格给出促成目标转化的渠道路径,以及每个路径对应的总转化次数、价值, 结合付费渠道的成本、流量数据,可以衡量转化路径的目标转化率和投入回报。当转化路径忽略渠道的先后顺序,则为渠道组合。通过表格,我们可以进行多渠道效率提升分析和单渠道频次提升分析。
vivo:用户行为分析模型实践(一)—— 路径分析模型 路径分析:如何将用户的网站行为轨迹可视化呈现? 漏斗分析:你可能低估了它的复杂度(逻辑细节及产品化)
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/172657.html原文链接:https://javaforall.cn