我是靠谱客的博主 健康书本,最近开发中收集的这篇文章主要介绍基于Python实现的广告自动调价算法广告自动调价算法介绍,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

资源下载地址:https://download.csdn.net/download/sheziqiong/85676911

广告自动调价算法介绍

1:Bid 的自动出价算法

2:Weight 的自动调优算法

1:Bid 的自动出价算法介绍

原理:我们希望最大化 revenue 最小化 cost,但是业务员只能调整 bid,budget 和 weight,由于 SQL 里面目前还无法查询出 bid 和 revenue 之间对应到 trigger 的对应关系,我暂时先把 cpc 近似当成 bid,然后找 cpc 和 profit(之所以此处没有用 revenue,是因为要让 revenue 最大化不可能不考虑 cost,如果把成本考虑进来,最大化 revenue 更实际的情况是提高收益率 profit,另外,此处没有选择提高 ctr 是因为提高 ctr 的做法放在优化 weight 上了)之间的关系。见图 1,从图上看深度神经网络是能找到他们之间的有效相关性,

数据:分别抽取 cpc 和盈利 profit 之间的对应数据,以及 cpc 和亏损 profit 之间的对应数据。

算法:用 GAN 算法分别生成盈利 profit 对应的 bid_g 和亏损 profit 对应的 bid_b。

其中 bid 的生成范围在 0.05-3 之间。

D_loss = - torch.mean(torch.log(prob_artist0) + torch.log(1. - prob_artist1))  #最大化profit函数
         G_loss = -torch.mean(torch.log(1. - prob_artist1))   #最小化bid函数

bid 自动调价规则

如果 bid_g - bid_b > 0,那么当前的 bid 能调整的幅度范围就是:bid + bid_g - bid_b。

如果 bid_g - bid_b < 0,那么当前的 bid 能调整的幅度范围就是:bid - bid_g - bid_b。

模型源码及模型部署

模型源码 auto-bid.py(文件我放在 192.168.101.70 的 autobid 目录下)

模型完整运行一次耗时 35 个小时,导入数据 62 万。

在这里插入图片描述

模型文件 autobidg.model.meta 和 autobidb.model.meta 部署在 autobid/module 下,这 2 个模型分别耗时 35 小时和 68 小时,是所有盈利数据和所有亏损数据进去后计算出来的。下一步想把 bid,budget 和 weight 合在一起出 2 个模型就够了,目前是分开的,不过调用的时候其实不用管模型部署文件,都已经直接写到程序里面了。

自动调价的计算和更新 bid 步骤:

:每天在收到收入报告后,在导入 adm 之后,运行程序 autobid.py。

:自动调价 bid 的输出分为 2 个文件,每个文件 2 列,见下表

:用 good 的价格减去对应 trigger 的 bad 价格就是每天需要调整的 bid 范围,然后根据自动调价规则来更新 bid 价格。

Weight 的自动调优算法

:理论上我们应该是谁的转换率高我们给的权重就多,但是我们的 Weight 是在 ad-page 上统计的,每个 ad-page 对应多个 trigger。所以在计算转换率的时候我是用 revenue 的 click 除以 cost 的 click,然后用 GAN 算法不断拟合 weight 到转换率的关系。简单说是最大化 revenue 的 ctr,最小化 cost 的 click。剩下的工作就跟上面一样了,但只产生一个模型。

自动调优 weight 的计算和更新 weight 步骤:

:每天在收到收入报告后,在导入 adm 之后,调整参数 reportdate 的日期为收到报告的日期,然后运行程序 autoweight.py。

:自动调价 weight 的输出只有一个文件 weight**.txt(**是日期),见下表

trigger_wordsplatformid_adpagesid_linkpairid_accountid_trigger_wordsWeight 建议值
lowering ldl cholesterolinuvo_lexo12308463029841324115.223612
lowering ldl cholesterolinuvo_lexo11235743209561324114.490099
lowering ldl cholesterolinuvo_lexo1168406333796132412.878565
lowering ldl cholesterolinuvo_lexo12198623074161324125.285267
lowering ldl cholesterolinuvoreal6373461902241016127.708143
lowering ldl cholesterolinuvo_lexo920846266974208128.100786
lowering ldl cholesterolinuvo_lexo1232120351384228125.049885
atopic dermatitisinuvoreal493436148438381213.623442
atopic dermatitisinuvo_lexo1274066365812802216.44322
atopic dermatitisparked1026562294370310218.391785
atopic dermatitisinuvoreal125369222141496229.028065
atopic dermatitisinuvoreal1244370165926962229.078337
atopic dermatitisinuvoreal125778218563696228.735622
atopic dermatitisinuvoreal1273000365604145216.769901
atopic dermatitisinuvoreal1273090365608145217.396612
atopic dermatitisinuvoreal1269354364070110428.085274
atopic dermatitisinuvoreal12694883641081104224.298153
atopic dermatitisinuvo_lexo1265226354156928214.363249
atopic dermatitisinuvo_lexo1273738349490928211.722599

:如果 weight 的值小于 0 代表不建议分流量到该 trigger 上,另外,weight 的小数点可以省去。具体在哪个页面调整,看 trigger 对应的 id_adpages 及相应的账户 id_account。这还需要技术部的支持把每个 trigger 对应到的账户和 adpage 分配下去。业务员根据自动调优的 weight 建议值调整 weight。

模型源码

自动调优的源码 autoweight.py(文件我放在 192.168.101.70 的 autobid 目录下)

如果需要看模型效果把注释去掉就能看到:

# if step % 50 == 0:
#     #print('D_loss', "%.6f"%D_loss.data)
#     # print('G_loss', G_loss)
#     # print("n")
# File.write(str("%.6f"%D_loss.data)+" ,"+str("%.6f"%G_loss.data) + "n")

资源下载地址:https://download.csdn.net/download/sheziqiong/85676911

最后

以上就是健康书本为你收集整理的基于Python实现的广告自动调价算法广告自动调价算法介绍的全部内容,希望文章能够帮你解决基于Python实现的广告自动调价算法广告自动调价算法介绍所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(67)

评论列表共有 0 条评论

立即
投稿
返回
顶部