为什么你总是不中奖?谈谈抽奖类产品的概率设计
为什么你总是不中奖?来跟我一起看看抽奖类产品的概率设计~
平心而论,你有没有觉得很多抽奖活动根本就是骗人的?反正没抽中我,我就感觉是骗人的。
其实也不怪大家会有这种感觉,因为抽奖的概率基本上对用户来说是黑盒,你完全不知道程序到底做了什么。因此才会有某某公司年会抽奖现场审查代码的桥段,即使自己公司的人,也不相信这抽奖代码没问题,更别说素不相识的用户了。
那么,除了那句冷冰冰的“该活动最终解释权归 xxx 公司所有”之外,我们还能否了解更多关于抽奖逻辑的信息呢?答案是肯定的。
本文中姬小光将向大家展示,一些基本的概率设置以及可能出现的”潜规则“,就算找客服也可以聊得明明白白。
一、简单的抽奖
抽奖的基础依赖一个随机数,确切地说是伪随机数,即并非真正的随机。但是在统计学意义上,具有足够的不确定性,所以可以当作随机数来用。那么,假设我们有 5 个奖品,则使用程序语言抽取 1-5 之间的随机数: rand (1, 5)
那么得到的结果,一定是 5 个奖品中的一个,并且概率均为 1/5。
这个例子比较简单,只是让大家了解抽奖的基本原理。这个逻辑是最简单直观不容易掺假的,因此,如果年会一定要看着代码抽奖,那么就用一个简单的随机数算了,把全公司的人丢进去随机即可,至少看起来很公平。
二、增加奖品
按照简单抽奖的逻辑,如果需要增加奖品,只需要将随机数的范围加大即可,比如奖品数变为 10 个,则从 1-10 中取随机数: rand (1, 10)
这样每个奖品被抽中的概率就是 1/10:
三、非必中
前面展示的都是必中的逻辑,注意,只是逻辑上的必中,实际的抽奖还会发生很多状况。
那么,如果不希望所有人都中怎们办?只需要中间的某个坑位当作“谢谢参与”即可。同样,此时“谢谢参与”的概率也是 1/10。
你还可以把更多的坑位当成“谢谢参与”:
但是抽奖的 UI 上,如果有多个“谢谢参与”可能会引起用户的不满。因此我们需要的是,“谢谢参与”只占一个坑位,但是被抽中的概率可能非常非常大。
四、调整概率
目前,我们的随机数是限定区间内的整数,刚好可以和第 N 个奖品对应,概率只能平均分布。那么如何让 90% 的人都抽到“谢谢参与”呢?
假设我们仍然是 10 个坑位,其中一个是“谢谢参与”。想象随机数区间是一把长度为 10 厘米的尺子,我们要做的,就是把 9 个奖品都放在尺子的第一格,只有随机数为 1 的才能中奖,其余都是“谢谢参与”。这样就做到了 10% 的人中奖,90% 的“谢谢参与”。
那么问题来了,9 个奖品都在第一格,抽中了给哪个?
按照之前的思路,这个问题也很好解决,想象 10 厘米的尺子上面有毫米刻度,即 100 毫米。那么第一个厘米格内就又有 10 格,可以将其中 9 个分别分配给 9 个奖品,剩下一格也作为“谢谢参与”。最后得到的就是 91% 的“谢谢参与”和 9% 的中奖。
当然,你也可以把两格都分配同样的奖品,或者准备 10 个奖品放在第一格,就仍然是 90% 的“谢谢参与”和 10% 的中奖了:
按照这个思路,我们可以把尺子拆成 1000 个单位,10000 个单位,以此来精细控制抽奖概率。
五、百分比概率
等等,概率不应该都是百分比吗?
这个看不懂啊……假设程序产生的伪随机数是均匀分布的,那么,我们可以很容易地将百分比转换为区间使用。假设总区间有 10000 个单位,那么某奖品设置 5% 的中奖概率,即相当于把奖品放在 1-500 的格子内:
六、库存控制
前面讲了基本的概率设置,那么如果用户抽到了包含奖品的格子,但是奖品没库存了怎么办?两个选项:
- 通知用户未中奖;
- 如实通知用户奖品无库存。
显然,第一个选择要更好一些,因为抽奖过程是黑盒,用户不知道是因为概率没抽中,还是什么其他原因。但是你如果告诉用户抽中了,却通知用户没有库存,这就很难接受了,除非你有后续补货给用户的流程。
七、其他异常
与库存类似,抽奖过程还可能出现其他异常,也只能通知用户未中奖:
八、百分百中奖
运营活动中经常希望实现百分百中奖,以此作为噱头吸引用户。但现实中可能有如此确定之事吗?
当然不能。想象一种场景,用户刚刚点击了抽奖,但是用户的网络断了,那么这时候服务器是没有收到请求的。假设你的抽奖 UI 是个转盘,360 度无死角全都是奖品,那这种情况下指针停到哪里呢?隐藏?还是告诉用户系统出错了,本次抽奖作废?
如果不想有这些糟糕的体验,那么也有两个选项:
- 不告诉用户出问题了,指针停到最小奖品;
- 预留“谢谢参与”放弃百分百中奖噱头。
选项 1 的体验无疑是最好的,那么你要接受的就是,用户拿着手机截图过来要奖品,你只能认。因为你服务器没有任何记录。如果恶意用户发现这个可行,找一群人拿截图要奖品,就比较麻烦了。当然,最小奖品也可以是无价值的卡券,比如需要消费才能使用的优惠券,就不怕了。
选项 2 是推荐的方案,不如直接放弃百分百的噱头,就像话不能说得太死一样,活动规则设置也要留有余地。
九、抽完奖品
有些时候,我们的预算是固定的,不花白不花,因此就需要有足够的人把奖品抽完。在概率一定的情况下,假设我们有 100 件奖品,中奖概率是 10%,那么理论上只需要 1000 左右的人即可抽完。但概率毕竟是概率,只有重复抽奖的次数足够多的时候,才能接近理论值。因此,严格来说,这种固定的概率设置不太可能把奖品抽完。
那么调高概率是不是就很容易被抽完呢?
也不一定,假设有 100 件奖品,设置了 99% 的中奖概率,但是只有 50 个人参与了活动(太惨了吧),也还是抽不完。所以,如果一定要把东西都送出去,我们就需要动态地调整抽奖概率。
十、动态调整概率
所谓动态调整,就是根据活动参与情况,奖品库存情况,是否有薅羊毛等异常情况,以及其他一些特殊情况来实时调整抽奖概率。
大致可以分为三种类型:
1. 快快抽完
如果希望奖品尽快被全部抽完,那么假设活动时间都过了一半,奖品还剩下很多,则说明最初的中奖概率设置过低,要适当调高概率。可以直接调高某个奖品的概率,也可以将库存耗尽的奖品的概率区间平摊给其他奖品。比如:总共 6 个奖品,其中一个中奖率为 10% 的奖品无库存,那么可以让其他 5 个奖品每个增加 2% 的中间概率,覆盖这部分无库存的区间。
2. 慢慢耗你
按照 1 的逻辑,如果不小心把概率调高了,活动还剩下一周的时间,可是奖品没了,也是很尴尬的。所以作为运营,最稳妥的方式还是慢慢耗,保证奖品以相对稳定的速率消耗,才能保证活动的持久性。因此,某个固定奖品数量的抽奖活动的开始和结束时间附近,可能更容易中奖。
3. 紧急刹车
我们搞运营活动,总是难免遇到一些异常情况,比如忽然出现的羊毛党。那么此时,对于高价值的奖品,最好有个紧急的开关,可以直接拦截恶意操作。比如微信发放红包的接口,就需要可以快速关停的功能。
这里出于安全考虑,最好是有系统的判断逻辑,如果等运营人员发现之后手动修改概率或开关,可能就来不及了。当然,这里可以设置多道防线,比如微信商户后台可以每天只充当天的预算金额,大不了薅掉两百块。
不管是哪种策略,其实都是要维护参与人数与奖品库存、概率三者的平衡,才能让抽奖活动稳定进行。
目前为止,我们讲的都是诚实可信的良心活动,那么如果这个抽奖活动完全是空手套白狼,没有奖品,我们有什么办法呢?没有,毕竟最终解释权归 xxx 所有。
小提示:商家在活动页面写这句话是不具有法律效力的,还可能被行政处罚,具体原因请见相关法律法规。
“经营者向消费者提供商品或者服务使用格式条款、通知、声明、店堂告示等的,应当以显著方式提请消费者注意与消费者有重大利害关系的内容,并按照消费者的要求予以说明,不得作出含有下列内容的规定:… (六)规定经营者单方享有解释权或者最终解释权;……”
——《侵害消费者权益行为处罚办法》第十二条
十一、默认奖品
有时候,虽然系统出现异常,或者某些奖品无库存,但我们并不希望当前这个用户抽到“谢谢参与”。为了不让用户失望,我们可能会设置一个默认奖品,即当系统出现问题,或者某个奖品无库存的时候,自动发放这个奖品。那么这个奖品,除了基本的中奖概率设置外,还要保证充足的库存,如果这个也没库存了,那就还是落到“谢谢参与”。
十二、必中奖品
对于经常参与抽奖活动的用户,你一定不想让 TA 失望。在用户抽了很多次都没中的情况下,我们可能想安抚一下用户,主动给用户派发某个奖品。这里,就需要记录用户的未中奖次数,累加到我们规定的数值时,即可发给用户某个奖品,然后再将累加记录清零即可。
十三、提高个别用户的概率
如果经常参与的用户太多,可能必中逻辑也扛不住,那么可以考虑只是增加特定人群的概率,姑且称之为“概率膨胀”吧。那么按照前面散落区间的理论,假设整体的区间为 1-10000,而用户抽到了随机数 9296,刚好落在了“谢谢参与”。
那么概率膨胀要做的就是,把用户的随机数两侧扩充一定的范围,看扩充后的范围能否命中某个奖品:
十四、降低个别用户的概率
提高概率相对容易,只是把单点的随机数,扩充为区间即可。那么,要想降低某个用户中奖的概率该怎么办呢?用户的随机数是没法改变了,也就是说,用户已经站在了那个点不动了。
这时系统有三种选择:
- 大奖换小奖;
- 缩小奖品的中奖区间;
- 不给中奖。
综合考虑平台对用户的定性,是黑名单不允许中奖,还是其他原因降低概率,然后分别采取这三种措施即可:
十五、没有奖品的抽奖概率
对于没有奖品的抽奖,目的一般有三种: 促活;消耗积分等资产;搜集用户资料 。
既然没有奖品,那么也没什么概率了,所有都返回“谢谢参与”即可。这种活动属于欺骗消费者,但是往往很难取证,因此才有第三方的代码 review 公司,可以审查运营活动的代码,并出具证明。实际操作起来还是有很多问题要解决的,比如审查到哪个版本,如果继续迭代发布如何处理等等。
好了,以上就是关于抽奖概率的全部,我们可以总结一下你不中奖的原因大概有:
- 没有奖品;
- 抽到了没库存的奖品;
- 系统故障;
- 干过坏事被拉黑;
- 真的没抽中。
综上所述,没抽中可能有多种原因,但是归根结底,还是 运气差了些 。不过,起码看完本文之后应该可以心理平衡一些了。
作者:姬小光,微信公众号“姬小光(ID:hi-laser)”
本文由 @姬小光 原创发布于人人都是产品经理。未经许可,禁止转载。
题图作者提供
作者暂无likerid, 赞赏暂由本网站代持,当作者有likerid后会全部转账给作者(我们会尽力而为)。Tips: Until now, everytime you want to store your article, we will help you store it in Filecoin network. In the future, you can store it in Filecoin network using your own filecoin.
Support author:
Author's Filecoin address:
Or you can use Likecoin to support author: