窗外是上海凌晨三点的寂静,路灯把梧桐树的影子拉得很长,投在电脑屏幕上。我盯着那个已经膨胀到十七万行的Excel文件,光标在“潜在客户”这个工作表上卡住了,每一次滚动都带着令人心悸的延迟。三十二岁,还在用表格管理那些从公众号、博客、技术社区一点点攒起来的人,这感觉就像用竹篮去打捞金鱼,眼睁睁看着最有价值的那些从缝隙里溜走。
Salesforce的报价单昨天刚收到,瞥了一眼年费数字就默默关掉了网页。纷享销客?那套东西光是看演示视频里层层叠叠的按钮和报表,我就已经感到一阵管理上的疲惫袭来。不对,这完全不对。我需要的东西其实很简单:我知道他们是谁(至少是微信ID或邮箱),我知道他们从哪里来(哪篇文章、哪个渠道),我知道他们对我什么内容感兴趣(标签),以及,我该在什么时候、以什么方式再次触达他们。就这些。一个为我自己的IP,为我这种独狼式的生存模式量身定做的记忆外脑。
所以,自己造轮子。这个念头冒出来的时候,带着一种近乎原始的兴奋。Python + SQLite,没有比这更轻量、更可控的组合了。服务器是我自己的,数据也终于是我自己的了。我新建了一个项目文件夹,名字就叫“brain_of_flovico”。第一步,设计那张核心的表。客户表里,除了最基本的ID、来源时间、联系标识(微信OpenID或邮箱),最重要的就是“标签”字段。我不打算用多对多的复杂关联,就用一个TEXT字段,里面存JSON数组。简单,粗暴,但对我够用。标签怎么来?手动打太蠢,必须自动化。
于是开始拆解数据源。微信这边,我用的是公众号的开发者模式,用户关注、取消关注、点击菜单、发送消息,这些事件都能通过接口抓到。我写了个简单的Flask服务挂在服务器上,接收微信服务器推送过来的XML消息,然后解析,把用户行为和对应的内容ID(如果是图文的话)记录下来,转换成初步的标签,比如“关注来源:2017-10-28推文《爬虫攻防》”、“曾点击菜单:案例库”。博客用的是WordPress,好在有比较完善的REST API,我可以定时去拉取新的评论,把评论者的邮箱(如果他们愿意留的话)和评论对应的文章关联起来,打上“深度互动:评论文章《SEO黑帽揭秘》”这类标签。最麻烦的是支付记录,当时用的支付渠道API比较老,返回的数据格式七扭八歪,我花了整整一个下午写正则表达式去清洗数据,把订单号、金额、购买的产品名称(是我的某个电子手册或咨询服务)和支付者邮箱提取出来,合并到客户记录里。这一步做完,标签里就多了“已付费客户”、“购买产品:高级爬虫指南”这样的金子般的标记。
RFM模型?对,我甚至给它做了个极简版的移植。Recency(最近一次互动),就是最后一次API记录到动作的时间戳。Frequency(互动频率),我统计了特定时间窗口内(比如最近90天)所有动作(阅读、评论、支付等)的次数。Monetary(消费金额),就是累计支付总额。我用一个定时脚本,每天凌晨跑一次,根据我设定的几个阈值(比如R<7天为高,F>5次为高,M>500元为高),自动给用户打上“高价值-需重点维护”、“沉睡用户-需激活”这样的策略标签。看着代码运行,一行行日志吐出“用户[xxx]标签更新:+高互动频率”、“用户[yyy]标签更新:+沉睡风险”,那种感觉,就像在给自己的数字疆土进行人口普查和资源勘探。
前端?根本不需要复杂。我用Jinja2模板引擎直接生成了一个极其朴素的HTML页面,一个搜索框,下面是一个表格。登录后,输入邮箱或微信标识的一部分,就能看到这个人的全景画像:他是何时来的,走过哪些路径(阅读轨迹),对什么话题持续感兴趣(标签聚合),以及我根据规则引擎生成的“下一步行动建议”:比如“该用户已购买A产品,且常阅读B主题,可尝试推送关联的C服务”。旁边还有一个简单的“添加私域备注”文本框和“设置下次跟进时间”的日期选择器。设置好后,我的服务器会按时给我发一封邮件提醒。
昨晚,当所有管道初步跑通,我第一次在这个简陋的后台搜索我印象中的几个铁粉的邮箱。页面加载出来的瞬间,我几乎是屏住呼吸的。那些散落在微信、博客、支付平台的数据碎片,被完美地拼合在了一起。我看到一位读者,从三年前一篇讲反爬虫技巧的文章留言认识我,几乎读完了我所有技术长文,上个月刚购买了爬虫案例集,并且,系统给他打上了“高潜力-技术决策者”的标签。而我的“下一步行动”里,安静地躺着一条:“可邀请其加入即将启动的‘核心读者答疑群’”。
我靠在椅背上,房间里只有服务器风扇低沉的嗡鸣。那种安全感,厚重而踏实。它不来自任何云服务商华丽的承诺,也不来自哪个巨头平台施舍般的开放接口。它来自这几千行我自己写就、自己能完全掌控的代码,来自那个安静躺在自己服务器硬盘上的SQLite数据库文件。所有的线索、所有的互动、所有的可能性,都静静地待在那里,等着我去连接,去唤醒。这才是一个内容创造者、一个超级个体真正的护城河。把客户数据握在自己手里,你才是真的在经营自己的事业,而不是在平台的沙滩上堆砌迟早会被潮水冲散的沙堡。
窗外,天色开始泛出蟹壳青。又一个通宵。但这次,疲惫里带着清晰的满足。我的数字分身,有了一个专属的、极其强悍的记忆中枢。轮子造好了,路,可以跑得更快了。














