台返测算

按台数补贴的政策,每个经销商每个月每款商品到底够不够门槛、该返多少

规则型 家电消费电子零售
输入数据
提货明细(经销商、商品、日期、数量、单据状态)、台返政策(商品、政策月份、单台补贴、最低提货量)
核心方法
按经销商+商品+月份汇总台数,达门槛后按台数×单台补贴计算
输出物
台返明细清单(实际提货量、门槛、单台补贴、返利金额)

台返是按台数给的补贴:这款商品这个月提够了量,每台补多少钱。难点不在算乘法,而在口径——作废的单算不算、跨月能不能累计、特价单要不要计入、当月没政策的商品怎么处理。这个模型把这些规则写死在工作流里,每月跑一次即可。

适用场景

  • 月度返利核算:每月初把上月提货明细跑一遍,得到各经销商各商品的应返金额。
  • 政策效果复盘:看哪些商品的门槛设得过高,长期没人达标。
  • 预算控制:按月统计台返支出,判断政策是否超出预算。

输入数据要求

两张表:提货明细和台返政策。

字段是否必需类型说明
单据号必需文本提货单唯一标识
提货日期必需日期格式 yyyy-MM-dd,取前七位作为统计月份
经销商编码必需文本汇总维度之一
商品编码必需文本汇总维度之一,同时用于匹配政策
数量必需整数台数;必须是整数,否则分组汇总会报类型错误
单据状态可选文本值为「已作废」的单据会被排除
经销商名称、商品名称、金额、是否特价可选文本 / 数值不参与判断,只带到结果里

台返政策表:

字段说明
商品编码与提货明细对应
政策月份格式 yyyy-MM;当月没有政策的商品不返
单台补贴每台补贴金额
最低提货量当月达到这个台数才返

计算方法

步骤规则
有效单据排除「已作废」的提货单
汇总口径按「经销商 + 商品 + 月份」汇总台数,跨月不累计
门槛判定汇总台数 ≥ 当月最低提货量才返,差一台也不返
返利金额实际提货量 × 单台补贴,按台数全额计算,不是只算超出部分
政策缺失该商品当月没有政策的,不返

特价单照常计入台数。台返按台数补贴,与成交价无关,所以特价单也算。如果你们的政策规定特价不享受台返,在第 2 步加一个条件排除即可。

工作流步骤

节点按 KNIME 英文名给出,iModel 中文界面的节点名以你所用的版本为准。示例数据已放在工作流内,导入后直接执行即可。

读取数据处理门槛判定关键计算输出
  1. 读取提货明细CSV Reader
  2. 剔除作废单据Row Filter
  3. 取统计月份String Manipulation
  4. 按经销商+商品+月份汇总台数GroupBy
  5. 关联当月政策Joiner
  6. 达到最低提货量Rule-based Row Filter
  7. 计算返利金额Math Formula
  8. 输出台返清单CSV Writer
  1. 读取两张表CSV Reader

    分别读取 purchases_unit.csv 与 unit_policy.csv;「数量」保持整数类型,编码类字段设为文本。

  2. 剔除作废单据Rule-based Row Filter

    规则:NOT ($单据状态$ = "已作废") => TRUE

  3. 取统计月份String Manipulation

    新增列「统计月份」:substr($提货日期$, 0, 7),得到 yyyy-MM。

  4. 汇总台数GroupBy

    按「经销商编码、经销商名称、商品编码、商品名称、统计月份」分组,「数量」取 Sum,得到「Sum(数量)」。

  5. 关联当月政策Joiner

    提货汇总与政策表内连接,左表按「商品编码 + 统计月份」,右表按「商品编码 + 政策月份」。当月无政策的商品在这一步自然被去掉;右表重复的列在连接设置里排除,结果表保持干净。

  6. 门槛判定Rule-based Row Filter

    规则:$Sum(数量)$ >= $最低提货量$ => TRUE

  7. 计算返利金额Math Formula

    roundHalfUp($Sum(数量)$ * $单台补贴$, 2)

  8. 排序输出SorterCSV Writer

    按返利金额从大到小排序,写出 result.csv。

参数

参数默认值作用怎么调
统计月份取法提货日期前 7 位按自然月汇总按财务月或季度汇总时,改第 3 步的取值方式
排除状态已作废第 2 步排除的状态值按你们系统的实际状态值填写
台返政策表unit_policy.csv门槛与补贴标准直接换成本期政策;新增商品补行即可,不用改工作流

用示例数据验证

73提货明细
6达标记录
19,580.00合计返利

运行后结果应与示例数据包里的 expected_result.csv 完全一致。数据中埋了正好等于门槛与差一台两种边界,都应被正确处理。

经销商商品月份提货量门槛单台补贴返利金额
D002P104 按摩椅 M92026-0575600.004,200.00
D004P101 颈椎按摩仪 K52026-053530120.004,200.00
D001P101 颈椎按摩仪 K52026-043030120.003,600.00
D002P103 眼部按摩仪 E22026-04555060.003,300.00
D001P102 筋膜枪 G32026-06312080.002,480.00
D003P105 足浴盆 F12026-05454040.001,800.00

另有五类不应出现在结果里的数据:差一台未达标的、四月未达标而五月达标的(跨月不累计)、作废后跌破门槛的、当月没有政策的商品、台数零星的背景单据。

适用边界

  • 只按月汇总。政策若按季度或活动期核算,要改统计口径,不能直接用。
  • 不处理退货。退货冲减台数需要在数据源先做净额处理,或在第 2 步增加退货单的扣减逻辑。
  • 门槛只看台数。若政策同时要求金额门槛,需增加一个条件。
  • 不校验政策重复。同一商品同一月份若有两条政策,关联会产生两行,需先清理政策表。

常见问题

返利是按全部台数算,还是只算超出门槛的部分?

本模型按全部台数算。若你们是阶梯式(超出部分另一个标准),需要在政策表增加档位区间,并把第 7 步改为梯度匹配。

一个经销商多个门店分别提货怎么办?

在第 4 步的分组列里加上门店字段即可,其余步骤不用改。

能和约定返利合并成一张表吗?

可以,两个模型的输出都是「经销商 + 期间 + 返利金额」,用表串联合并后再汇总。建议保留各自的明细,便于核对。

数据在 ERP 里,怎么接?

把第 1 步换成数据库读取节点,查询出上表字段即可。

iModel 专属客服
在线留言或电话联系
在线留言

留下您的问题和联系方式,我们会在一个工作日内回复。

手机与邮箱至少填一项

4008568196 拨打此号码联系我们

微信扫码咨询

iModel 微信咨询二维码

使用微信扫描上方二维码