2020-05-20 群组分佣的设计

记录一下新解决的群组分佣问题,我觉得挺有价值:

需求

  1. 群组系统中,用户是被邀请进来,有层级关系


    1
  2. 按上图,E消费后,A、B、D、E都会有返佣,但是返佣总额是固定的,设为Bonus。
    3.上级设置下级获取的比例,比如:A设置B获得A所得的0.9,B设置D获得B所得的0.9,D设置E所得的0.6.


    2

思路

实际上要计算出每个用户实际占用Bonus的百分比,最后可以通过总体值比例计算。

我设计的数据库表包括《组织表》,组织表记录了组织id、组织boss,组织总体分佣比例(通过组织用户消费额度乘以比例计算Bonus)


3

《上下级分佣关系表》记录了上级id,下级id和分佣比例。


4

例子,E消费后获得了Bonus的奖励,设置Bonus为1,那么层级中每个用户实际占用Bonus的百分比是多少?
实际上就是要把数据库表进行这个关系转换:


5

这个关系的递推公式是怎样的?我当时是用归纳法推导出来的。

A所得 = Bonus * (1-A下级比例所得)= 1 * (1-0.9)=0.1
B所得 = Bonus * A下级比例所得 *(1-B下级比例所得)= 1 * 0.9 * (1-0.9) = 0.09
C所得 = Bonus * A下级比例所得 * B下级比例所得 * (1-0)= 1 * 0.9 * 0.9 

C这里因为不用分到下级,所以不用减去D下级比例所得

有了这个递推公式,可以用一个循环,把相应的关系占比算出来。

总的来说,通过结果倒推的方式可以把问题进行解决。

再次确认一下思路,为了简单说明,只有一个比例n

  1. A是BOSS,A邀请了B,B邀请了C,C邀请了D。

  2. 假设 B 能分到A所得的0.9,C能分到B所得的0.8 ,D能分到C所得的0.7

3.D进行消费,获得相应奖励,另外分佣部分为 1 ,1通过比例分给D的直属上级 A、B、C。

  1. 通过比例计算,A获得分佣为0.1 B获得的分佣为0.18 C分到0.72
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容