谈谈快消品中小饮料企业产品配送政策方案设计
一、摘要
在前2篇博文:
- 谈谈快消品中小饮料企业可销售产品管理方案设计
- 谈谈快消品中小饮料企业产品价格政策方案设计
讨论了饮料企业销售管理中的可销售产品政策和产品价格政策方案设计,除此之外还有一个重要的产品政策:产品配送政策。可能大家对饮料企业的配送政策不是很了解,通常电商所谓的配送政策是满减、满抵,走的是资金通道;而饮料企业通常指满送(A产品满100箱,送B产品10箱),走的是实物通道。
二、产品配送政策
1、名词解释
1)主发产品:满足条件的产品,可以是单品也可以是产品组合
单品:产品A满100箱,送产品B10箱;
产品组合:产品A+产品B满100箱,送产品B10箱;
2)配送产品:可以是单品,也可以是产品组合;
单品:产品A满100箱,送产品B10箱;
产品组合:产品A满100箱,送产品B+产品C共10箱;(客户可以选择产品B 5箱,产品C 5箱;也可以产品B 10箱;也可以产品C 10箱等)
2、目标
1)不同客户配送量不一样
配送政策可以全国区域统一设定,具体市场可以设置自己市场配送政策,市场下辖区域还可以设置区域配送政策,甚至直接维护到客户。
2)同一客户同一主发产品配送量可以不一样
配送政策有时间有效性,同一客户同一产品不同时间段,配送政策可能不一。
3、设计方案
1)数据表设计
产品表特殊处理,可以标记哪些是产品组合,base_goods
CREATE TABLE `base_goods` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`catg_id` bigint(64) NOT NULL COMMENT '商品分类id',`prod_type` varchar(30) NOT NULL COMMENT '商品类型',`prod_no` varchar(20) NOT NULL COMMENT '商品编码',`prod_name` varchar(100) NOT NULL COMMENT '商品名称',`spec` varchar(100) DEFAULT NULL COMMENT '规格',`spec_factor` decimal(20,4) DEFAULT NULL COMMENT '规格系数',`jldw` bigint(20) DEFAULT NULL COMMENT '计量单位',`sale_price` decimal(20,4) DEFAULT NULL COMMENT '销售单价',`sale_oprice` decimal(20,4) DEFAULT NULL COMMENT '销售单价',`cost_price` decimal(20,4) DEFAULT NULL COMMENT '标准成本价',`py` varchar(100) DEFAULT NULL COMMENT '商品名称拼音简码',`period` varchar(20) DEFAULT NULL COMMENT '保质期',`bar_code` varchar(100) DEFAULT NULL COMMENT '条码',`memo` varchar(100) DEFAULT NULL COMMENT '备注',`is_purchase` char(1) DEFAULT NULL,`is_sale` char(1) DEFAULT NULL,`brand_id` bigint(64) DEFAULT '1' COMMENT '品牌id',`detail` varchar(100) DEFAULT NULL COMMENT '详情',`short_desc` varchar(100) DEFAULT NULL,`pic_url` varchar(100) DEFAULT NULL COMMENT '图片',`is_deleted` varchar(1) DEFAULT 'N',`is_onsale` varchar(1) DEFAULT 'Y',`is_mixed` varchar(1) DEFAULT 'N' COMMENT '是否产品组合',`safety_stock_min` decimal(20,4) DEFAULT NULL COMMENT '安全库存下限',`safety_stock_max` decimal(20,4) DEFAULT NULL COMMENT '安全库存上限',`create_uid` bigint(20) DEFAULT NULL,`create_date` datetime DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='商品表'
产品组合细表
CREATE TABLE `base_goods_prop_ref` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',`prop_id` bigint(20) DEFAULT NULL COMMENT '产品组合ID',`prop_type` varchar(30) DEFAULT NULL,`prop_name` varchar(30) DEFAULT NULL COMMENT '产品组合名称',`goods_id` bigint(20) DEFAULT NULL,`goods_no` varchar(10) DEFAULT NULL,`goods_name` varchar(100) DEFAULT NULL COMMENT '明细产品名称',`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`),UNIQUE KEY `NewIndex1` (`prop_id`,`goods_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
配送政策配置主表 sale_goods_policy
CREATE TABLE `sale_goods_policy` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水号',`policy_no` varchar(30) DEFAULT NULL,`policy_type` int DEFAULT NULL COMMENT '政策类型, 10-排它, 20-叠加',`obj_type` varchar(20) DEFAULT NULL COMMENT '对象类型',`obj_id` bigint(20) DEFAULT NULL COMMENT '对象ID',`obj_name` varchar(100) DEFAULT NULL COMMENT '对象名称',`goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',`goods_name` varchar(100) DEFAULT NULL COMMENT '商品名称|商品组合名称',`memo` varchar(255) DEFAULT NULL COMMENT '备注',`policy_desc` varchar(200) DEFAULT NULL COMMENT '政策描述',`s_date` datetime DEFAULT NULL COMMENT '开始日期',`e_date` datetime DEFAULT NULL COMMENT '截止日期',`status` varchar(10) DEFAULT NULL COMMENT '状态',`create_uid` bigint(20) DEFAULT NULL,`create_date` datetime DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL COMMENT '操作时间',PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
配送政策细表 sale_goods_policy_detail
CREATE TABLE `sale_goods_policy_detail` (`sid` bigint(20) NOT NULL AUTO_INCREMENT,`policy_id` bigint(20) DEFAULT NULL,`policy_no` varchar(100) DEFAULT NULL,`free_goods_id` bigint(20) DEFAULT NULL,`cond_min` decimal(20,4) DEFAULT NULL COMMENT '开始区间 >= cond_min',`cond_max` decimal(20,4) DEFAULT NULL COMMENT '最终区间 < cond_max',`cond_amount` decimal(20,4) DEFAULT NULL,`free_amount` decimal(20,4) DEFAULT NULL,`status` varchar(10) DEFAULT NULL,`memo` varchar(255) DEFAULT NULL,`policy_desc` varchar(100) DEFAULT NULL,`create_uid` bigint(20) DEFAULT NULL,`create_date` datetime DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
政策分解中间表 sale_goods_policy_level
CREATE TABLE `sale_goods_policy_level` (`sid` bigint(20) NOT NULL AUTO_INCREMENT,`policy_id` bigint(20) DEFAULT NULL,`policy_no` varchar(100) DEFAULT NULL,`client_id` bigint(20) DEFAULT NULL,`goods_id` bigint(20) DEFAULT NULL,`level` int(11) DEFAULT NULL,`write_uid` bigint(20) DEFAULT NULL,`write_date` datetime DEFAULT NULL,PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
政策最终生成表 sale_goods_policy_list
CREATE TABLE `sale_goods_policy_list` (`sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水号',`policy_date` date DEFAULT NULL COMMENT '政策日期',`policy_type` int DEFAULT NULL COMMENT '政策类型',`obj_id` bigint(50) DEFAULT NULL COMMENT '对象ID',`obj_name` varchar(100) DEFAULT NULL COMMENT '对象名称',`goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',`policy_no` varchar(100) DEFAULT NULL,`sourceid` bigint(20) DEFAULT NULL,`policy_desc` varchar(100) DEFAULT NULL,`policy_desc_full` varchar(200) DEFAULT NULL COMMENT '政策描述完整版',`memo` varchar(255) DEFAULT NULL COMMENT '备注',`write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',`write_date` datetime DEFAULT NULL COMMENT '操作时间',PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
2) 具体实现
数据准备
产品数据:产品1,产品2,组合1(产品1,产品2)
市场区域:华东市场(苏北区域、苏南区域),华中市场(鄂东区域,鄂西区域)
客户信息:客户1(华东–苏北),客户2(华东–苏南),客户3(华中–鄂东),客户4(华中–鄂西)
政策维护
政策主表数据
政策号 | 政策类型 | 产品 | 对象类型 | 对象名称 | 开始日期 | 截止日期 |
---|---|---|---|---|---|---|
18101401 | 10 | 产品1 | 全国 | 全国 | 2018-10-01 | 2018-12-30 |
18101402 | 10 | 产品1 | 市场 | 华东市场 | 2018-10-01 | 2018-12-30 |
18101403 | 20 | 产品2 | 全国 | 全国 | 2018-10-01 | 2018-12-30 |
18101404 | 10 | 产品2 | 市场 | 华中市场 | 2018-10-01 | 2018-12-30 |
18101405 | 10 | 组合1 | 全国 | 全国 | 2018-10-01 | 2018-12-30 |
18101406 | 10 | 组合1 | 地区 | 华东-苏南 | 2018-10-01 | 2018-12-30 |
政策唯一性验证
产品 + 对象(对象类型,对象ID)+ 生效日期不能重复;
产品 | 对象类型 | 对象名称 | 开始日期 | 截止日期 | 是否重复 |
---|---|---|---|---|---|
产品1 | 全国 | 全国 | 2018-10-01 | 2018-12-30 | 没重复 |
产品1 | 市场 | 华东市场 | 2018-10-01 | 2018-12-30 | 没重复 |
产品1 | 市场 | 华东市场 | 2018-08-01 | 2018-12-30 | 重复,时间段有交叉 |
产品2 | 全国 | 全国 | 2018-10-01 | 2018-12-30 |
政策细表数据
政策号 | 主发产品 | 配送产品 | 起配量(始>=) | 起配量(止<) | 配送基数 | 配送量 | 说明 |
---|---|---|---|---|---|---|---|
18101401 | 产品1 | 产品1 | 10 | 200 | 10 | 1 | [10,200)箱,每10箱送1箱 |
18101401 | 产品1 | 产品1 | 200 | - | 10 | 1.2 | [200,)箱,每10箱送1.2箱 |
18101402 | 产品1 | 产品1 | 10 | - | 10 | 1.1 | [10,)箱,每10箱送1.1箱 |
18101403 | 产品2 | 产品2 | 100 | - | 20 | 1 | [100,)箱,每20箱送1箱 |
18101404 | 产品2 | 产品2 | 100 | - | 20 | 1 | [100,)箱,每20箱送1箱 |
18101405 | 组合1 | 组合1 | 100 | - | 20 | 1 | [100,)箱,每20箱送1箱 |
18101406 | 组合1 | 组合1 | 100 | - | 20 | 1.2 | [100,)箱,每20箱送1.2箱 |
政策分解到 sale_goods_policy_level
政策号 | 政策类型 | 主发产品 | 客户 | 政策来源 | 优先级 |
---|---|---|---|---|---|
18101401 | 10 | 产品1 | 客户1 | 全国 | 10 |
18101401 | 10 | 产品1 | 客户2 | 全国 | 10 |
18101401 | 10 | 产品1 | 客户3 | 全国 | 10 |
18101401 | 10 | 产品1 | 客户4 | 全国 | 10 |
18101402 | 10 | 产品1 | 客户1 | 市场 | 20 |
18101402 | 10 | 产品1 | 客户2 | 市场 | 20 |
- | - | - | - | - | - |
18101403 | 20 | 产品2 | 客户1 | 全国 | 10 |
18101403 | 20 | 产品2 | 客户2 | 全国 | 10 |
18101403 | 20 | 产品2 | 客户3 | 全国 | 10 |
18101403 | 20 | 产品2 | 客户4 | 全国 | 10 |
18101404 | 10 | 产品2 | 客户3 | 市场 | 20 |
18101404 | 10 | 产品2 | 客户4 | 市场 | 20 |
- | - | - | - | - | - |
18101405 | 10 | 组合1 | 客户1 | 全国 | 10 |
18101405 | 10 | 组合1 | 客户2 | 全国 | 10 |
18101405 | 10 | 组合1 | 客户3 | 全国 | 10 |
18101405 | 10 | 组合1 | 客户4 | 全国 | 10 |
18101406 | 10 | 组合1 | 客户2 | 地区 | 30 |
根据优先级,去重(政策类型+产品+客户)后结果如下 sale_goods_policy_list:
政策号 | 政策类型 | 主发产品 | 客户 | 政策来源 | 优先级 |
---|---|---|---|---|---|
18101401 | 10 | 产品1 | 客户3 | 全国 | 10 |
18101401 | 10 | 产品1 | 客户4 | 全国 | 10 |
18101402 | 10 | 产品1 | 客户1 | 市场 | 20 |
18101402 | 10 | 产品1 | 客户2 | 市场 | 20 |
- | - | - | - | - | - |
18101403 | 20 | 产品2 | 客户1 | 全国 | 10 |
18101403 | 20 | 产品2 | 客户2 | 全国 | 10 |
18101403 | 20 | 产品2 | 客户3 | 全国 | 10 |
18101403 | 20 | 产品2 | 客户4 | 全国 | 10 |
18101404 | 10 | 产品2 | 客户3 | 市场 | 20 |
18101404 | 10 | 产品2 | 客户4 | 市场 | 20 |
- | - | - | - | - | - |
18101405 | 10 | 组合1 | 客户1 | 全国 | 10 |
18101405 | 10 | 组合1 | 客户3 | 全国 | 10 |
18101405 | 10 | 组合1 | 客户4 | 全国 | 10 |
18101406 | 10 | 组合1 | 客户2 | 地区 | 30 |
计算订单配送量
订单数据:
订单号 | 订单日期 | 客户 | 产品明细 | 数量 | 单位 | 配送量 |
---|---|---|---|---|---|---|
SO18101401 | 181014 | 客户1 | 产品1 | 190 | 箱 | 29 |
- | - | - | 产品2 | 210 | 箱 | 20 |
SO18101502 | 181015 | 客户4 | 产品1 | 90 | 箱 | 9 |
- | - | - | 产品2 | 240 | 箱 | 36 |
计算订单配送量
客户1–产品1:
18101402政策,10箱起送,每10箱送1.1箱,则配送量 = 190 / 10 * 1.1 = 20.9, 20箱
18101405政策,100箱起送,每20箱送1箱,则配送量 = 190 / 20 * 1 = 9.5, 9箱(产品1+产品2,共9箱,这里取9箱产品1),配送总量:29箱
客户1–产品2:
18101403政策,100箱起送,每20箱送1箱,则配送量 = 210 / 20 * 1 = 10.5, 10箱
18101405政策,100箱起送,每20箱送1箱,则配送量 = 210 / 20 * 1 = 10.5, 10箱(产品1+产品2,共10箱,这里取10箱产品1),配送总量:20箱
客户4–产品1:
18101401政策,10箱起送,每10箱送1箱,则配送量 = 90 / 10 * 1=9箱
18101405政策,100箱起送,每20箱送1箱,则配送量 = 0箱
客户4–产品2:
18101403政策,100箱起送,每20箱送1箱,则配送量 = 240 / 20 * 1 = 12箱
18101404政策,100箱起送,每20箱送1箱,则配送量 = 240 / 20 * 1 = 12箱
18101405政策,100箱起送,每20箱送1箱,则配送量 = 240/20*1 = 12箱(产品1+产品2,共12箱,这里取12箱产品2),配送总量:36箱
三、小结
1、政策维护合理性检验欠缺
本方案虽做了政策优先级控制,客户 > 地区 > 市场 > 全国,但是全国政策明细一定比市场政策明细力度小吗?未必,程序没有检测。
2、订单计算最终配送量有点复杂
1)配送产品涉及产品组合时,允许客户调整配送产品数量;
2)计算产品配送量时,要考虑政策叠加性:一方面来自可叠加的政策(政策类型为20的政策),另一方面来自产品组合的政策;
3)订单修改,需要重新计算配送量。
更多企业信息化文章:中小企业信息化之路
关于博主:老马历写记
谈谈快消品中小饮料企业产品配送政策方案设计相关推荐
- 谈谈快消品中小饮料企业 紧俏品管理方案设计
一.摘要 在前3篇博文: 谈谈快消品中小饮料企业可销售产品管理方案设计 谈谈快消品中小饮料企业产品价格政策方案设计 谈谈快消品中小饮料企业产品配送政策方案设计 讨论了饮料企业销售管理中的可销售产品政策 ...
- 谈谈快消品中小饮料企业产品价格政策方案设计
一.摘要 在上篇谈谈快消品中小饮料企业可销售产品管理方案设计一文中,谈到了饮料企业销售管理中的产品可销售政策,即不同客户可以卖不同产品.饮料企业销售管理还有另外两个重要政策:产品价格政策和产品配送政策 ...
- 组合品在快消品饮料企业信息化中应用
组合品顾名思义就是若个产品的组合,在快消品饮料企业中十分常见,如:之前讨论产品配送政策时曾提到产品A满100箱时,配送产品B和产品C共10箱,这里产品B和产品C就可以维护成B+C组合,共10箱,经销商 ...
- 快消品行业B2B电商平台解决方案
快消品行业发展现状简析 -- 随着居民消费水平的不断提高,中国消费者对高端快消品购买意愿的增加,2019年上半年,社会消费品零售总额195210亿元,同比名义增长8.4%,其中,6月份社会消费品零售总 ...
- 快消品行业采购交易平台一站式电子采购,采购系统推动企业采购智能化
当前,新一轮科技革命正在推动各个行业的产业变革,数字化.智能化成为大势所趋.快消品具有类型繁多.周转速度快等特点,对物流方面的及时性和精准性要求较高,而且随着消费者需求升级,快消品企业还面临着产品种类 ...
- 快消品行业定制化多租户SaaS系统:提供个性化配置,加速快消品企业运转效率
快消品作为批发行业里竞争较大的品类,其发展情况一直以来都备受瞩目.2021年前三季度,中国快消品的销量和销售额分别增长3.3%和3.6%,实现温和复苏,同时,平均售价小幅上升0.3%,快消B2B行业由 ...
- 快消品企业营销费用管理的困惑
"快消品企业,一开始是老板痛苦,天天几十上百的审批单,后来老板把重担交给了营销总监,于是营销总监开始痛苦,就把责任分解给了大区经理或者助理,于是就有了管理方式最简单,费用使用最自由,结果最不 ...
- 快消品企业为什么要上专业的费用管理系统
近些年,快消品企业在销售增长乏力的现状下,不能再通过无节制的渠道铺货进行野蛮生长,转而更注重每一笔投入的营销费用的投入产出比了,笔者接触过很多快消品企业,其费用管理模式概括为两种: 第一种:粗旷式管理 ...
- 快消品企业如何进行销售管理?
快消品行业既属于传统行业,也属于新兴的行业.人们的消费观念的发展,以及物质条件的发展,为快消品行业打下夯实的基础.但同时,我们的快消品行业产品销售周期短,品种多,销售的场所也不同,而且还有保质期的缘故 ...
最新文章
- 深入卷积神经网络背后的数学原理 | 技术头条
- 第二十五天 how can I 坚持
- 知识图谱 图数据库 推理_图数据库的知识表示与推理
- Spring Boot(5) web开发(3)拦截器、文件上传、异常处理
- 【OpenCV】图像变换(五)-仿射变换和透视变换
- 使用git遇到的问题汇总
- ESP32 超声波避障小车
- 无线射频收发芯片SI24R1技术相关问题解答
- 鼠标右键新建没有.txt文本文档
- DXP2004/Altium Desinger 自己画元器件和封装,及注意事项
- 嗖嗖移动大厅JAVA(免费源码分享)
- RESTful 架构风格概述(图文介绍)
- Celery在Django下安装配置
- 来自春天的仪式感:英伦花艺佳作,用鲜花点缀生活丨好书优选
- 【hbase问题】org.apache.hadoop.hbase.ipc.ServerNotRunningYetException: Server is not run
- Modbus协议应用纪实
- 苏州大学2021年全日制博士学位研究生招生简章
- 【小学数学论文】浅析小学学生数学计算能力的培养
- 基于Python的多时相数据合成
- 如何戒掉短视频?2个方法适合职场人,从未失败过
热门文章
- sdcms php源码,Sdcms - 源码下载|Windows编程|其他小程序|源代码 - 源码中国
- 腾讯校友的创业江湖 :2018腾讯系离职员工创业图谱
- 寒冬之下,沈南鹏朋友圈的价值马上要涨到3万亿了!
- 启动VS2005调试器时出错: 绑定句柄无效
- Win10正式版怎么激活?
- 史上最详尽,全方位解读车路协同
- Cloud一分钟 | 英国发布大规模遗传数据;德国电信与华为联合发布PLAS云连接服务...
- win7变成xp风格了怎么改回_【让win7变成xp】win7变成xp风格_win7界面变成xp
- 微信小程序从零开始经验贴(含详细资料及链接)
- Spring Boot 排除自动配置