首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于在网站上完成任务的健康/活动分数的算法

用于在网站上完成任务的健康/活动分数的算法
EN

Stack Overflow用户
提问于 2011-11-23 08:42:07
回答 2查看 213关注 0票数 3

我们正在创建一个基本的网站,用户每周都会收到待办事项。我需要创建一个算法,它基于这些待办事项的完成(或缺少),我为它们分配一个0- 100的健康分数。

每周有0-4个待办事项送到。可以完成、删除(标记为不相关)或保留待定待办事项。

如果用户没有完成他们的待办事项(待办事项状态下的待办事项),那么他们的健康指标就会很低。

我还想对待定状态进行加权。例如,第一周的待办事项并不像第四周的待办事项那样对分数有害。我只考虑使用过去4-6周的数据来确定分数。

对我应该采取的方法的任何帮助都将不胜感激。

我目前正在使用以下表示法

代码语言:javascript
复制
t0     # total to-dos given in week 0
t0_c   # completed to-dos from week 0
t0_d   # deleted to-dos from week 0
t0_p   # pending to-dos from week 0
EN

回答 2

Stack Overflow用户

发布于 2011-11-23 08:50:50

这听起来像是放Moving average的绝佳地方。

示例:

一周的健康=100*((该周未完成)^1.5)/8

然后在历史和当前健康得分上使用exponential moving average来获得当前健康。

票数 3
EN

Stack Overflow用户

发布于 2011-11-23 09:03:25

也许你可以每周分配完成分数,并为每周的完成分数分配权重-年龄。因为你只考虑过去5周的分数,所以你可能会有这样的结果(1表示完成,0表示等待)

代码语言:javascript
复制
 week 1 [1,0,0,1]   completion score = 50%
 week 2 [1,0,1]     completion score = 66.6%
 week 3 [0]         completion score = 0%
 week 4 [1]         completion score = 100%
 week 5 [1,0,0,0]   completion score = 25%

所有的都不是总共4个待办事项,因为有些可能是无关紧要的

现在你分配每周的权重,你知道week1是5周前的,所以应该有更多的权重,最终在第5周下降,所以类似于

代码语言:javascript
复制
week1 weight = 30%
week2 weight = 25%
week3 weight = 20%
week4 weight = 15%
week5 weight = 10%

现在只需将一周的完成分数与其权重相乘,并将术语相加

代码语言:javascript
复制
(50*30 + 66.6*25 + 25*0 + 15*100 + 25*10)/100 = 49.15%

这种方法的一个缺点是,

假设Guy1 week1有1个待办事项待定,即

代码语言:javascript
复制
week 1 [0]  => score = 0%

假设Guy2 week1有两个待办事项,但有一个已完成,即

代码语言:javascript
复制
week 1 [0,0,1]  => score = 33%

Guy2得到了更高的分数,尽管他还有更多的工作要做

如果客户之间的待办事项数量平均大致相同,那么这将不是一个大问题。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8235950

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档