为什么你总是不中奖?谈谈抽奖类产品的概率设计
为什么你总是不中奖?来跟我一起看看抽奖类产品的概率设计~
平心而论,你有没有觉得很多抽奖活动根本就是骗人的?反正没抽中我,我就感觉是骗人的。
其实也不怪大家会有这种感觉,因为抽奖的概率基本上对用户来说是黑盒,你完全不知道程序到底做了什么。因此才会有某某公司年会抽奖现场审查代码的桥段,即使自己公司的人,也不相信这抽奖代码没问题,更别说素不相识的用户了。
那么,除了那句冷冰冰的“该活动最终解释权归 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)”
本文由 @姬小光 原创发布于人人都是产品经理。未经许可,禁止转载。
题图作者提供
不同人群设置的不同奖品不同中奖概率,这种需求的设计怎么做比较合理?
假设有 100 件奖品,设置了 99% 的中奖概率,但是只有 50 个人参与了活动(太惨了吧),也还是抽不完?
系统出故障,是系统给券,还是人工给
看完之后觉得大佬可以在写一遍,围绕如何设计中奖规则来拉新促活,中奖其实是一种手段,任何一个产品或者运营方法的一种,例如微信的抽奖助手其实的个人设计的,并不是微信官方
感谢留言!抽奖助手是冯大辉的无码科技出品。中奖规则这个我觉得如果是单次的抽奖基本还是靠奖品的吸引力,其他的都是融入社交因素,通过各种玩法鼓励分享裂变达到的目的,所以重点变成了裂变的玩法。
作者写这么多方法都是运营经验呀,学习学习
感谢
对于抽奖的东西,只抽有保底的 … ➡
哈哈,系统上的保底是应对那种网都断了的情况的,不过运营上也好处理,准备个低成本甚至无成本的券,只要有截图就给,不用去数据库校验真实性。