[转]Auction算法介绍

本文介绍了传统拍卖的四种竞价策略及互联网广告中的广义第一价格、广义第二价格和VCG竞价机制,并深入探讨了GSP竞价策略公式,以及如何在广告与非广告混排时计算λ值。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注:阅读资料,无链接,感觉写得挺好的。


一、传统拍卖竞价策略

1、英式拍卖(English Auction)
英式拍卖又叫公开增价拍卖OAB(Open Ascending Bid),卖家提供物品,在物品拍卖过程中,买家按照竞价阶梯由低至高喊价,出价最高者成为竞买的赢家。为了保证竞价收敛,一般会为竞价设定一个终止时间。

2、荷兰式拍卖(Sealed-bid Auction)
荷兰式拍卖亦称公开减价拍卖ODB(Open Descending Bid),其过程与英式拍卖过程相反:竞价由高到低依次递减直到第一个买家应价时成交的一种拍卖方法。

3、第一价格密封拍卖FPSB(The first-price sealed auction)
第一价格密封拍卖,买方将自己的出价写在一个信封里,众多买方进行投标,同一时间揭晓信封价格,出价最高者竞价成功。

4、第二价格密封拍卖SPSB(The Second Price Sealed Auction)
又称为维克里拍卖(Vickrey Auction),其拍卖过程和第一价格密封拍卖过程一样,由出价最高的买家获得物品,但他只需要支付所有投标者中的第二高价。

二、互联网广告竞价策略

1、广义第一价格GFP(Generalized First Price)
与传统的第一密封竞价(FPSB)类似,出价高者得,需要支付自己提出的报价。
缺点:
1)平台方收益会非常不稳定。
2)竞价效率不高。

举例

广告位
平均每小时点击量
1 200
2 100
广告主
平均每次点击收益
A 10
B 4
C 2

出价过程:

  1. C -> 2
  2. B -> 2.01(出价超过2,C放弃出价)
  3. A-> 2.02
  4. B-> 2.03
  5. A-> 2.04
  6. ...
  7. A-> 4.01 (出价超过4,B放弃出价)

一方放弃之后,另一方失去竞争者,从而再次把价格拉低(A想,我没有竞争者了,为啥还出价这么高)。

放弃方得知价格被拉低后,又会开始新一轮的“微小差值策略”。

于是,广告位的价格极不稳定,呈现上图中的态势,Yahoo和Google初期都是采用这种策略,直到2002年Google提出了GSP竞价算法。

2、广义第二价格GSP(Generalized Second Price)
和传统第二密封竞价(SPSB)类似,出价高者得,需要支付出价第二高者提出的报价再加上一个最小值。

举例

广告位
平均每小时点击量
1 200
2 100
广告主
平均每次点击收益
A 10
B 4
C 2

此时:
    A的实际出价为4+0.01=4.01
    B的实际出价为2+0.01=2.01
    C竞价失败

【实际最终出价跟GFP一样啊,哪里有问题?】

GSP是一种稳定的竞价方式,可操作性很强,现阶段几乎所有的互联网广告平台都使用这一种竞价方式。
GSP的不足是,它也不是一种“鼓励讲真话”的机制,说实话不一定形成纳什均衡,竞价的结果不一定全局最优化的。于是,VCG竞价算法出现了。

3、VCG(Vickrey-Clarke-Groves)竞价机制
广告主为网民的一次点击支付他对其他广告主造成的效用损失。

举例

广告位
平均每小时点击量
1 200
2 100
广告主
平均每次点击收益
A 10
B 4
C 2

定价过程:
1)假设A不参加竞价,B和C的社会总效用为200*4 + 100*2 = 1000元
2)A如果参加竞价,B和C的社会总效用为100*4 + 0*2 = 400元
3)因为A参加了竞价,导致B和C的社会总效用损失了1000 – 400 = 600元
4)于是,A需要为每一次点击支付600 / 200 = 3元
但实际应用中,受损者的社会总效用损失难于计算,故VCG竞价机制几乎没有谁真的来使用。

三、GSP竞价策略公式

1、排序时,只考虑出价。按CPM收费时采用。

排序公式

rankScore=eCPM=bid

计费公式

chargei=rankScorei+1=bidi+1

2、排序时,不仅仅考虑出价,同时考虑CTR。CPC计费时采用。

排序公式

rankScore=eCPM=bid×ctr

计费公式

chargei×ctri=rankScorei+1=bidi+1×ctri+1
chargei=ctri+1ctri ×bidi+1

如果大家的CTR都一样,charge就是bid。如果CTR低,多出点钱,如果CTR高,少出点钱。很合理。

3、广告与非广告混排

首先,为什么要混排?为了更多的广告位?    

对于美团来说,在没有上广告之前,就有一部分收入——佣金收入,非广告排序模型目标就应该是最大化这个收入。【此处没有考虑流量的问题,为了保证流量,需要补贴,需要提供信息服务,很难以收入为目标】

     当引入广告之后,收入就变成了2部分:佣金收入和广告收入。我们在提高广告收入的时候可能会同时提升佣金收入,也可能降低佣金收入。所以我们建模就不能照搬一般的广告模型,我们的模型需要兼顾佣金收入与广告收入,模型的终极目标应该是最大化二者之和,所以我们的排序公式应该是这样的。

rankScore=eCPM_Profit+eCPM_Ads

    如果我们不唯利是图的话,还要保证用户体验,加上自然相关性的因素【个人觉得,在一个商业交易的平台上,访购率体现的就是相关性】。

rankScore==eCPM_Profit+eCPM_Ads+λ×relevanceprofit×ptr+bid×ctr+λ×relevance

    其中,profit为毛利,ptr为支付率【假设是以支付量来计算收入的话】。

    eCPM的单位是钱,relevance的单位不是钱,通过λ来进行转换并控制对整体分数的影响。

    这是我理想中的排序公式。

    理想很丰满,现实可能很残酷。

    佣金部分的收入计算面临一些问题,首先,佣金比较敏感,我们可能拿不到,其次佣金是以deal为单位的,而我们的模型是以POI为单位的,可能会带来很大误差。第一个问题是最主要的,没有数据我们根本无从计算。所以我们只能忍痛割爱。

    短期的解决办法是什么呢,我们假设自然排序的relevance能大概代表佣金部分的收入【理论上自然排序的目标是最大化佣金收入,实际上自然排序的核心KPI是访购率,所以自然排序模型是按点击率、下单率、支付率综合分排序的,POI的佣金根本不在其中,所以这个假设不太靠谱,但是我们目前只能这么假设了】。

    根据这个不靠谱的假设之后,公式变成了

rankScore=relevanceScore+adScore=relevance+λ×bid×ctr

计费公式

λ×chargei×ctri+relevancei=rankScorei+1
chargei=rankScorei+1relevanceiλ×ctri

进行分解之后

chargei=====rankScorei+1relevanceiλ×ctrirelevancei+1+adScorei+1relevanceiλ×ctrirelevancei+1relevanceiλ×ctri +adScorei+1λ×ctrirelevancei+1relevanceiλ×ctri +λ×ctri+1×bidi+1λ×ctrirelevancei+1relevanceiλ×ctri +ctri+1ctri ×bidi+1

可以看出计费包括2部分:一部分是自然排序上的,一部分是广告上的。

如果我们去掉自然排序上的收费,就变成了GSP计费。 那么,【为什么在主流的广告平台上采用固定广告位时,不考虑自然相关性的问题,只考虑广告部分呢?是为了简化模型?还是固定广告位不需要考虑自然相关性?】【如果说固定广告位不需要考虑自然相关性,为什么我们混排时要考虑呢?】

在考虑自然相关性的情况下,我们分情况分析下计费公式。

1)如果第i+1位不是广告,bid就是0。

chargei===relevancei+1relevanceiλ×ctri +ctri+1ctri ×bidi+1relevancei+1relevanceiλ×ctri +ctri+1ctri ×0relevancei+1relevanceiλ×ctri

charge跟bid没有任何关系了。【λ的计算跟bid也没有关系,是根据保底价计算的】

  • 如果广告位置没有提升,relevance_{i+1} - relevance_{i}就是负值,charge就是负值。相当于不需要为广告掏钱,算非广告展现。
  • 如果广告位置提升了,relevance_{i+1} - relevance_{i}就是正值,charge就是需要为位置提升支付的钱。relevance的值对charge的影响很大。

2)如果第i+1位是广告,bid非0

公式转换

chargei===rankScorei+1(rankScoreiλ×ctri×bidi)λ×ctrirankScorei+1rankScorei+λ×ctri×bidiλ×ctrirankScorei+1rankScoreiλ×ctri+bidi

从公式可以看出,正常情况下,rankScore_{i+1} - rankScore_{i} 是负的,所以charge会比bid低。

看一下charge跟bid的大小,判断charge是否会出现比bid大的情况。

  • 如果2个广告的次序没有变化,relevance_{i+1} - relevance_{i}就是负值,整体的charge会比单独广告部分的charge低。极端情况整体charge会是0或者负的,相当于不用花钱。这个感觉不太合理啊。不知道这种极端情况出现的概率有多高。
  • 如果2个广告的次序发生了变化,relevance_{i+1} - relevance_{i}就是正值,整体的charge会比单独广告部分的charge高。

四、λ的计算

1、目的

    设置λ是为了控制广告对自然排序的影响,把λ设置比较小时,广告对自然排序影响小,设置大时影响大。

     那么λ设置成多大可以利益最大化,目前还没有好的算法。

2、当前策略

    当前的策略是人工设置广告提升的位次,然后根据提升位次来计算λ。比如说,整个序列中,所有广告最少提升4位(头部的除外)。

3、计算第一步

计算每个广告提升4位需要的λ。

位置排序是按rankScore,再看下公式

rankScore=relevanceScore+adScore=relevance+λ×bid×ctr

如果我们要把广告从 i 位置提升到 i-4 的位置,那么必须满足下面的条件

rankScorei4<rankScorei<rankScorei5

设置

rankScorei==rankScorei4+rankScorei52relevancei+λ×bidi×ctri

得到λ的计算公式

λ=====rankScorei4+rankScorei52relevanceibidi×ctrirankScorei4+rankScorei52×relevancei2×bidi×ctrirankScorei4+rankScorei52×relevancei2×bidi×ctrirelevancei4+λ×bidi4×ctri4+relevancei5+λ×bidi5×ctri52×relevancei2×bidi×ctri(relevancei4+relevancei52×relevancei)2×bidi×ctri+(bidi4×ctri4+bidi5×ctri5)2×bidi×ctri×λ

化简

λ=(relevancei4+relevancei52×relevancei)2×bidi×ctri(bidi4×ctri4+bidi5×ctri5)

1)如果 i-4 跟 i-5 位置上都不是广告,对应的bid就是0,那么公式简化为

λ=(relevancei4+relevancei52×relevancei)2×bidi×ctri

2)如果 i-4 跟 i-5 位置上有广告,那么λ会比非广告的情况大。目前线上都是当非广告处理的,为什么?因为这2个位置的广告会被提升走?

3)  另外,线上使用的保底价而不是bid,为什么?

     如果召回序列中只有1个广告主时,如果使用bid计算λ,λ跟bid成反比,rankScore是固定的,最后广告最多只能提升4位,广告主提高bid也无法提升广告的位置【与提高出价提高位置的目的冲突】。这种情况下,如果使用保底价计算λ,λ就是固定的,rankScore随bid增长【计算rankScore使用的bid】,所以广告主提高bid,广告的位置就会随之提升。

rankScore=relevanceScore+adScore=relevance+λ×bid×ctr

    也可以这样理解保底价意图,如果广告主的bid出价跟保底价相同,那么给你提升4位,出价越高,位置越高。

4、计算第二步

根据每个广告计算得到的λ,得到一个整体的λ。计算办法包括:最大值、平均值、中位数。

1)如果取最大值会怎么样?

     如果λ取最大值,那么大家都至少提升4位,有点可能会提高非常大。

2)如果取平均值会怎么样?

3)如果取中位数会怎么样?

5、线上数据分析

### 回答1: "Consensus based auction"算法是一种基于共识原则的拍卖算法,主要应用于资源分配和定价等领域。它基于拍卖参与者之间的协商和合作,通过共识达成一个公平、高效的最终交易结果。 该算法的主要步骤如下: 1. 拍卖规则设定:确定拍卖的目标、规则和要求。例如,确定拍卖的竞标周期、出价方式、底价和加价幅度等等。 2. 参与者注册:潜在的竞标者根据规定的流程进行注册,提供必要的证明和资格文件,以确保其合法性和资格。 3. 信息公开:拍卖场次前,拍卖主办方将拍卖物品的详细信息公开,包括物品的描述、数量和质量等,以供竞拍者了解。 4. 共识达成:拍卖参与者通过协商、竞争和合作进行交流,以达成共识,并确定最终的拍卖价格和交易结果。这个过程中,可能会有不同的议价和谈判,最终通过协商达成一致。 5. 交易确认:一旦达成共识,确认拍卖结果并正式确定交易。参与者需要按照约定的方式支付款项或交付商品。 通过共识协商的方式,"Consensus based auction"算法可以在保证公平性的前提下,提高拍卖过程的效率和可靠性。它强调参与者之间的合作和对等,避免了传统拍卖中潜在的不公平或失衡。此外,该算法还可以降低信息不对称和操纵市场的风险,有利于形成一个稳定和可持续的拍卖市场。 总之,"Consensus based auction"算法是一种以共识为基础的拍卖算法,通过竞争、协商和合作达成共识,从而实现资源分配和交易定价等目标。它在确保公平和高效的同时,还能降低信息不对称和市场风险,为拍卖市场的发展带来新的可能性。 ### 回答2: consensus based auction算法是一种拍卖算法,它基于共识机制来使参与者达成一致的决策。这种算法的目标是找到最佳的拍卖结果,同时确保公正性和公开性。 在consensus based auction算法中,参与者通过投标来竞争拍卖物品。算法通过建立参与者之间的共识,以确定最终的中标者和价格。这种算法通常包括以下步骤: 1. 参与者注册:拍卖开始前,参与者需要注册并提供必要的信息,如身份验证和信用证明。这样可以确保参与者的合法性和可靠性。 2. 投标信息提交:参与者根据拍卖规则和要求,提交他们的投标信息。投标信息通常包括所期望的价格、数量和其他相应的规定。 3. 共识建立:算法会根据参与者的投标信息来建立共识。共识的建立可以通过不同的方式实现,如加权平均、多数表决等。这个步骤的目的是找到最适合的投标结果。 4. 中标者确定:根据共识建立的结果,算法会确定中标者。通常情况下,得分最高的参与者将成为中标者。这个步骤确保了拍卖结果的公正性。 5. 价格确定:在确定了中标者后,算法会确定最终的拍卖价格。这个价格通常是基于中标者的投标信息和其他因素来计算的。这个步骤保证了拍卖结果的合理性。 通过consensus based auction算法,参与者能够通过竞争来获得他们所需的拍卖物品,并确保公平公正的结果。这种算法用于各种拍卖场景,如商品拍卖、股票拍卖等。它提供了一种高效、公正和透明的方式来进行拍卖,并满足参与者的需求。 ### 回答3: Consensus based auction 算法是一种基于共识的拍卖算法。在传统的拍卖中,卖方通过公开竞价的方式出售商品或服务,买方竞相出价,最终以最高价者取得拍卖品的所有权。而在共识拍卖算法中,拍卖的结果不仅由最高价决定,还需要多方参与者的共识达成。 共识拍卖算法的实现过程可以分为以下几个步骤: 1. 参与者注册:拍卖的参与者通过注册进入拍卖系统,系统会为每个参与者生成一个唯一的身份标识。 2. 出价提交:参与者可以通过拍卖系统提交自己的出价,包括所出价格和所拍商品的标识。提交的出价信息会被系统进行记录,但不会公开显示。 3. 共识达成:在共识拍卖中,除了最高价,还需要多方参与者的共识达成。这可以通过一些算法或机制实现,例如加权平均法、差异最小化法等。共识的结果将作为决定拍卖结果的重要参考。 4. 拍卖结果确定:根据共识的结果和最高价,拍卖系统确定最终的拍卖结果。通常情况下,最高价者仍然会获得所拍商品的所有权,但如果共识结果对最高价者的出价有所调整,可能会调整最终结果。 共识拍卖算法的优势在于能够更加公平和公正地确定拍卖结果。它考虑了多方参与者的意见和利益,减少了一次性高价对于拍卖结果的过度影响,使得拍卖更加平等和透明。同时,共识拍卖算法也可以防止作弊和操纵市场价格的现象发生,确保拍卖的公平性和效率性。 总的来说,共识拍卖算法是一种注重参与者共识的拍卖方式,通过多方参与者的意见达成共识,实现更加公平、公正和透明的拍卖过程和结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值