立项背景
公司原有电销业务主要依赖 Excel 名单、人工拨号和线下录音复盘,存在不少问题。
名单管理比较混乱。线索来自官网、广告投放、合作方等多个渠道,格式不统一,经常出现重复拨打、漏跟进的情况。
外呼效率偏低。坐席需要手动拨号,有效通话占比往往不到三成,拨号前准备时间平均超过两分钟。
过程难以管控。各坐席话术不统一,质检主要靠抽检,覆盖率通常不到百分之五,合规风险较高。
转化难以归因。从线索到接通、再到意向和成交,整条链路数据断裂,很难评估投放 ROI。
人员流失也偏高。新人培训周期通常要两到三周,缺少实时辅助和统一知识库,上手慢、压力大。
同时,个人信息保护法和营销外呼相关监管越来越严,业务系统必须做到可审计、可溯源、可管控
项目目标
业务上,希望通过预测式外呼和智能排队,把有效通话率提升百分之三十以上;通过统一话术和知识库,把新人培训周期压缩到五个工作日;通过全量录音入库和智能质检,把质检覆盖率从百分之五提升到百分之百;通过精细化跟进和意向评分,把线索转化率提升百分之十五左右。
技术上,要建设统一的线索、外呼、跟进、成交闭环 CRM;对接运营商或云通信平台,支撑稳定高并发外呼,峰值约两千路并发;建立可配置的话术引擎和质检规则引擎;支持多租户、多业务线和权限隔离。
整体功能
平台主要包含线索中心、外呼中心、客户管理、质检合规、报表运营,以及坐席工作台、主管看板、话术配置、任务调度和系统管理等支撑能力。
1.线索从渠道投放或合作方进入系统,先完成接入和清洗去重,再分配到坐席或任务池。之后根据外呼模式,由坐席手动拨号或系统自动预测式拨号。通话过程中弹出客户信息,通话结束后填写跟进单,并根据意向等级决定转销售、加入跟进计划,或标记失效进入公海。通话录音上传后进行智能质检,主管据此做复盘和培训,高意向客户最终进入成交闭环。
2.营人员创建外呼活动
登录后进入线索中心导入名单,设置分配规则,例如按城市分给华东组;再进入外呼中心创建预测式任务,配置并发数、外呼时段和话术模板,启动任务后在报表中心查看实时进度。
3.坐席日常外呼
登录坐席工作台,查看今日待跟进名单,点击客户自动拨号并弹出客户信息;通话中查看推荐话术或知识库;挂断后填写跟进表单,例如意向 B 级、三天后回访;提交后系统自动创建提醒,继续处理下一条。
4.系统采用前后端分离和微服务架构。前端包括 Web 管理端、H5 和坐席软电话;请求经过 API 网关做鉴权和限流;后端拆分为线索服务、外呼服务、CRM 服务、质检服务、报表服务和调度服务。通话事件和状态同步通过消息队列解耦,底层使用 MySQL 存业务数据,Redis 做缓存和分布式锁,Elasticsearch 做录音和跟进检索,对象存储保存录音文件,再对接 CTI 云通信和 ASR 服务。
5.我负责的模块
我主要负责线索中心、外呼服务,以及坐席工作台后端接口,同时负责接口自动化测试,并在二期参与基于大模型的通话摘要、意向抽取和话术推荐 POC。
6.遇见的坑
CTI 回调重复和乱序导致通话状态错乱
同一通电话可能收到多次挂断回调,或者接通回调晚于挂断回调,导致跟进单无法创建、录音关联失败。原因是云通信平台至少一次投递,且多节点消费无法保证顺序。最终通过 callId 幂等、通话状态机校验非法跳转、回调先写消息队列并按 callId 分区有序消费来解决。
预测式外呼接通后没有空闲坐席
客户接通后要等八到十五秒才分配到坐席,大量客户秒挂。原因是拨号算法只看历史接通率,没有实时感知坐席空闲数。后来增加实时坐席空闲率反馈,无空闲坐席时暂停拨号,并对新任务做渐进式低并发预热。
具体包括:线索导入 API、去重合并、分配引擎、公海回收定时任务;CTI 对接、通话状态机、录音回调、预测式外呼调度;坐席待办队列、弹屏聚合接口、跟进单 CRUD;基于 pytest 和 Allure 搭建自动化测试,覆盖核心链路两百多条用例。