渠道归因(二)基于马尔可夫链的渠道归因

news2025/2/22 0:45:32

渠道归因(二)基于马尔可夫链的渠道归因

在应用当中,序列中的每个点通常映射为一个广告触点,每个触点都有一定概率变成真正的转化。通过这种建模,可以选择最有效,概率最高的触点路径。这种方法需要较多的数据,计算也比较复杂。本文主要参考自python实现马尔可夫链归因。

马尔可夫链是一个过程,它映射运动并给出概率分布,从一个状态转移到另一个状态。马尔可夫链由三个属性定义:

  • 状态空间:处理可能存在的所有状态的集合
  • 转移概率:从一个状态转移到另一个状态的概率
  • 当前状态分布 :在过程开始时处于任何一个状态的概率分布

那么用户行为路径中的每个渠道可以看作这里的每个状态。在知道状态空间的情况下,所求的渠道贡献率就是每条路径的转移概率。所以马尔可夫链模型可以用来做归因分析。

MarkovAttribution方法

# pip install MarkovAttribution
import pandas as pd
from markovattribution import MarkovAttribution

本文所有数据如果有需要的同学可关注公众号HsuHeinrich,回复【数据挖掘-渠道归因】自动获取~

# 读取数据
df = pd.read_csv('./Markov/paths.csv')
df.head()

image-20230206154250062

这个方法对数据格式有自己的要求

  • 最后一列为是否转化,列名固定为conv_flag,枚举值为(‘null’ or 空【即NaN】、‘conv’)

  • 首列至倒数第二列为渠道流转路径,缺失为空

# 模型拟合
attribution = MarkovAttribution()
ma = attribution.fit(df)
# 输出结果
for key, value in ma['Markov Values'].items():
    print (key.ljust(15), round(value,2))
EMAIL           56.31
SOCIAL          57.56
PROGRAMMATIC    50.55
YOUTUBE         32.08
SEM             48.49

ChannelAttribution方法

# pip install Cython
# pip install ChannelAttribution
import pandas as pd
from ChannelAttribution import *
Data = pd.read_csv('./Markov/Data.csv',sep=";")
Data.head() 

image-20230206154344119

数据格式要求:

path:转化路径,以>连接

total_conversions:累计转化次数

total_conversion_value:累计转化收益

total_null:累计未转化次数

# markov算法计算各渠道转化次数和转化收益
auto_markov_model(Data, "path", "total_conversions", "total_null", var_value='total_conversion_value')
Suggested order: 4
Number of simulations: 100000 - Convergence reached: 3.69% < 5.00%
Percentage of simulated paths that successfully end before maximum number of steps (67) is reached: 99.99%
channel_nametotal_conversionstotal_conversion_value
0eta3440.25570913711.503304
1iota3732.04210314535.970443
2alpha5821.60918219315.152418
3beta2386.05970510133.518357
4theta1783.6619897115.975460
5lambda1167.1455764696.185913
6kappa305.9050901126.342986
7zeta291.7863941093.572697
8epsilon635.3413422280.694761
9gamma216.486679777.796200
10delta4.70623216.259047
11mi0.0000000.000000

总结

如果能计算出每个流转路径历史所有的转化次数和未转化次数,个人更建议ChannelAttribution方法。

共勉~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/716517.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你知道怎么通过ai绘画图片描述生成图片吗

汤姆: 嘿&#xff0c;听说了吗&#xff1f;有几个特别酷的方法可以通过ai绘画图片描述生成出上面这些惊艳的图像&#xff01; 玛丽: 真的吗&#xff1f;那听起来好神奇啊&#xff01;怎么做到的&#xff1f; 汤姆: 其实很简单&#xff01;你只需要用文字描述你想要的图片&…

POI批量导入和echars图表

下载模板 userList.jsp <a href"downloadUserExcel">下载模板</a>DownloadUserServlet.java /*** 下载*/ WebServlet("/downloadUserExcel") public class DownloadUserServlet extends HttpServlet {protected void doGet(HttpServletReq…

关于环肽试剂:118477-06-8,Cyclo(L-Phe-trans-4-hydroxy-L-Pro),知识普及

●中文名&#xff1a;环(L-苯丙氨酰-反式-4-羟基-L-脯氨酸) ●英文名&#xff1a;Cyclo(L-Phe-trans-4-hydroxy-L-Pro) 西安凯新生物科技有限公司供应的​各种环肽&#xff0c; 任何结构的环肽&#xff0c;可以进行相应的定制服务。环二肽&#xff1a; 2000/g or 3000/g 纯度…

idea 自带git down分支出现莫名其妙的文件

是个坑 大部分场景下&#xff0c;会先down master 再去down 对应分支 例如dev 会出现一种内容&#xff0c;master里面有但dev没有当前文件&#xff0c;直接报错而且引入包排查没任何问题 解决方式&#xff1a; 用tortoiseGit 直接选对应分支。idea目前2022不支持

uniapp - [全端兼容] 多选弹框选择器,弹框形式的列表多选选择器组件插件(底部弹框式列表多选功能,支持数据回显、动态数据、主题色等配置)

前言 网上的教程都太乱了,各种不兼容且 BUG 太多,注释也没有很难进行改造。 本文 实现了 uniapp 全端兼容的弹框多选选择器,从底部弹出列表项进行多选(可回显已选中和各种主题色、样式配置), 您可以直接复制代码,稍微改改样式就能用了。 如下图所示,数据列表(支持接口…

关于找不到msvcp120.dll,无法继续执行代码的解决方案

小伙伴们知道msvcp120.dll是什么文件吗?那么今天小编就来讲解电脑出现msvcp120.dll丢失的解决方法介绍&#xff0c;希望能够帮助到大家呢。 msvcp120.dll 是windows系统中必备的动态链接库文件。msvcp120.dll可以解决某些大型游戏、程序由于vs2010编译系统中缺失此dll的问题。…

【电子量产工具】大纲分析

前言 最近看了 电子量产工具 这个项目&#xff0c;本专栏是对该项目的一个总结。 项目大纲&#xff1a; 可以看到上面的框图&#xff0c;我们可以分为三大部分&#xff1a; 从最下面的 第 1 层开始。这是整个项目的最底层&#xff0c;主要负责处理数据和逻辑&#xff0c;与板…

Docker发布JAVA vhr微人事后端(确保打包没问题再发布)

本文代码来源于&#xff08;感谢作者&#xff09; GitHub - lenve/vhr: 微人事是一个前后端分离的人力资源管理系统&#xff0c;项目采用SpringBootVue开发。1.创建DockerFile文件 创建mail文件夹 创建web文件夹 以下为mail dockerfile FROM java:8 Add *.jar /app/app.ja…

算法chatgpt回答

算法 红黑树和AVL树区别 红黑树和AVL树区别

Windows系统提示丢失xlive.dll怎么办?

xlive.dll微软的动态链接库&#xff08;DLL&#xff09;的一部分&#xff0c;当它被删除或者损坏时&#xff0c;会出现错误消息&#xff0c;提示xlive.dll丢失或未找到。那么Windows系统提示丢失xlive.dll怎么办呢&#xff1f; Windows计算机丢失xlive.dll如何修复&#xff1f;…

云原生之深入解析Docker容器的核心Cgroups的相关概念和使用实现

一、Cgroups 简介 Cgroups 是 Linux 系统内核提供的一种机制&#xff0c;这种机制可以根据需求将一些列系统任务机器子任务整合或分离到按资源划分登记的不同组内&#xff0c;从而为系统资源管理提供一个的框架。简单地说&#xff0c;Cgroups 可以限制、记录任务组所使用的物理…

HCIP-Cloud Service Solutions Architect v3.0

华为职业认证hcip解决方案架构师v3.0 新增题库200题 HCIP-Cloud Service Solutions Architect v3.0 1.关于创建数据盘镜像的约束条件&#xff0c;以下说法错误的是&#xff1f; A.使用云服务器的数据盘创建数据盘镜像时&#xff0c;要确保该云服务器必须有系统盘 B.通过外部文件…

智能化新服务即将惊艳亮相HDC2023 ——华为云Astro爆发低代码能量

​​HDC期间可参与华为开发者大会Astro新人抽奖活动&#xff0c;活动链接在文末。福利多多&#xff0c;快来参与&#xff01; 跃跃欲试的开发者们&#xff0c;是否对2023华为云开发者大会充满期待&#xff1f;华为云Astro将引领新一轮低代码技术革命&#xff01;贯穿AIGC技术的…

HTML5 游戏开发实战 | 五子棋

五子棋是一种家喻户晓的棋类游戏&#xff0c;它的多变吸引了无数的玩家。本章首先实现单机五子棋游戏(两人轮流下)&#xff0c;而后改进为人机对战版。整个游戏棋盘格数为 1515&#xff0c;单击鼠标落子&#xff0c;黑子先落。在每次下棋子前&#xff0c;程序先判断该处有无棋子…

建安三类人企业主要负责人(A证)安全技术考试题库及答案

本题库是根据最新考试大纲要求&#xff0c;结合近年来考试真题的重难点进行汇编整理组成的全真模拟试题&#xff0c;考生们可以进行专项训练&#xff0c;查漏补缺巩固知识点。本题库对热点考题和重难点题目都进行了仔细的整理和编辑&#xff0c;相信考生在经过了针对性的刷题练…

网络安全(黑客)学习路线

前言&#xff1a; 学基础花费很长时间&#xff0c;光语言都有几门&#xff0c;有些人会倒在学习 linux 系统及命令的路上&#xff0c;更多的人会倒在学习语言上&#xff1b; 1、打基础时间太长 对于网络安全基础内容&#xff0c;很多人不清楚需要学到什么程度&#xff0c;囫…

飞行动力学 - 第2节-推进系统、气动力、重要参数及一点点滑翔 之 基础点摘要

飞行动力学 - 第2节-推进系统、气动力、重要参数及一点点滑翔 之 基础点摘要 1. 推进系统介绍2. 推进系统效率/功率/推力3. 涡桨/涡扇/涡喷 桨叶激波 影响4. 典型喷气式发动机数据5. 空气动力6. 升力&法向过载7. 阻力组成8. 最大升阻比 & 最小阻升比9. 飞机阻力10. 重要…

怎么批量禁用公司u盘功能

在某些情况下&#xff0c;禁用U盘的功能可能是必要的。无论是出于安全考虑&#xff0c;还是为了限制员工在工作时间内使用个人设备&#xff0c;禁用U盘可以帮助管理和控制数据的流动。本文将介绍一些禁用U盘的方法&#xff08;其中方法三可以公司局域网内部一键禁止U盘的使用&a…

使用SpringEL获得字符串中的表达式运算结果

概述 有时候会遇上奇怪的需求&#xff0c;比如解析字符串中表达式的结果。 这个时候自己写解析肯定是比较麻烦的&#xff0c; 正好SprinngEL支持加()、减(-)、乘(*)、除(/)、求余&#xff08;%&#xff09;、幂&#xff08;^&#xff09;运算&#xff0c;可以免去造轮子的功夫…

六大设计模式原则

1 单一职责原则 &#xff08;Single Responsibility Principle, SRP&#xff09;&#xff0c;有且仅有一个原因引起类的变更 顾名思义&#xff1a;一个类只负责一项职责 基本介绍 即对类来说&#xff0c;一个类应该只负责一项职责。如类 A 负责两个不同职责&#xff1a;职责 …