谈谈快消品中小饮料企业产品价格政策方案设计

时间:04-16来源:作者:点击数:

一、摘要

在上篇谈谈快消品中小饮料企业可销售产品管理方案设计一文中,谈到了饮料企业销售管理中的产品可销售政策,即不同客户可以卖不同产品。饮料企业销售管理还有另外两个重要政策:产品价格政策和产品配送政策,本文先讨论产品价格政策。

二、产品价格政策

1、目标
1)同品不同价

一个产品可能有全国区域统一指导价,具体市场可以设置自己市场指导价,市场下辖区域还可以设置区域指导价,甚至直接维护到具体客户上。

2)同品不同时间段不同价

产品价格有时间有效性,同一客户同一产品不同时间段,价格可能不一。

2、设计方案
1)数据表设计
价格配置表 sale_goods_price
CREATE TABLE `sale_goods_price` (
  `sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水号',
  `obj_type` varchar(20) DEFAULT NULL COMMENT '对象类型',
  `obj_id` bigint(50) DEFAULT NULL COMMENT '价格对象',
  `obj_name` varchar(255) DEFAULT NULL COMMENT '对象名称',
  `goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',
  `price` decimal(20,4) DEFAULT NULL COMMENT '价格',
  `memo` varchar(255) DEFAULT NULL COMMENT '备注',
  `s_date` datetime NOT NULL COMMENT '开始日期',
  `e_date` datetime NOT NULL COMMENT '截止日期',
  `status` varchar(10) DEFAULT NULL COMMENT '状态',
  `write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',
  `write_date` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`sid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
价格分解表 sale_goods_price_list
CREATE TABLE `sale_goods_price_list` (
  `sid` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '流水号',
  `price_date` date DEFAULT NULL COMMENT '价格日期',
  `obj_id` bigint(50) DEFAULT NULL COMMENT '价格对象',
  `obj_name` varchar(50) DEFAULT NULL,
  `goods_id` bigint(20) DEFAULT NULL COMMENT '商品id',
  `price` decimal(20,4) DEFAULT NULL COMMENT '价格',
  `memo` varchar(255) DEFAULT NULL COMMENT '备注',
  `sourcetype` varchar(20) DEFAULT NULL COMMENT '价格源类型',
  `sourceid` bigint(20) DEFAULT NULL COMMENT '源价格id',
  `write_uid` bigint(20) DEFAULT NULL COMMENT '操作人',
  `write_date` datetime DEFAULT NULL COMMENT '操作时间',
  PRIMARY KEY (`sid`),
  KEY `idx_goods_price_date` (`price_date`,`sourcetype`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

将配置表sale_goods_price中的数据,每天自动分解到sale_goods_price_list,全部/市场/区域,分解到区域(sourcetype=‘市场区域’),客户依然分解到客户(sourcetype=‘客户’)。

2)具体实现
数据准备:

市场区域:华东市场(苏北区域、苏南区域),华中市场(鄂东区域,鄂西区域);

客户信息:客户1(华东–苏北),客户2(华东–苏南),客户3(华中–鄂东),客户4(华中–鄂西);

产品信息:产品1,产品2;

价格维护:
产品 对象类型 对象名称 价格 开始日期 截止日期
产品1 全国 全国 60 2018-10-01 2018-12-30
产品1 区域 苏南 55 2018-10-01 2018-12-30
产品2 全国 全国 40 2018-10-01 2018-12-30
产品2 市场 华中市场 38 2018-10-01 2018-12-30
产品2 客户 客户2 45 2018-10-01 2018-12-30
价格分解:

优先级:全国 = 10,市场 = 20,地区 = 30,客户 = 40,值越大优先级越高。

产品 对象类型 对象名称 价格 价格来源 优先级 开始日期 截止日期
产品1 市场区域 华东-苏北 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华东-苏南 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华中-鄂东 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华中-鄂西 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华东-苏南 55 地区 30 2018-10-01 2018-12-30
产品2 市场区域 华东-苏北 40 全国 10 2018-10-01 2018-12-30
产品2 市场区域 华东-苏南 40 全国 10 2018-10-01 2018-12-30
产品2 市场区域 华中-鄂东 40 全国 10 2018-10-01 2018-12-30
产品2 市场区域 华中-鄂西 40 全国 10 2018-10-01 2018-12-30
产品2 市场区域 华中-鄂东 38 市场 20 2018-10-01 2018-12-30
产品2 市场区域 华中-鄂西 38 市场 20 2018-10-01 2018-12-30
产品2 客户 客户2 45 客户 40 2018-10-01 2018-12-30

根据优先级,排除重复项,得到最终结果如下:

产品 对象类型 对象名称 价格 价格来源 优先级 开始日期 截止日期
产品1 市场区域 华东-苏北 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华中-鄂东 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华中-鄂西 60 全国 10 2018-10-01 2018-12-30
产品1 市场区域 华东-苏南 55 地区 30 2018-10-01 2018-12-30
产品2 市场区域 华东-苏北 40 全国 10 2018-10-01 2018-12-30
产品2 市场区域 华东-苏南 40 全国 10 2018-10-01 2018-12-30
产品2 市场区域 华中-鄂东 38 市场 20 2018-10-01 2018-12-30
产品2 市场区域 华中-鄂西 38 市场 20 2018-10-01 2018-12-30
产品2 客户 客户2 45 客户 40 2018-10-01 2018-12-30
客户获取价格
  • 指定价格日期(2018-10-14)
  • 遍历价格有效期包含2018-10-14的所有产品价格(价格分解表中包含:客户所属区域或客户自身的行记录)

价格日期2018-10-14,客户所有产品价格记录,以客户1、客户2为例:

价格日期 客户 产品 对象类型 对象名称 价格
2018-10-14 客户1 产品1 市场区域 华东-苏北 60
2018-10-14 客户1 产品2 市场区域 华东-苏北 40
2018-10-14 客户2 产品1 市场区域 华东-苏南 55
2018-10-14 客户2 产品2 市场区域 华东-苏南 40
2018-10-14 客户2 产品2 客户 客户2 45

客户2,产品2有2条价格,一条来自市场区域,一条来自客户本身,鉴于客户优先级高于市场区域,客户2对于产品取价格45,最终结果如下:

价格日期 客户 产品 价格
2018-10-14 客户1 产品1 60
2018-10-14 客户1 产品2 40
2018-10-14 客户2 产品1 55
2018-10-14 客户2 产品2 45
3)价格何时产生

价格产生机制有2种:

  • 价格维护好后,立即产生;
  • 通过后台作业,系统定时产生(如:每天凌晨2点);

三、小结

本方案还有2个缺陷:

1)没有考虑客户组;

2)没有考虑价格系数,比如公司可以定一个基准售价,不同市场区域设置价格系数,那么只要基准售价调整,不同市场客户最终价格同比例调整;

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门