Skip to content

订货算法版本管理 ​

算法改一版很快,出问题却是全部门店一起。这个功能把"写好的算法—历史版本—模拟验算—正式生效"串成一条闭环:在这里选定某个算法的某个版本,拿一批测试数据跑出订货结果,逐条比对是否符合预期,确认无误后再把它切成生效版本下发门店。改坏了也不怕,生效版本随时切回上一版。

功能路径:系统菜单 → 零售POS → 智能订货 → 订货算法版本管理

一、功能概述 ​

能力说明
多算法并行不同门店、不同品类各挂各的算法,互不影响
版本留痕每次保存生成新版本,记录修改人、修改日期与版本说明
生效可控生效版本独立于最新版本,改完不切换就不会上线
批量验算一次跑完整套测试数据,也可以只跑勾选的几条
结果留档测试记录按时间归档,支持按周期与按算法档位筛选

二、界面布局说明 ​

窗口三个页签,对应"选算法—跑测试—看结果"。

1)算法选择页签 ​

左侧是算法列表,右侧上半部是版本记录,下半部是该版本的算法代码(只读,用于查看与比对,改代码请去 订货算法)。

字段说明
算法编号算法的唯一标识
算法名称自定义名称,例如"产品每日销售预测订货法"
默认算法标识这条是系统内置的标准算法。内置算法的代码只读,不能手工改,也不能提交保存新版本;自建算法该列一律为否
生效版本门店订货当下真正执行的版本号
最新版本最近一次保存出来的版本号

版本记录列:当前算法版本、修改人员、修改日期、版本说明。选中某一行,右侧代码区即显示该版本内容,标题处显示"算法编号 + 算法名称 + 版本 N"。

顶部按钮是【退出】【切换生效版本】【帮助】三个:【切换生效版本】把版本记录里当前选中的版本设为生效版本;【退出】关闭窗口;【帮助】打开本功能的说明。三个页签各自带自己的一排按钮,互不共用。

算法选择页签:左侧算法清单,右侧版本记录与只读代码区

2)数据测试页签 ​

左侧是 模拟测试数据 里维护的测试数据列表,右侧是【最新测试结果】区。

选择项作用
测试选中只对多选中的测试数据行执行算法
测试全部遍历全部测试数据逐条执行

这两个不是按钮,而是页签左上角一组二选一的圆点,默认落在【测试选中】;选哪个,就按哪个范围跑。

【最新测试结果】区把这一轮的输入参数(订货周期、星期几、日均销用量、最低库存、最高库存、最低/最高起订数量、参加促销、近七天各天订货量、退货率、估清时间、同期销售数、安全系数、节假日等)和结果列并排显示,结果列是 数据编号、数据用途、测试结果、通过标识、测试时间、测试人员;带算法标识的归档列(算法编号、算法名称、算法版本、订货结果,外加全部输入参数)在【测试结果】页签看。每次执行【测试全部】前,上一轮的最新测试结果会被清空重跑,只保留本轮结果;【测试选中】不清空,逐条追加。历史结果去【测试结果】页签查。

数据测试页签:左侧测试数据参数,右侧最新测试结果

3)测试结果页签 ​

历史测试记录的归档区,字段与测试数据、算法版本一一对应,便于把某一轮订货结果与当时的输入参数放在一起复盘。

筛选与检索:

控件说明
一月内测试 / 三月内测试 / 半年内测试 / 一年内测试 / 全部测试按测试时间收窄记录范围(分别对应近 30/91/182/365 天与不限),五挡互斥
查当前算法 / 查全部算法只看当前选中算法,或看所有算法的测试记录,两项互斥
搜索框表格上方常驻一行搜索框,按 数据编号、算法名称、数据用途 等关键字定位
列头筛选行在标题下方各列的筛选格里直接输入条件;点列头还能排序

测试结果页签:时间挡位与算法范围筛选,以及归档的输入参数与订货结果

三、业务操作步骤 ​

步骤 1:打开功能并选中算法 ​

系统菜单 → 零售POS → 智能订货 → 【订货算法版本管理】,在算法选择页签的列表中单击目标算法。

步骤 2:挑选要验证的版本 ​

在右侧版本记录里点选版本号(例如版本 3)。代码区显示这个版本的逻辑,先通读一遍确认是自己刚提交的那版。

步骤 3:准备测试数据 ​

切到【数据测试】页签,左侧列出全部测试数据。数据不足时先去 模拟测试数据 补,覆盖日常、促销、节假日、高退货率、提前估清、起订边界几类场景。

步骤 4:执行测试 ​

  1. 需要快速验证个别场景:在测试数据列表用 Ctrl 或 Shift 多选行,把左上角选到【测试选中】;
  2. 版本上线前的完整验证:选到【测试全部】,让每一条用例都跑一遍;
  3. 列表里没有任何测试数据时,系统提示"当前不存在可测试的数据资料!",此时先去维护测试数据;
  4. 跑完后右侧【最新测试结果】区逐条显示订货结果。

步骤 5:逐条比对预期 ​

把算出的订货数量和门店经验值比。判断标准不是"完全等于人工订货",而是差异方向是否合理:旺季偏高、滞销偏低、促销上浮、超退货率下调。某几条明显异常时,记下数据编号,回 模拟测试数据 单独调这几个场景再跑。

步骤 6:切换生效版本 ​

  1. 回到【算法选择】页签(不在该页签时点【切换生效版本】只会先跳回本页签,不会执行切换);
  2. 在版本记录里选中通过测试的那个版本;
  3. 点【切换生效版本】,系统弹出是否确认的询问框,内容带上算法名称以及生效版本从第几版调整为第几版;
  4. 确认后生效版本列更新,门店订货随即按这一版计算;
  5. 如果选中的版本已经是当前生效版本,系统提示"当前版本就是生效版本。",不做改动。

步骤 7:留档与复盘 ​

到【测试结果】页签按时间挡位查看本轮记录,配合"查当前算法"只看这一套算法的结果分布,作为版本评审与后续迭代的依据。

四、版本机制要点 ​

  1. 最新版本不等于生效版本。 在 订货算法 里点【提交保存】推高的是最新版本,同时会问一句"是否采纳当前最新版本为生效版本":答否,新版本就只躺在版本记录里;只有一种情况例外——这条算法的生效版本还是 0(从没生效过),保存时会自动把新版本设为生效版本;
  2. 切换是即时生效的。 确认后门店下一次取数就按新版本算,所以务必在测试通过、且避开门店集中下单时段再切;
  3. 回退同样只需一次切换。 新版本上线后发现异常,选中上一个稳定版本点【切换生效版本】即可退回,不需要改代码;
  4. 一次只针对一行算法。 切换生效版本作用在当前选中的算法上,多套算法要分别确认;
  5. 默认算法是内置标准算法,不是缺省值。 「默认算法」列为是的这些算法由系统预置,代码区只读、提交保存会被拒(提示"默认标准算法不允许手工修改!"),它们没有可切换的新版本;要在它们的基础上改逻辑,就新建一条自己的算法把代码抄过去改。

五、典型使用场景 ​

场景 1:新算法灰度上线 ​

新写的算法先不接门店,在本功能跑一轮【测试全部】,与现网版本的测试结果对比;通过后只在试点物料上启用,观察一周退损与缺货,再逐步扩大范围。

场景 2:经验值调参 ​

促销上浮系数从 1.2 调到 1.15。保存成新版本后,专门勾选促销类的几条测试数据、把范围选到【测试选中】,比对两次订货数量的差值,确认调整幅度符合预期再切生效。

场景 3:节前集中验证 ​

中秋、春节前的销量结构与平日差别大,节日修正规则只在特定参数组合下才触发。节前用 模拟测试数据 配一批带节日标识与去年同期销量的用例做全量测试,确认修正生效。

场景 4:出问题时定位 ​

门店反映订货量突变。先到【测试结果】页签按"一月内测试"看近期版本的结果分布,再比对算法选择页签里的版本说明,定位是哪一次改动引入的,必要时切回旧版本止血。

六、权限与前置条件 ​

  1. 生效版本直接决定门店下单量,切换权限建议只开放给系统管理员与算法维护人员;
  2. 算法需已在 订货算法 中编写并通过语法检查;
  3. 测试数据需先在 模拟测试数据 中维护,且参数填全(缺同期销量、估清时间时,对应微调分支等于没测);
  4. 算法要真正影响门店订货,还必须在 订货规则 中绑定到对应类别或物料;
  5. 测试是纯计算,不写业务单据、不产生订货数据,可以放心多次执行。

七、常见问题 ​

1. 测试全部跑完,最新测试结果是空的 ​

  • 原因:当前算法版本代码没有把结果写回订货数量,或数据集中不存在可测试的测试数据;
  • 处理:先看算法是否以 [订货数量] 作为输出,再回 模拟测试数据 确认有数据;有条件时单独跑一条结构最简单的用例缩小范围。

2. 点了【切换生效版本】没反应 ​

  • 原因:当前停在数据测试或测试结果页签,第一次点击只是把窗口切回算法选择页签;也可能选中的版本本来就是生效版本;
  • 处理:回到算法选择页签,先在版本记录里点中目标版本,再点按钮;出现"当前版本就是生效版本。"说明无需切换。

3. 测试结果与手算不符 ​

  • 原因:多为参数缺失或格式不对——星期几不是 1–7、估清时间不是 HH:MM、退货率写成百分数;也可能是多条微调规则按书写顺序叠加,与预期的一次性调整不同;
  • 处理:把该用例的输入逐项核对一遍,然后拆成只命中单一规则的用例分步验证,定位到具体分支再改算法。

4. 切了新版本,门店订货还是老数量 ​

  • 原因:门店订货取的是绑定物料的算法,如果 订货规则 里绑定的是另一套算法,切换本套的生效版本不会有任何影响;
  • 处理:到 订货规则 中确认该物料 / 该类别实际绑定的算法编号,再到对应算法上切换生效版本。

5. 测试记录太多,找不到那一轮 ​

  • 原因:历史结果按月累积,默认视图只显示部分区间;
  • 处理:先用时间挡位收窄到当天或近一周,再勾选"查当前算法"排除其他算法的记录,最后在列头筛选行的"数据编号"格子里输入编号定位。

附:本文档变更记录 ​

日期变更
2026-11-09初稿
2026-11-10按当前版本订正:时间挡位对应天数;「默认算法」是内置标准算法而非缺省挂载;补上提交保存时的生效版本采纳规则与结果列归属
2026-11-10按运行中的客户端界面复核:顶部确有【帮助】;【测试选中】/【测试全部】是二选一圆点而非按钮;最新测试结果列改为 数据编号/数据用途/测试结果/通过标识/测试时间/测试人员;测试结果页签补回搜索框;三个页签各配一张实测截图