假设您有一个组织要求员工参与类似于 StackOverflow 的问答网站 - 对问题和答案进行投票,选定的答案会获得加分,某些行为会提高您的分数等。我们需要做的是从 1 分到100 给这些用户,分布均匀。
加分的行为:
- 问一个问题[固定]
- 回答一个问题[固定]
- 获得对问题的支持 [由相对排名确定]
- 获得对答案的支持 [由相对排名确定]
- 选择你的答案[由相对排名确定]
- 回复评论等 [已修复]
同样,也有减分的行为。
如果排名较高的用户对排名较低的用户提出的问题进行投票,则应该比相反的情况获得更多的积分。同样,如果排名较低的用户对排名较高的用户的问题投了反对票,则与相反的情况相比,影响应该是最小的。不过,这种影响应该有一个限制,以便高排名用户不会无意中通过发出强有力的反对票来破坏低排名用户的任何势头。
我们在这里面临一些挑战:
我们如何确定为每种类型的行为分配多少分,同时考虑到参与者/接受者的相对排名?
我想我们只是为每个行为分配一个固定数字,该数字相对于其他行为的重要性决定,然后有一个可变分数,如果用户之间存在很大差异,可以改变分数。这个机制 - 分数最多翻倍吗?- 不清楚。我们如何分配这个等级?这个稍微简单一些——我想我们只是根据分数对用户进行排序,然后将数据集分成 100 个部分,为每个“块”分配一个 1-100 的数字。
我们是否应该担心这些数字变得“非常大”? 上面描述的场景已经被简单化了;这些用户采取的行动每天可能发生数百次,因此分数可能会变得非常高,非常快。有没有办法在避免大量重复分数的同时控制这种情况?
当总分变得非常大时,我们如何定义“固定”分数?随着时间的推移,我们可能会有数十万积分的用户——但固定分数的行为仍然应该奖励他们。他们应该奖励排名较低的用户而不是排名较高的用户。
我不知道在遇到此类问题时是否应该注意一些标准实践、算法或术语 - 任何输入都将不胜感激。
