评估AI延期预警的质量,先要固定“预警单元”和“观察窗口”,再按同一口径统计四类结果:预警后确实延期、预警后按期完成、未预警却延期、未预警且按期完成。在此基础上计算准确率、误报率和漏报率,并用提前量与处置效果判断预警是否真正有用。本文给出一套可复算的口径,供调整阈值、修改规则和决定是否继续试点时使用。
要点总览(TL;DR)
- 评估AI延期预警先固定预警单元(任务级、里程碑级或迭代级)和观察窗口,再按同一口径统计真阳性、假阳性、漏报、真阴性四类结果。
- 准确率按精确率口径计算:真阳性÷全部预警;误报率=假阳性÷全部预警,两者分母相同、相加为100%。
- 漏报率=漏报数÷实际延期总数,召回率=真阳性÷实际延期总数;提前量=原计划完成日−预警发出日,按天计并看中位数与分布。
- 处置效果看预警后是否调整计划、增加资源、缩小范围或升级风险,以及延期天数、按期完成率和响应时长的变化。
- 准确率高不等于预警有用,误报与漏报存在权衡,样本过少或口径变更时指标不可直接比较,结论用于调阈值和定试点范围。
评估目标:预警要回答哪三个问题
AI延期预警的质量不能用一个准确率概括。评估需要分别回答三个问题:报得准不准、报得早不早、报得有没有用。三个问题对应不同的指标族,结论用途也不同。
第一个问题是命中真实延期。预警发出后,被预警对象是否真的延期,对应准确率、误报率、漏报率和召回率。这组指标回答“预警信号是否可信”,用于调整预警阈值和规则条件。
第二个问题是提前量是否足够。预警在原计划完成日之前多少天发出,对应提前量指标,通常按天计并看中位数与分布。提前量太短,团队来不及处置;提前量过长,又可能伴随大量误报。这组指标用于判断预警时点是否合理。
第三个问题是预警是否触发了有效处置。预警后是否调整计划、增加资源、缩小范围或升级风险,延期天数是否缩短,对应处置效果指标。这组指标用于决定是否继续试点、是否扩大适用范围。
三层目标的关系是递进的:命中率说明信号质量,提前量说明可用时间,处置效果说明业务价值。评估报告应同时呈现三层结果,避免用单一准确率下结论。
指标与范围:预警单元、观察窗口与四类结果
评估前必须先定义“一条预警”对应什么对象,以及从什么时间点开始观察。口径不固定,后续所有指标都不可比。
预警单元的选择
预警单元可以是任务级、里程碑级或迭代级。任务级粒度细、样本多,适合评估规则本身的命中情况;里程碑级更贴近交付风险,但样本少、波动大;迭代级介于两者之间,适合按周期复盘。同一轮评估应只选一种单元,混用会导致同一次延期被重复计数或漏计。
观察窗口与基准日期
观察窗口指从预警发出到判定结果的时间段。判定是否延期,需要明确基准日期:以原计划完成日为准,还是以变更后的计划完成日为准。建议以原计划完成日作为主口径,因为预警的价值在于发现“按原计划会延期”的风险;变更后日期可作为辅助口径,用于观察预警后改期的情况。两种口径分别统计,不混在同一张表里。
四类结果判定表
| 结果类型 | 判定条件 | 含义 |
|---|---|---|
| 真阳性 | 发出预警,且观察窗口内确实延期 | 预警命中 |
| 假阳性 | 发出预警,但观察窗口内按期完成 | 误报 |
| 漏报 | 未发出预警,但观察窗口内延期 | 未命中 |
| 真阴性 | 未发出预警,且按期完成 | 正确未报 |
边界情况需要事先约定。预警后调整计划并因此按期完成,按主口径仍记为假阳性,同时单独记录“预警后改期”数量;任务在观察窗口内被取消,通常从统计中排除并单独列示;范围变更导致完成日变化,按变更记录判断是否属于同一预警单元。这些规则应在评估开始前写入口径说明。
纳入与排除范围
需要明确哪些项目、哪些任务类型进入统计。例如只纳入已进入开发阶段的任务,排除需求池中尚未排期的条目;只纳入有明确计划完成日的工作项,排除无日期字段的记录。纳入范围一旦确定,同一评估周期内不随意调整。
数据口径:从哪取数、字段怎么对齐
指标可复算的前提是字段齐全、来源固定、口径一致。评估所需的核心字段如下。
| 字段 | 说明 | 典型来源 |
|---|---|---|
| 预警发出时间 | 精确到日期,必要时到时刻 | 预警日志 |
| 预警对象 | 任务、里程碑或迭代的唯一标识 | 预警日志、项目管理系统 |
| 原计划完成日 | 预警发出时该对象的计划完成日期 | 项目管理系统计划字段 |
| 实际完成日 | 实际关闭或交付日期 | 项目管理系统状态与完成记录 |
| 是否延期 | 按约定口径判定的结果 | 由上述两个日期计算 |
| 处置记录 | 是否改期、加资源、缩范围、升级风险 | 变更记录、风险记录、会议纪要 |
取数时有三类口径需要统一。延期定义要固定,例如“实际完成日晚于原计划完成日即算延期”,不因延期一天还是十天而区别对待。时区与工作日口径要一致,跨时区团队统一按同一时区记录日期,提前量按自然日还是工作日计算需事先声明。预警去重规则要明确,同一对象在观察窗口内多次触发预警时,是按首次预警计一条,还是按每次触发分别计数,两种做法得到的准确率不同。
缺失值和不可比情形要单独标注。实际完成日缺失的记录无法判定结果,应从分母中排除并说明数量;预警日志与项目计划的时间字段对不上时,以项目管理系统为准并记录差异;口径中途变更的,新旧数据分段统计,不合并计算。
这些字段通常分散在项目管理、变更记录和预警日志中。以ONES为例,项目、工作项、迭代的计划与实际完成信息在ONES Project中承载,变更与风险处置记录可随工作项和Wiki页面留存,ONES Assistant可基于项目与工作项上下文生成进展分析和风险判断,预警结果也能保存为可追踪的工作项或页面内容。评估时从同一套项目数据中取计划、完成和处置记录,可以减少字段对不齐的情况;预警日志的具体字段结构和导出方式,需在实际环境中确认后再定取数脚本。
计算步骤:准确率、误报率、漏报率与提前量
四类结果统计完成后,按下表计算各指标。所有指标在同一观察窗口、同一预警单元口径下计算。
| 指标 | 公式 | 分子 | 分母 | 单位 |
|---|---|---|---|---|
| 准确率(精确率) | 真阳性 ÷ 全部预警 | 真阳性数 | 真阳性 + 假阳性 | 百分比 |
| 误报率 | 假阳性 ÷ 全部预警 | 假阳性数 | 真阳性 + 假阳性 | 百分比 |
| 漏报率 | 漏报数 ÷ 实际延期总数 | 漏报数 | 真阳性 + 漏报数 | 百分比 |
| 召回率 | 真阳性 ÷ 实际延期总数 | 真阳性数 | 真阳性 + 漏报数 | 百分比 |
| 提前量 | 原计划完成日 − 预警发出日 | — | — | 天 |
准确率与误报率的分母相同,两者相加等于100%,因此看其中一个即可推出另一个。漏报率与召回率的分母相同,同样互补。提前量按每条真阳性预警计算,报告时给出中位数、四分位数和最小值,均值容易受个别超长提前量影响,不宜单独使用。
分母为零时需要单独处理。观察窗口内没有发出任何预警,准确率和误报率无定义,应写“本期无预警”而不是0%;实际延期总数为零,漏报率和召回率无定义,同样如实标注。样本过少时,例如预警数不足二十条,指标只作参考,报告中注明样本量,不据此调整阈值或下结论。
业务处置效果:预警之后发生了什么
统计指标只说明报得准不准,不能说明预警是否改变了结果。处置效果评估要回答:预警发出后,团队做了什么,结果是否因此不同。
先记录处置动作。每条预警对应一条处置记录,字段包括是否调整计划、是否增加资源、是否缩小范围、是否升级为风险项,以及处置动作的发生时间。处置记录可以来自变更记录、风险登记和迭代复盘,关键是能与预警对象关联。
再观察结果指标。常用三项:延期天数是否缩短,可对比预警任务的实际延期天数与同类未预警任务;按期完成率是否变化,可按预警前后两个周期对比;风险关闭情况,即预警后升级的风险项是否在窗口内关闭或降级。此外记录预警到首次处置的响应时长,响应过慢会削弱预警价值。
区分预警贡献与其他因素时,可用未预警任务作对照,或做试点前后的周期对比。对照需说明条件是否可比,例如任务类型、规模和团队是否相近。这类对比只能提供参考证据,不能证明因果关系。
算例:一个迭代周期的完整计算
以下为演示情景,数据为假设值,用于说明计算过程。
某迭代周期内共发出预警30条,其中18条在观察窗口内确实延期,12条按期完成。同期实际延期任务共24个,其中6个未收到预警。另有未预警且按期完成的任务150个。
四类结果:真阳性18,假阳性12,漏报6,真阴性150。
准确率 = 18 ÷ 30 = 60%;误报率 = 12 ÷ 30 = 40%,两者互补。漏报率 = 6 ÷ 24 = 25%;召回率 = 18 ÷ 24 = 75%。
提前量取18条真阳性预警的天数,假设排序后中位数为6天,四分位区间为3至9天,说明一半预警在原计划完成日前6天以上发出,但仍有部分预警提前量不足3天。
处置效果方面,假设18条真阳性预警中14条有处置记录,其中9条调整了计划、5条增加了资源;这18个任务的平均延期天数为4天,同期6个漏报任务的平均延期天数为9天。响应时长中位数为1天。
结果解读:本期预警准确率60%,意味着每10条预警约4条为误报,团队需要评估误报带来的沟通成本;召回率75%说明仍有四分之一的延期未被提前发现,可检查漏报任务的共同特征。提前量中位数6天,对需要跨团队协调的任务偏紧。处置效果显示预警任务延期天数短于漏报任务,但两组任务规模不同,不能直接归因于预警。样本量30条处于偏少区间,建议连续观察两到三个周期再调整阈值。
解读与限制:指标不能说明什么
准确率高不等于预警有用。若预警集中在完成日前一天发出,即使全部命中,团队也没有处置时间;若预警后无人响应,命中率再高也不改变延期结果。解读时必须把命中指标、提前量和处置效果放在一起看。
误报率与漏报率存在权衡。放宽触发条件会提高召回率,同时推高误报率;收紧条件则相反。调整阈值时应同时观察两组指标和处置成本,而不是单独追求某一项最优。
样本量小、项目差异大时指标波动明显。不同团队的任务规模、依赖复杂度和计划稳定性不同,跨项目合并统计会掩盖差异,建议按项目或团队分组呈现,并标注样本量。
指标不能证明AI导致了延期改善。延期减少可能来自计划更保守、资源增加或范围压缩,评估应保留对照和前后对比的说明,把预警定位为辅助信号而非因果来源。
口径需要定期复核。延期定义、预警去重规则、观察窗口长度一旦变化,新旧数据不可直接比较,应分段统计并在报告中注明变更时间。评估结论的用途是调整阈值、修改规则和决定试点范围,不宜直接作为个人或团队的绩效结论。
常见问题
预警发出后团队调整了计划并因此按期完成,这条预警算命中还是误报?
按主口径(以原计划完成日为准)应记为假阳性,因为预警发出时判断的“按原计划会延期”并未发生。同时建议单独记录“预警后改期”的数量,用于观察预警是否促成了计划调整。如果评估目的是衡量预警对交付的实际影响,可以把改期后按期完成单独列为一类,与纯误报分开呈现,避免把有效干预和无效报警混在一起。
同一任务在一个观察窗口内多次触发预警,应该怎么计数?
需要事先约定去重规则,常见做法有两种:按首次预警计一条,或按每次触发分别计数。按首次预警计数更贴近“是否提前发现风险”,适合评估召回;按每次触发计数会放大预警总量,准确率通常偏低,适合评估告警噪音。两种口径得到的准确率和误报率不同,同一份报告内只使用一种,并在口径说明中写明。
预警数量很少时,算出来的准确率还能用来调阈值吗?
样本过少时指标波动大,例如预警数不足二十条,准确率可能因一两条结果变化十几个百分点。此时建议只记录指标并标注样本量,连续观察两到三个周期后再判断趋势,不依据单期结果调整阈值。若必须调整,可先小范围试点,同时观察准确率、误报率和处置响应情况。
怎么判断延期改善是预警带来的,而不是计划本身变保守了?
可以设置对照:比较收到预警的任务与同类未预警任务在延期天数上的差异,或对比试点前后两个周期的按期完成率。对照时需说明任务类型、规模和团队是否相近,并记录同期是否发生资源增加、范围压缩等变化。这类对比只能提供参考证据,报告中应把预警定位为辅助信号,避免写成因果结论。
评估用的数据从哪里取,需要对齐哪些字段?
核心字段包括预警发出时间、预警对象、原计划完成日、实际完成日、是否延期和处置记录,分别来自预警日志、项目管理系统和变更或风险记录。取数时要统一延期定义、时区与工作日口径、预警去重规则,并标注实际完成日缺失等不可比情形。以ONES为例,项目、工作项和迭代的计划与实际完成信息在ONES Project中承载,变更与风险处置记录可随工作项和Wiki页面留存,ONES Assistant可基于项目与工作项上下文生成进展分析和风险判断;预警日志的具体字段结构和导出方式需在实际环境中确认。
