林晨是在t厂的食堂里想到会员制度的。
那天中午他端着托盘找位置坐,食堂里人满为患,最后只剩一张四人桌还有空位。他刚坐下,旁边两个产品经理也在聊工作,声音不大不小,刚好飘进他耳朵里。
日活再高,不存钱就等于白来。戴眼镜的那个拿筷子戳了戳盘子里的西红柿炒蛋,留存看的是复购,复购看的是习惯。习惯靠什么?靠沉没成本。用户在你这里花了钱,他就不会轻易走。
对面那个点了点头:所以储值卡这东西,本质不是优惠,是锁。用户一旦存了钱,他的决策成本就变了。下次吃饭的时候,他不会再去比较哪家便宜,他会先想我那家店还有余额。
关键是怎么让用户愿意存。戴眼镜的那个喝了口汤,送得太少他不存,送得太多你亏。得算好那个点。
林晨夹了一口菜,慢慢嚼着。他没有刻意去听,但沉没成本复购这两个词像程序里的变量一样挂在了脑子里。t厂的食堂很吵,周围全是金属餐盘碰撞的声音和说话声,但这两个词像打了断点一样卡在了他的思维里。快餐店的客人也是用户。用户留存靠习惯,习惯靠沉没成本。客人在晨枫快餐充了值,他下次吃饭就会优先来这里。因为他已经把钱存在这里了。
他低头看了一眼自己盘子里的饭菜,突然觉得食堂和快餐店的差别比他想象的小。都是卖饭的,都是靠回头客撑着。食堂靠位置近,快餐店呢?快餐店靠什么?靠口味,靠出餐速度,靠价格。但如果这些都能被复制呢?隔壁再开一家店,味道差不多,价格差不多,客人凭什么继续来晨枫?凭习惯。而充值是锁住习惯最简单的办法。
下午在工位上写代码的时候,他脑子里还在转这个事。FinGpt v4的一个接口文档打开了半个小时没动,光标在编辑器里一闪一闪的。他在草稿纸上画了一个简单的流程图:用户扫码、输入金额、系统写入余额、消费时扣减。逻辑不复杂,跟他平时写的那些模型推理管道比起来,这东西像是用积木搭个小房子。
晚上七点半他到了店里。厨房里林浩正在收拾晚高峰最后几单的锅,灶台上的火刚关,不锈钢台面上还冒着水汽。小吴在收银台后面整理今天的票据,手边摊着一本手工记账的笔记本。小芳端着抹布从大堂走过来,看见林晨推门进来,朝他点了点头。
林枫坐在靠墙的那张桌子后面看账本,手边放着一杯凉透了的茶。林晨拉了把椅子坐到他旁边,把手机递过去,屏幕上是他在草稿纸上画的那个流程图的照片。
会员卡。林晨说,充值有优惠,充两百送二十,充五百送六十。客人充了值就跑不掉了,除非他以后再也不来。
林枫接过手机看了一会儿,拇指在屏幕上放大了那个流程图。他沉默了几秒,嘴微微动了一下,像是在默算。
充两百送二十,等于打九一折。充五百送六十,等于打八九折。他放下手机,拿起桌上的笔在账本空白处写了两行数字,比开业时候的八折少让利,但锁定了一笔现金流。
对。八折是一次性的,让利就没了。会员是先收钱再让利,钱在手里比让利出去强。
林枫的笔尖在账本上顿了一下。他抬头看了林晨一眼,那眼神里有一种算账算到点子上的认可。怎么做?
在收银系统上加一个会员模块。小吴扫一下客人的手机码,输入金额,系统自动充值到他的账户里。下次来消费直接扣余额,不用付现金。
开发成本呢?
我写。林晨说,小程序加一个页面就行,一两天的事。
林枫没有再问。他把账本上的那两行数字圈了一下,又在旁边写了一个字:做。
林晨用了两个晚上的时间写代码。白天在t厂开完会之后,晚上回家打开电脑,先看一遍FinGpt的运行日志和客户反馈,确认没有异常报错,然后切到晨枫的开发环境里写会员模块。两个窗口并排放在屏幕上,左边是FinGpt的监控面板,右边是晨枫小程序的代码编辑器。他想在两台服务器之间做负载均衡,时间切得刚好够用。客厅里很安静,只有键盘敲击的声音。茶几上放着一杯凉了的白开水,他写代码的时候习惯不喝水,写完一个模块才想起来喝一口。
会员模块的核心逻辑他只写了半天。用户扫码充值,金额写入数据库,消费时从余额扣减,余额不足提示充值。数据库表结构他参考了FinGpt的用户系统设计,只是把模型调用换成了余额查询。他加了一个积分功能:每消费一块钱积一分,积分可以在下次消费时抵扣,一百积分抵一块钱。积分的抵扣率很低,一百积分才一块钱,但客人的心理感觉是我在攒积分,这种心理比积分本身更值钱。
他还做了一个小细节:充值成功之后,手机上弹出的余额数字用大号字体显示,旁边跟一行小字已为您节省xx元。这行字是他在t厂看用户反馈报告学来的,用户对两个字的敏感度远高于。
小程序更新上线的那天是个周四。早上十点林晨远程提交了更新包,审核两小时就过了。他把上线消息发到了林枫的微信上,林枫回了两个字:知道了。
中午十一点半,小吴在收银台旁边摆了一个立牌。上面写着充值有礼:充200送20,充500送60,红底白字,跟开业时候的促销牌一个风格。字是林枫写的,他练过几年字,笔画端正有力,站在两米外都看得清楚。
小芳在每张桌子上放了一张名片大小的卡片,正面印着小程序二维码,背面是充值档位和优惠说明。
中午高峰期来了。前十几个客人都是老顾客,进了店直接走到收银台前面报菜名。小吴打完单之后顺手加上一句:我们现在有会员充值活动,充两百送二十,要不要办一张?
头三个人都没接话,付了钱端着餐盘走了。第四个是个穿polo衫的程序员,他看了看收银台旁边的立牌,想了一下:充两百送二十,等于九一折?
对。而且下次来不用付现金,直接扣余额就行。小吴指了指立牌上的二维码。
程序员掏出手机扫了码。小吴在收银系统上操作了一下,充值成功。程序员的手机上弹出一条消息:晨枫快餐会员,余额220元。大号数字220特别显眼,他看了一眼,收起手机,端着餐盘找位置坐下了。
第五个是个戴棒球帽的女生,她看了一眼立牌,直接问:充五百送六十是吧?然后扫了码。小吴给她充完值,她看了看手机上的余额数字560,点了点头走了。
后面几天办卡的速度慢了一些。有的客人听了小吴的介绍之后犹豫了一下,说下次再说。有的客人扫了码看了一眼页面就退出了,连充值的步骤都没走完。小吴把每天办卡的数量记在收银台旁边的小本子上,周一到周三分别是十五、十八、十七,加起来五十张。
前三天总共办了五十张会员卡,充值总额八千四百块。其中有十二个人充了五百,送六十的优惠确实比充两百划算。还有三个人主动要求充两千,林晨没设两千的档位,但小吴在系统里手动输入了两千的金额,按比例送了两百四十。
充两千送两百四,等于打八九折。小吴在打烊之后跟林枫说,她一边擦收银台一边算,有个客人说他每天都来吃,充两千够吃三个月了。
林枫坐在桌边,翻开笔记本写了一行:会员卡三天五十张,充值总额8400元。他在数字下面画了一条横线,又写了一行:现金先收进来,菜慢慢做。
八千四百块的现金趴在账上,等于一个月的租金有了三分之一。这些钱不能算营收,是预收款,客人随时可以来消费。但现金在手里就是现金,可以用来备货周转,也可以提前付下个月的租金。
林晨在电子表格上加了一列:会员充值余额。这个数字每天都在涨,新会员在增加,老会员也在充值续费。到了第二周周末,会员充值余额突破了两万块。他在表格里把会员充值余额单独标了颜色,跟营收和利润分开列。两万块是预收款,不是利润,混在一起会看错账。
小吴发现了会员卡的另一个好处。以前她只能记住几个熟客的脸和常点的菜,现在系统里每一笔消费都有记录。她午休的时候翻手机后台,发现有个穿格子衬衫的客人一周来三次,每次点鱼香肉丝和一碗饭。还有个戴眼镜的女生两周来一次,每次点水煮肉片加一碗汤。这些数据林晨每周导出来分析一次,根据点单频率调整备料量。鱼香肉丝的备料从每天五份增加到了每天七份,水煮肉片保持三份不变。
小吴还发现了一个规律:充了值的客人比没充值的客人来得更频繁。她把前两周的消费数据拉出来对比了一下,会员平均每周来三点二次,非会员平均每周来一点八次。她把数据截图发到了林晨的微信上,加了一句:会员比非会员多来快一倍。林晨回了两个字:正常。
会员制度的第三周,会员充值余额突破三万。林枫看着手机上林晨发来的表格截图,在笔记本上写了一个数字:。然后他在旁边写了一句话:比银行贷款划算。
林晨看着手机上林枫发来的那五个字,没有回。他在想下一步的事。会员卡的数据在增长,但光有会员还不够。积分抵扣率太低,客人攒了积分花不出去,积分就变成了一个摆设。他得想一个让积分动起来的办法。但那个不急,先把现在的系统跑稳了再说。
他关掉晨枫的后台数据,切回FinGpt的工作界面。下午三点有个会,他得把v4的参数调整方案过一遍。两条线,来回切。