星 光 大 道 抽 奖 提升日活 抽奖动 客 服...

微信平台抽奖算法总结-再也不用怕奖品被提前抢光
- 轩枫阁 - 前端开发 | web前端技术博客
/ 微信平台抽奖算法总结-再也不用怕奖品被提前抢光
阅读:5214
作者:ivan
但凡商户搞点营销活动,为了能触达更多的顾客,来点儿抽奖的把戏,应该是极好的,什么“刮刮乐”、“砸金蛋”、“大转盘”等等,换汤不换药,屡试不爽。从微客多营销平台各种活动的使用情况也能看出,抽奖活动一直是商户用得最多的线上活动,正所谓无利不起早,给点“花蜜”犒劳下“蜜蜂”也是应该的。
那么问题来了,发奖机制怎么玩?作为一个服务商户的营销平台,怎样将商户配置的奖品发出去才能起到比较好的效果呢?
先来看目标,什么是比较好的效果,也就是用户(商户)的需求是什么:
抽奖活动期间奖品数量是固定的
稀有的奖品尽量靠后被抽中
物尽其用,奖品不希望有剩余
每个奖品可以设置被抽中的概率
为了讨论方便,我们先把场景假设一下:
抽奖活动时间:
00:00:00-23:59:59
奖品设置:
第一种能想到的做法就是给每种奖品设置中奖概率,每次按设置好的中奖概率派奖,但是问题又来了:
奖品数量固定,但是参与抽奖的人数不可预知,根本无法控制奖品的消耗速度,如果概率设置高了,抽奖者一拥而上奖品很快就没了,设置低了,奖品可能到最后都发不完。另外,概率这个偏技术的术语用户理解起来肯定五花八门,使用时沟通成本非常高。
而实际上“每个奖品可以设置被抽中的概率”是个十分模糊的说法,说它模糊,主要是因为你并不知道这个设置的概率用在什么地方,这些概率设置需要满足什么条件,总样本数量(总抽奖次数)是多少。
所以最好的做法应该是用户不必关心所谓的“奖品被抽中的概率”,只关注前三个预期效果即可。
经过分析,我们发现,要达到用户上面的那三个效果,只要奖品在活动期间陆续被抽走即可,那能不能给每件奖品设置一个允许被抽走的时间呢?对!如果控制好每件奖品的发放时间点,再安排好各类奖品的发放顺序,大奖不会一开始就抽走,直到活动最后阶段都能保证有奖。
顺着这个想法,我们来看具体的设计:
将奖品均匀地埋在整个活动时间(00秒)里,如上面假设场景,一共有9个奖品,则把活动时间均匀的分成9份
以奖品剩余数量作为权重,陆续随机选择每个时间段里的奖品类型(颜色对应的奖品见上表)
在每个时间段里随机选择奖品的“释放”时间点,一是为了均匀,二是避免直接暴露精确的时间点
releaseTime(n)=startTime+(n-1)× ?t+random(?t)
说完思路,我们再看实现:在奖品释放时间点之后的抽奖用户就有机会(这个概率可配置,如100%或者80%)拿到该时间段的奖品,如果奖品未被抽走,将继续等待抽奖者的到来。
直观的做法是建立三张表
t_award_batch(奖品描述表,用于记录各种奖品的配置信息),
名称(name)
奖品总量(amount)
t_award_pool(奖池表,用于生成每一次奖品释放的时间点),
奖品ID(award_id)
释放时间(release_time)
剩余数(balance)
t_record(抽奖记录表,用于记录每次抽奖者的抽奖记录)
奖品ID(award_id)
中奖时间(hit_time)
用户ID(owner_id)
活动开始前,根据t_award_batch中的奖品配置信息,初始化t_award_pool中的数据,把每种奖品的释放时间初始化好,用户来抽奖时,根据当前时间在t_award_pool表中的查询到一条已经释放而且未被抽掉的奖品
select id from t_award_pool where release_time &= now() and balance & 0 limit 1 ;
查询到后对其进行更新,如果被他人抢走,则未中奖
update t_award_pool set balance = balance - 1 where id = #{id} balance & 0 ;
同时留下抽奖情况到t_record中。
在思路一中,为了方便抽奖时判断当前是否有可中奖品,进行了初始化每件奖品的释放时间,当奖品数量比较小的时候,情况还好,对于奖品数非常多的时候,抽奖的查询耗时会增加,初始化奖池也是耗时的动作,是否可以不依赖这个表之间通过实时计算判断当前是否有奖品释放。
在t_award_batch表中添加两个字段,奖品总剩余量balance和上一次中奖时间last_update_time。
名称(name)
奖品总量(amount)
奖品余量(balance)
更新时间(last_update_time)
这样具体实现上仅需要依赖奖品配置信息即可,示例代码如下(点击图片全屏查看):
其中awardBatch表示一类奖品,如上表中提到的一等奖。上面代码中,随机选出下一个待释放的奖品逻辑如下:
通过这套发奖机制,很好地满足了营销商户的目标,同时减少了对复杂概率计算的纠结,再也不用担心奖品被提前抢光了。
转载自: | KM平台
纸飞机许愿
前端路上,一路有你。编辑你的正能量,快乐工作,努力生活~
请选择弹奏的曲谱
点击开始录制,可以录制弹奏的曲子
分享钢琴节奏:整理日期文章标题英雄联盟抽奖活动2015 抽永久皮肤需要技巧
来源:&&&& 时间: 10:33 &&&& 作者:史努比&&&& 访问量:20839&&&&
  今天是12月4日,英雄联盟抽奖活动2015
持续到今天是第5天,小伙伴们杀了一波又一波,终于摸索出一些抽奖技巧,抽奖中奖励最好的就是永久皮肤了,怎么才能够比较高概率抽到永久皮肤呢?
  英雄联盟抽奖活动2015简介:
  英雄联盟抽奖活动2015网址:http://.qq.com/act/aorianna/index.htm#rules
  英雄联盟抽奖活动分为两个步骤进行,首先玩家进入页面之后要先充值钻石,游戏里面累计的钻石没用,充值的时候是按照50个钻石的倍数来充值的,根据一块钱兑换10个钻石来换算的的话,玩家至少要充值50钻石,也就是5元才可以获得抽奖机会。
  充值完钻石之后要兑换皮肤,然后就可以参与抽奖了,兑换皮肤的时候也会送魔偶,抽奖的时候分为单抽和十连抽。
  抽永久皮肤需要技巧
  想要抽到好东西,需要一些技巧,冰雪魔偶中有兔女郎、提莫和各种限定皮肤,还有一些玩家很经常用到的亚索、锐雯等皮肤,总的来说玩家可以通过冰雪魔偶来扩充自己的皮肤库。冰雪魔偶的一般多能够抽到想要的皮肤,顶级皮肤不容易抽到,但也不容易亏本。
  尊金魔偶抽到好东西的概率比较高,不过抽奖成本高,抽到渣渣的概率也很高,按照平均水平来的看的话,尊金魔偶没有冰雪魔偶实惠,不过皮肤很多的小伙伴们可以尝试尊金魔偶,碰运气,或许可以抽到顶级皮肤。
  最佳抽奖方式是早上10点到11点之间,冰雪魔偶十个连抽,一般可以抽到6款不错的皮肤,运气好一点估计会有惊喜。
微信扫一扫-礼包攻略通通到手
微信扫一扫关注琵琶网公众号:
1.扫描二维码或搜索微信号,关注“琵琶网手游”;
2.回复“英雄联盟LOL”,即可查看英雄联盟LOL最新礼包和资讯;
还没关注的小伙伴,赶紧扫一扫吧~
手机浏览器扫描-免费领取礼包
扫描二维码下载大手礼包APP:
1.搜索“英雄联盟LOL”,免费领取英雄联盟LOL最新礼包;
2.订阅“英雄联盟LOL”,随时掌握礼包动向;
3.许愿“英雄联盟LOL”礼包,我们帮您实现;
4.大手礼包下载:
1952782人下载
扫描***到手机
4321844人下载
扫描***到手机
4013932人下载
扫描***到手机
33262人下载
扫描***到手机
17474人下载
扫描***到手机
1560302人下载
扫描***到手机
731605人下载
扫描***到手机
95979人下载
扫描***到手机
9986人下载
扫描***到手机
730782人下载
扫描***到手机
8453人下载
扫描***到手机
8567人下载
扫描***到手机
457513人下载
扫描***到手机
712449人下载
扫描***到手机
19942人下载
扫描***到手机
37385人下载
扫描***到手机
20530人下载
扫描***到手机
22683人下载
扫描***到手机
4321836人下载过
4013922人下载过
1952771人下载过
1923482人下载过
1426746人下载过
1222368人下载过
943554人下载过
733906人下载过
633937人下载过
54644人下载过
英雄联盟LOL - 游戏下载
安卓版下载:
苹果版下载:
温馨提示:如果苹果正版点击没反应,请用手机扫描下载~

参考资料

 

随机推荐