ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SOP 落地:为什么写好的流程没人执行

SOP 落地:为什么写好的流程没人执行 我们做外贸的写 SOP 写到怀疑人生——写的时候觉得清清楚楚业务员执行的时候觉得「没看见」「做不到」「太麻烦」。今天不讲怎么写 SOP讲讲为什么 SOP 写了没人执行以及怎么办。一、SOP 写完没人执行是常态我带团队这些年写过不下 20 版 SOP。从「询盘响应 SOP」「报价 SOP」「客户跟进 SOP」「物流 SOP」到「离职交接 SOP」。每一版写的时候我都觉得这次一定行。结果呢第一版 SOP 写了 30 页业务员读了开头三页就放下执行率不到 30%。第二版 SOP 我精简到 10 页加了流程图执行率提到 50%。第三版 SOP 我精简到 5 页配了表格和检查清单执行率提到 70%。第四版我开始怀疑——为什么总有一部分人不执行后来跟业务员一对一聊才发现问题不是 SOP 写得不够好是 SOP 写得不对。第三版之后我做了一次抽查数据我到现在还记得随机抽 20 个客户的接触记录看完之后按「询盘首响 SOP」逐条对只有 8 个客户能完整对上另外 12 个里有 5 个首响超时最长的隔了一夜有 4 个没填首响时间还有 3 个直接把客户原文翻译了一遍就发回去。那次抽查我没批评人。我把 20 条记录打印出来一张一张摆在会议桌上让业务员自己找哪几条没按 SOP 走。有一半人当场就找到了自己的问题而且比我指出来更有说服力。从那之后我明白了一件事SOP 执行率上不去八成不是员工懒是 SOP 在某个环节卡住了。你要做的是找到那个卡点不是反复强调「大家要重视」。二、SOP 没人执行的四个原因原因一SOP 太复杂。我写过最复杂的一版是「客户投诉处理 SOP」23 步、4 个分支、6 个角色、十几个表单。业务员一看就放弃——他手上同时跟 30 个客户没空为了一单投诉走 23 步。这一版后来被逼着改了。改的办法很简单我把 23 步砍到 6 步只保留「谁第一时间回客户」「谁去查原因」「谁给方案」「谁记录」这四件事其他全部删掉。剩下的 17 步没有消失——它们变成了主管的动作主管在后台做业务员不需要知道。复杂 SOP 的正确处理方式不是「要求大家耐心看完」是「把复杂性搬到看不见的地方」。原因二SOP 没工具支撑。SOP 写「客户跟进记录填到 CRM」但 CRM 难用、慢、字段多。业务员觉得「不如我记在脑子里快」于是不执行。我们的做法是把字段砍到最少。最开始 CRM 有 18 个必填字段业务员填一单要 4 分钟。后来砍到 5 个客户名、最近联系时间、最近沟通内容、下一步动作、下一步时间。填一单 40 秒。少了 13 个字段执行率上来了数据反而更有用——因为填了的数据是真的。原因三SOP 没检查机制。写了 SOP但从来没人查业务员有没有按 SOP 做。做了没奖励、不做没惩罚最后大家都按自己习惯来。原因四SOP 没考虑人的状态。业务员累了、烦了、心情不好的时候复杂 SOP 一定不执行。新人刚来、老人临走的时候复杂 SOP 也一定不执行。SOP 假定人是「理性机器人」实际人是「有情绪的动物」。这四个原因里第一个是 SOP 本身的问题后面三个是 SOP 落地机制的问题。第一个原因最难改因为它挑战写 SOP 的那个人的自尊。我前两版都舍不得删总觉得「这一步挺重要的删了万一出事怎么办」。后来一个业务员跟我说了句实话「老板你写的这 30 页我一个字都没看完过。你不如就告诉我第一句话该说什么。」三、SOP 应该写多长我现在的标准核心 SOP 一页纸二级 SOP 两页纸复杂 SOP 拆成多个 SOP。什么叫核心 SOP就是业务员每天都要做的事——询盘首响、报价、跟进。这类 SOP 必须能在 30 秒内看完、1 分钟内记住。超过一页纸的砍。举个例子我团队的「询盘首响 SOP」现在是这样的询盘首响 SOP适用新询盘进入30 分钟内完成。动作查客户档案CRM 输入公司名。套用「首响-新询盘」模板。替换{{客户名}}{{产品名}}{{目的港}}。检查客户名是否准确产品型号是否对目的港是否填发送。在客户档案填「首响时间」。红线30 分钟内必须完成不允许直接翻译客户原文当回复不允许在没有客户档案的情况下回复6 步5 个动作加 3 条红线。一页 A4 纸能放下。业务员扫一眼就能记住。报价 SOP 我们也按同样的方式压过。老版本有「确认需求、查成本、加利润、算汇率、做 PI、内部审批、发客户、跟进确认」八个环节两页多。现在的版本是 4 步报价 SOP动作从客户档案取{{产品型号}}{{MOQ}}{{目的港}}缺一个先问客户不许猜。报价表填三档MOQ 价、2 倍量价、5 倍量价。发之前把目的港念一遍确认跟客户档案一致。发完在档案里写「报价发出日期 有效期」。内部审批、汇率计算这些全部挪到了报价表模板里业务员填数字就自动出来不需要写在 SOP 里让他一步步做。我以前那版 30 页的 SOP把同样的内容写了 30 页。区别在哪核心 SOP 不写「为什么这么做」只写「做什么」「怎么做」「什么不能做」。道理让 leader 培训时讲不写在 SOP 里。四、SOP 落地的三个机制机制一周检查。每周一上午业务主管花 30 分钟随机抽 5 个客户的「首响记录」「报价记录」「跟进记录」看业务员有没有按 SOP 做。没做到的记录但不批评跟业务员聊为什么没做到。这一条我具体说下动作顺序因为顺序错了效果完全不一样先看记录再找业务员最后才下结论。不要在没看记录的时候就先问「你上周是不是没按 SOP 做」——那句话一出口后面聊的都是辩解不是原因。机制二月复盘。每月最后一周团队坐下来把这个月 SOP 执行率做个统计。哪些 SOP 执行率高、哪些低低的是 SOP 写的问题还是业务员的问题。月复盘我们固定看三个数SOP 触犯次数、集中在哪几条红线、这几条红线是不是同一个人。如果三条红线分散在不同的人身上大概率是 SOP 本身的问题如果集中在一个人身上才是人的问题。机制三季优化。每季度改一次 SOP。一次只改一两条不要大改。新人入职第一周、老人转岗第一周必须重读 SOP不能默认「看过就懂」。一次只改一两条这条我坚持了很久。有一年我嫌一季度改两条太慢一口气改了七条结果业务员集体懵了——他们记不住哪条变了最后干脆全部按老版本做。那次之后我把「一次只改两条」写在了 SOP 文档的页脚。这三个机制里最重要的是周检查。没有检查SOP 就是个文档有检查SOP 才是个流程。下面是周检查的最小化工具——我们做的是随机抽查业务员最近的关键动作importcsvimportrandomfromdatetimeimportdatetime,timedeltafrompathlibimportPath CONTACT_LOGPath(data/contact_log.csv)CUSTOMER_FILEPath(data/customers.csv)# 每周抽查的客户数——不要太多30 分钟内要能查完WEEKLY_SAMPLE_SIZE5# 检查窗口一周内的客户接触CHECK_WINDOW_DAYS7# 红线清单这些动作没做 SOP 未执行# 红线要少3-5 条最好超过这个数业务员记不住RED_LINES{首响超时:新询盘 30 分钟内未首响,未填档案:已接触但客户档案无更新,跟进间隔过长:VIP 客户超过 3 天未联系,无跟进目的:跟进消息无明确目的Any update 类,}defload_records():records[]withCONTACT_LOG.open(encodingutf-8)asf:forrowincsv.DictReader(f):records.append({业务员:row[业务员],客户:row[客户],时间:datetime.fromisoformat(row[时间]),方向:row[方向],})returnrecordsdefpick_sample(records:list)-list:随机抽取本周接触过的客户样本。 同一业务员的多个客户中只抽一个——避免抽样集中在某个业务员。cutoffdatetime.now()-timedelta(daysCHECK_WINDOW_DAYS)recent_customers_by_agent{}forrinrecords:ifr[时间]cutoff:continuerecent_customers_by_agent.setdefault(r[业务员],[]).append(r[客户])sample[]foragent,customersinrecent_customers_by_agent.items():# 每个业务员随机抽一个客户chosenrandom.choice(customers)sample.append({业务员:agent,客户:chosen})iflen(sample)WEEKLY_SAMPLE_SIZE:breakreturnsampledefcheck_red_lines(customer:str,agent:str,records:list)-list:检查某个客户的接触记录是否触犯红线。violations[]customer_records[rforrinrecordsifr[客户]customerandr[业务员]agent]customer_records.sort(keylambdar:r[时间])# 红线 1首响超时客户首条 in 消息到业务员首条 out 消息的时间差first_innext((rforrincustomer_recordsifr[方向]in),None)first_outnext((rforrincustomer_recordsifr[方向]out),None)iffirst_inandfirst_out:gap_min(first_out[时间]-first_in[时间]).total_seconds()/60ifgap_min30:violations.append({红线:首响超时,详情:f首响{int(gap_min)}分钟红线 30 分钟,})# 红线 2跟进间隔过长VIP 客户超过 3 天未联系# 注实际场景需要从客户档案读取 VIP 标识# 这里简化跳过这个检查# 红线 3检查最近一次跟进是否有「明确目的」# 简化处理检查 out 消息是否有内容last_outnext((rforrinreversed(customer_records)ifr[方向]out),None)iflast_outandnotlast_out.get(有内容,True):violations.append({红线:无跟进目的,详情:最近跟进无明确目的,})returnviolationsif__name____main__:recordsload_records()samplepick_sample(records)print(f本周抽查{len(sample)}个客户)forsinsample:print(f\n[{s[业务员]}] 客户{s[客户]})violationscheck_red_lines(s[客户],s[业务员],records)ifviolations:forvinviolations:print(f 违规{v[红线]}-{v[详情]})else:print( 全部合规)注意几个细节WEEKLY_SAMPLE_SIZE 5——不要抽太多主管 30 分钟内查得完才好坚持。每个业务员只抽一个客户——避免抽样集中。红线不超过 5 条——业务员记不住的红线条目等于没有。五、我团队用过的两个笨办法笨办法一把 SOP 贴在工位上。不是打印贴墙上那种形式是每个业务员工位贴一张卡片3 步动作配 3 个图标新人进来瞄一眼就知道「这家公司是这样干活的」。笨办法二把 SOP 执行率纳入周会固定议程。不是月底算账是每周一会上花 5 分钟说「上周谁触犯了哪条红线」「为什么触犯」「怎么改进」。把 SOP 变成团队的公共话题不是个人的指责。这两个办法听起来土但比任何复杂的「SOP 系统」都管用。还有第三个办法是我最近两年才用上的让新人默写 SOP。新人入职第二周不看书把「询盘首响 SOP」的 6 步默写一遍。写不出来的地方就是我们 SOP 写得不够清楚的地方当场改。这个办法的好处是双向的。新人被逼着记一遍比看十遍有用我这边也能拿到真实的反馈——有两次新人默写的时候卡在第 4 步「检查」我才发现那一步其实是最容易漏、也最需要强调的。我们现在的多账号 SOP 落地是靠 WADesk 这类工具在后台把关键动作固化到操作流程里的。比如首响超过 30 分钟自动告警、跟进记录缺失自动提醒。工具把 SOP 变成了「不执行就做不到」的状态。但工具不能替代 SOP 本身——SOP 的简化、检查机制、团队共识还是要靠 leader 自己抓。写在最后今天你能做一件事——把你团队最常被违反的那条 SOP 拿出来看看它现在写了几页。如果是两页以上砍成半页。砍完找 3 个业务员让他们各自默写一遍 SOP。默写不出来的部分就是写得不够简洁的部分。默写得出来的部分就是 SOP 真正发挥作用的部分。先简化再谈落地。复杂的 SOP 没人执行等于没写。最后提醒一句今天砍完之后别急着发新版本。隔两天再发并且发的时候只说一句「第几步改了什么」不要从头念一遍。你自己一年写 20 版业务员是记不住的。
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进