diff --git a/docs/superpowers/plans/2026-09-09-management-console-batch-b-api-plan.md b/docs/superpowers/plans/2026-09-09-management-console-batch-b-api-plan.md index 7d8f9f6..6ff7e3e 100644 --- a/docs/superpowers/plans/2026-09-09-management-console-batch-b-api-plan.md +++ b/docs/superpowers/plans/2026-09-09-management-console-batch-b-api-plan.md @@ -190,7 +190,7 @@ DEFAULT_SCORE_CONFIG: dict = { "workload": {"weight": 15, "name": "有效负载", "metrics": { "active_friends_band": {"type": "band", "metric": "active_friends", "low": 5, "high": 80, - "basis": "period_daily_avg"}, + "basis": "period_distinct"}, "call_band": {"type": "band", "metric": "call_count", "low": 1, "high": 200, "basis": "period_total", "note": "通话低不扣分仅提示;band 得分下限 80"}, @@ -452,7 +452,7 @@ def score_employee(config, current: PeriodMetrics, baseline: PeriodMetrics | Non ``` 规则(写死进测试): -- 周期值派生:`reply_2h_rate = reply_2h_count/cust_threads`(threads=0 → None);`fr_p90_ms` 直取;`active_share` **分子=期末该渠道最近一行(≤end)的 active_friends,分母=同一行的 active_friends+cooling_customer+dormant_customer**(分母 0 → None;宽表无生命周期 active 存量列,active 以 active_friends 列充当);band 用 active_friends 日均与 call_count 总量。 +- 周期值派生:`reply_2h_rate = reply_2h_count/cust_threads`(threads=0 → None);`fr_p90_ms` 直取;`active_share` **分子=期末该渠道最近一行(≤end)的 active_friends,分母=同一行的 active_friends+cooling_customer+dormant_customer**(分母 0 → None;宽表无生命周期 active 存量列,active 以 active_friends 列充当);band 用 active_friends 周期 distinct(B2 决议:抗单日噪声,与 B1 口径一致)与 call_count 总量。 - 样本保护:`cust_threads < min_threads(30)` → 该 service/customer 指标 sample_status="insufficient",不评分;soft(10)~min 之间 "low_confidence"(评分但标注)。 - 维度分 = 各指标得分的均值(等权);任一指标 None 时该指标剔除并按剩余归一;**全部 None → 维度 pending**。 - 总分 = Σ(可用维度 weight×dim_score)/Σ(可用维度 weight)×100;可用=pending_data 以外且维度分非 None;全 None → score_status="insufficient_sample"(total None)。 @@ -478,7 +478,7 @@ def score_employee(config, current: PeriodMetrics, baseline: PeriodMetrics | Non | reply_p90_worsened | p90 > 基线p90×1.5 且样本≥soft;×2.5 升 critical | warning/critical | metric_code=first_reply_p90 | | reply_rate_dropped | reply_2h_rate < 基线×0.7 且当前≥soft 样本 | warning | metric_code=unreplied | | activity_drop | 日均 msg_total < 基线日均×0.5 且基线≥min_days | warning | 员工详情 | -| workload_overload | active_friends 日均 > 80(band 上限) | warning | 员工详情 | +| workload_overload | active_friends 周期 distinct > band 上限 80 | warning | 员工详情 | 卡片字段照 v1 §5.4 JSON(rule_code/severity/employee_user_id/title/current_value/baseline_value/unit/sample_size/**affected_count**/reason[纯数据事实]/drilldown/suggested_action——文案固定模板,不用 LLM)。`affected_count` 按规则定义:reply_p90_worsened 与 reply_rate_dropped=期内未回串数(cust_threads−threads_answered);activity_drop=当前期活跃客户数;workload_overload=active_friends 日均。