Task 员工归因与任务流转设计
Historical proposal / Superseded(2026-07-15):本文基于旧字段设计。Recorder 与 credited staff 分离的需求已纳入 Task System Design;其余 schema/flow 不得直接实施。
来源:Oliver 2026-03-24 反馈,基于 Task 字段设计 提出的扩展需求。
一、问题总览
当前 Task 字段设计覆盖了"任务从创建到关闭"的基本流程,但缺少以下维度:
二、员工执行动作记录
2.1 问题
在关闭一个任务之前可能有一系列的任务需要员工去做。比如说,现在有一个新的 lead 进来,已经打过一次电话。那 front desk 可能就还需要再打一次,或者是再需要发一个邮件,再发一个短信。 — Oliver
当前 closeResult 记录的是业务结果(converted、complaint_resolved 等),但不记录员工为达成这个结果具体执行了哪些动作。一个 task 完成后不一定有直接 outcome,但知道员工做了什么本身就有分析价值。
2.2 建议字段
新增 completedActions(List),在关闭任务时由员工多选,记录本次任务中实际执行的动作:
2.3 分析价值
- 哪些动作组合最容易促成 converted?
- 平均每个 task 需要几个动作才能关闭?
- 哪些 typeCategory 的任务倾向于需要 escalation_to_manager?
三、关闭人与促成人分离
3.1 问题
Sometimes one person closes the task, but another person converts the lead/member. We need to decide whether attribution goes to the closer of the task, the closer of the sale/save, or both in separate ways. — Oliver
现实场景:Staff A 一直在跟进这个客户(打电话、发短信),但 Staff B 在客户到店时完成了签约。当前只有 closedByStaffId,无法区分这两个角色。
3.2 建议字段
将当前的 closedByStaffId / closedByStaffName 拆分为两组:
3.3 与现有字段的关系
四、多触点信用分配(Multi-touch Attribution)
4.1 问题
A lead may have: outreach task → follow-up task → booked-not-converted task → another follow-up task. If you want real attribution, you need to handle: first touch, assist touch, closing touch. — Oliver
一个客户从进入系统到最终成交,可能经历多个 task,每个 task 可能由不同员工完成。只把功劳算给最后一个 task 的人,对前面做了大量工作的人不公平。
4.2 建议字段
新增 creditType(String),标识该任务在归因链中的角色:
4.3 触点角色
在一个客户的完整 task 链中,每个 task 扮演不同角色:
4.4 与现有文档的关系
- Lead 归因设计 定义了 Setter / Closer 两段分工模型
- 任务与营收归因 定义了 closeResult → 营收类型映射
- 本设计补充的是:同一归因链中多个 task 之间如何分配信用
五、任务分配与转接
5.1 问题
Missing scenario: task assigned to Staff A → Staff B actually completes it → then manager intervenes → then outcome happens. Need fields/history for: assignedToStaffId, reassignedFrom/reassignedTo, reopenedAt, reopenedReason. — Oliver
当前设计没有"任务分配给谁"的概念,也无法追踪任务在员工之间的转交。
5.2 建议字段
任务分配:
转接历史(reassignmentHistory,List):
重开记录: