From 57ace987922339df60d00674dcf234925860045e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=B5=85=E5=BF=B5?= Date: Wed, 9 Sep 2026 18:12:26 +0800 Subject: [PATCH] =?UTF-8?q?docs(management):=20=E6=89=B9=E6=AC=A1B?= =?UTF-8?q?=E8=AE=A1=E5=88=92=E5=90=8C=E6=AD=A5band=20basis=E5=86=B3?= =?UTF-8?q?=E8=AE=AE=E2=80=94=E2=80=94active=5Ffriends=E5=91=A8=E6=9C=9Fdi?= =?UTF-8?q?stinct(=E4=B8=8EB2/B3=E5=AE=9E=E7=8E=B0=E4=B8=80=E8=87=B4)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../plans/2026-09-09-management-console-batch-b-api-plan.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) 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 日均。