抽奖活动实现思路

前言

以奖品有三类为例,分别为A、B、C,库存分别为a、b、c;

方案一:每类奖品当前剩余库存的量越大,则被抽中的几率越高;(中奖几率与库存相关)

中奖几率与库存相关,无法区分一等奖二等奖三等奖。
只有全部库存都为0的时候,才会出现未中奖的情况。
当某类奖品足够多的时候,几乎只会抽到该奖品;随着抽奖的进行,库存逐渐平衡,各个奖项的中奖几率基本一致。

1.初始每个奖品被抽中的几率为:对应奖品类的库存/总库存 %;如A类奖品,则每个A中的奖品被抽中的几率为:a/(a+b+c) %,其他类同;
2.每被抽走一个奖品,即该类奖品库存将减1,总库存-1,相应几率会随库存变化而变化;如B类被抽走的数量为 n,则A或C的几率:a或c /(a+b+c-n) %,B的几率:b/(a+b+c-n) %;
3.只要有奖品库存,就可以继续抽奖,只有全部库存均为0后,才会出现‘未中奖’的情况;
4.当某类奖品足够多的时候,几乎只会抽到该奖品;
5.较多库存奖品被抽中的几率很高,随逐渐抽奖,库存逐步平衡,各类奖品的被抽中的概率会基本一致;
6.靠库存计算中奖几率,不会区分奖品等级(如一二三等奖)。

方案二:单类奖品的中奖几率保持恒定,可区分奖品等级;库存为0才会出现‘未中奖’

1.只要有库存,就可以继续抽奖,只有全部库存均为0后,才会出现‘未中奖’的情况;
2.在配置中设定每类奖品的中奖几率,所有奖品的中奖几率之和等于100%,即中奖结果在所有奖品中发生;如设定A、B、C的中奖几率分别为:60%、30%、10%;
3.当某类奖品被抽完后,则其他奖品的按原中奖几率等比例转化;如a=0,则B的中奖几率:30%/(30%+10%)=75%,C的中奖几率:10%/(30%+10%)=25%;

方案三:每类奖品有独立的中奖几率,且保持恒定,可区分奖品等级;库存不为0会出现‘未中奖’

如 单独一个池子中,A的中奖几率为60%,则‘未中奖’情况的几率则为40%;
单独一个池子中,B的中奖几率为30%,则‘未中奖’情况的几率则未70%;
若将A和B的池子放在一起,则A的的中奖几率为60%/(100%+100%)=30%,B的中奖几率为30%/(100%+100%)=15%,‘未中奖’情况的几率为(40%+70%)/(100%+100%)=55%;

1.无论是否有库存,都可以一直抽奖,且肯定会出现‘未中奖’的情况;
2.当某类奖品的库存为0后,仍然可以抽中该类奖品,但状态为‘无库存’;
3.每增加一类奖品,则计算公式的分母增加100,奖品种类越多,则每类奖品被抽中的几率越小;
4.该类方案中,100%的几率需特殊设定逻辑。

来源:https://www.zhihu.com/question/20317706/answer/254426210

猜你喜欢

转载自blog.csdn.net/yzx3105/article/details/129996992