如何计算估计的时间精度



我正在开发一个todo应用程序,当用户创建一个新项目时,他们输入标题和ruff估计时间来衡量他们计划项目的效果。在项目完成时,用户被重定向到项目统计路线,我在其中计算他们估计的准确性:

const diff_minutes=(dt2, dt1)=> 
{
var diff =(dt2.getTime() - dt1.getTime()) / 1000;
diff /= 60;
return Math.abs(Math.round(diff));
}

const started_at=project.started_at
const finished_at=project.finished_at
const estmated_time =project.estmated_time // minutes
const project_duration_in_minutes =diff_minutes( started_at,finished_at);
const accuracy =  -(project_duration_in_minutes  - estmated_time )/100 

因此其思想是CCD_ 1从测试时间起越低,精度就越好,反之亦然。例如:

const estmated_time = 10  
const project_duration_in_minutes  = 15 
const accuracy =  -(project_duration_in_minutes  - est  )/100 //accuracy = -50%

const estmated_time = 10  
const project_duration_in_minutes  = 5
const accuracy =  -(project_duration_in_minutes  - est  )/100 //accuracy = 50%

这样做,但我希望看到更好的方法。

actual_time / estimated_time将时间差作为一个比率。所以估计10分钟,花费5分钟=估计时间的0.5倍。乘以100表示百分比。

当时间比预期的要短的时候,你似乎在寻找高数字。estimated_time / actual_time将速度差作为一个比率。因此,估计需要10分钟,耗时5分钟=估计速度的2倍。

这里有几个替代方案:

  1. 在函数中添加abs方法,因为在您的情况下,准确性不需要阳性/阴性指标
  2. 在你目前的公式中,如果实际时间大大超过估计值,你会得到不理想的结果。不使用线性函数,也可以使用指数函数:
Accuracy = 100* e^-(abs(est-project_duration_in_minutes)/project_duration_in_minutes)

最新更新