广告重量,给广告商一块公平的蛋糕

时间:2014-11-11 09:42:58

标签: php mysql laravel eloquent advertising

对于我目前参与的项目,我们有一些精选的广告客户'可以添加'优惠'我们的网站显示在其他产品周围,有时与客户/买家正在查看的页面相关。

当前的广告系统是完全随机的,除了尝试定位特定产品外,没有任何偏好。因此,如果supplier1有9个广告,supplier2有1个广告,那么supplier1可以获得更好的价值,因为它们会在10次中显示9次。

我们希望如何更改此系统,以便supplier1supplier2在技术上可以相互获得相同的曝光率,无论他们在系统中拥有多少广告。

你怎么建议我尝试接近这个?我在StackOverflow上看过广告权重系统;然而,他们似乎与群体无关。

1 个答案:

答案 0 :(得分:0)

SELECT *
FROM advertisments a
INNER JOIN
(
  SELECT * FROM suppliers ORDER BY RAND() LIMIT 1
) s ON a.suplplier_id = s.suplplier_id
ORDER BY RAND()

此查询首先随机选择一个供应商(例如,每个供应商都有相同的机会)(哦,但如果有供应商没有任何广告,您应该过滤掉它们),然后它只获得该用户的广告(即INNER JOIN如何工作)并随机命令