十分钟休息结束,转化曲线仍停在屏幕上,像一道横在所有人面前的墙。
陈海把排序日志重新拉开:“库存权重一加,临期饼干和纸巾套装就冲上去;权重一降,库存压力又压不下去。南城要清货,可用户不买,我们夹在中间。”
年轻测试低声说:“要不先把库存最重的商品强推一轮?至少数据上能看到点击。”
林川看了他一眼,没有责备,只问:“点击变高,退货也变高,南城会给钱吗?”
会议室安静下来。
他们不是在做漂亮报表。七天后,邵明看的是有效订单毛利,李萍看的是仓库有没有少压货。把没人要的东西推到用户面前,只会把上一家服务商走过的坑再踩一遍。
林川端起已经凉透的咖啡,目光落在白板上“库存压力”和“用户偏好”两行字之间。他第一次很想让系统直接给出答案。
念头刚起,熟悉的提示便浮了出来。
【系统提示:当前问题属于真实经营与技术决策,不提供算法答案。可核验异常方向:样本分层错误。请宿主基于真实数据自行判断,系统不会替代研发、管理与商业责任。】
林川握着纸杯的手顿了一下。
不是公式,不是模型,也不是一段可以复制的代码。
系统像是在提醒他:钱能买来时间、团队和一次试错机会,却不能替他承担判断。
他把纸杯放下,重新拿起白板笔,在“用户”下面划出三栏:“可靠老客、价格敏感、低可信冷启动。”
陈海抬头:“这是按用户分?”
“不止。”林川又在“商品”下面写:“刚需补货、清仓临期、小家电决策。”
他转身看向屏幕:“我们刚才把库存压力当成一层,把用户偏好当成另一层,然后硬往一起压。问题是,南城的数据本来就不干净。三套用户编号只能合并六成,活动流量又混着手动置顶。所有人、所有商品放在一锅里算,当然互相打架。”
周野的视频还挂着,医院走廊那头传来护士推车的声音。他看了几秒白板,声音哑却清楚:“按层跑,先别追全量最优。可靠老客用购买偏好,价格敏感用户看清仓响应,冷启动只给低风险刚需品。”
陈海很快接上:“库存压力不能直接顶到总排序前面,只能在同层候选里做调权。”
“对。”林川点头,“还有一条,退货原因不清的商品,先别进灰度。”
后端皱眉:“可那两个SKU库存最多,南城最想清。”
林川把李萍发来的表格打开。临期饼干库存一千一百件,退货原因备注里写着“口味差异、日期敏感、破损包装”。另一款小电锅库存三百多台,售后记录里连续出现“插头松”“加热慢”。
他把两行圈出来:“推荐解决不了质量和预期问题。硬推它们,短期订单可能起来,退货会把毛利吃掉。把这两个从第一轮灰度池剔除,明早给南城写清楚原因。”
年轻测试忍不住说:“他们会不会觉得我们不帮他们清最急的货?”
“会。”林川说,“所以我们要拿数据说话。星川不是仓库甩货工具,我们卖的是有效转化。”
这句话一落,会议室里那点被困住的焦躁终于有了出口。陈海把排序规则拆成三份,后端重写权重入口,测试重新抽样退货原因。周野只留在线上看关键节点,林川每隔二十分钟就让负责人报一次卡点。
第一次卡点很快来了。
后端把新入口接上后,系统直接报错。可靠老客样本太少,价格敏感用户又被两次清仓活动污染,低可信冷启动池更像一团散开的线头。陈海盯着报错日志,额头上冒出细汗:“如果再分细,训练样本不够;如果不分,刚才的问题又回来。”

