引言
可能是我后知后觉到一个境界,最近对“积分墙”这种在去年、前年闷声发大财的项目做了一些研究。
于是决定自己设计一套积分墙的推广系统和扣量算法。
积分墙是什么?推广系统又是什么?
这里我就不多浪费口水了,百度百科给出了以下精准且简洁的回答:
“积分墙”是在一个应用内展示各种积分任务(下载安装推荐的优质应用、注册、填表等),以供用户完成任务获得积分(佣金)的页面。
在移动互联网时代,应用想要达到一定的下载量,很多时候都会使用积分墙。
而积分墙的用户普遍是一些喜欢用时间换成金钱的薅羊毛用户,那么显然,使用类似传销的推广系统便最适合积分墙自身的扩展方式。
积分墙的推广系统原理是:
“当一个邀请人成功邀请了一个被邀请人,那么被邀请人以后在积分墙中的赚钱行为,其邀请人均可获得一定百分比的额外奖励。”
根据以上原则,我们如何设计这套系统呢?
推广系统设计
推广身份
在积分墙的推广系统中,根据需要,一般刚开始过来的用户,或者在活动中获得奖励的用户,都会给予特殊的推广身份以及更高的初始奖励比例,所以我们首先需要在用户注册成功的一瞬间,就赋予其推广身份。
那么,我们就需要以下一张推广身份表来记录用户推广身份。注册成功后,都会插入如下一条明细:
属性 | 释义 |
---|---|
UserId | 用户ID |
推广状态 | 大使/普通,默认为普通,可后台编辑 |
初始奖励比例 | 默认10%,可后台编辑 |
推广关系
通过“推广身份”的确定,我们就可以确定一个邀请人在一对推广关系产生时所需要扮演的角色。并进行如下操作:
当一个用户在注册时,在“邀请人”一栏中填入了其邀请人的ID,那么一对推广关系宣告诞生,需要根据邀请人的推广身份插入如下信息,以定义邀请人能拿到的佣金比例:
属性 | 释义 |
---|---|
邀请人uid | -- |
被邀请人uid | -- |
关系类型 | 衰减,稳定;当邀请人的用户推广身份为“大使”,关系类型将倍定义为“稳定”,反之为“衰减”;可后台编辑 |
实际奖励比例 | 从推广身份中“初始奖励比例”获取,可后台编辑,衰减规则下详 |
创建时间 | 徒弟注册时间 |
推广佣金的发放
通过以上两步的积累,我们就可以得出在被邀请人完成积分任务后需要给邀请人的佣金金额。
不过我们还需要考虑方法时机,如果在被邀请人完成积分任务的一瞬间立刻发放邀请人佣金,那么则会对服务器产生压力,量大了以后还会有各种并发问题。所以我们选择,在每日的凌晨,给前一天完成任务的所有被邀请人的邀请人统一发放佣金。
日任务内容如下:
有任务状态更新为“已完成”,则在“推广关系”表中查找是否有“被邀请人id”为任务完成人。如果有,则向他们的“邀请人id”的资金流插入如下明细:
- 目标账户:邀请人佣金账户。
- 收支类型:收入
- 金额:任务佣金 * 推广关系.实际奖励比例
衰减规则
因为考虑到成本控制的原因,我们不可能永远给一对推广关系的邀请人发放佣金,我们需要在半年后,不再给这对关系的邀请人发放佣金。所以我们需要一套衰减机制,同样以日任务形式完成:
当发现有“推广关系.关系类型”为“衰减”,且“推广关系.创建时间”超过6个自然月,则“推广佣金比例.实际奖励比例”-10%,衰减至0%后将不继续衰减。
当然,我们还需要照顾到运营方,出于做活动时给外面发放的大使身份而产生的“稳定”推广关系,做出如下规则:
当“推广关系.关系类型”为“稳定”则不做操作。
扣量算法
同样因为成本控制的原因,我们不能将所有的佣金都发放给邀请人,所以扣量算法应此需求而生,我们需要在佣金发放执行前,完成扣量,并予以记录。
流程
Paste_Image.png注:筛选器的设计下文将详细解释
属性
经过扣量算法,确认一条为扣量明细,则记录如下明细:
属性 | 释义 |
---|---|
邀请人ID | 扣量影响的用户ID |
被邀请人ID | 记录任务完成人ID |
任务ID | 所属任务号 |
订单完成时间 | - |
金额 | 推广佣金金额 |
明细创建时间 | - |
筛选器
筛选器存在的目的,就是要让量扣的自然,很难被发现,所以我们需要以下三个条件完成筛选器。
白名单
邀请人ID在白名单内,该ID下的推广资金明细将不参与扣量,可在后台界面中调整。
筛选方法
- 推广关系确立后的前10条推广资金明细将不参与扣量
- 推广资金明细中,金额在3元以上的明细将不参与扣量
筛选比例
为一个百分比数值,排除掉“白名单”和“筛选方法”中的明细后,将使用该数值随机寻找对应数值条数的明细,放入筛选结果中。该数值可在后台界面中调整。
执行流程
Paste_Image.png总结
至此,我们的推广系统和扣量算法,就设计完毕了。
网友评论