談談快消品中小飲料企業產品價格政策方案設計
阿新 • • 發佈:2018-11-04
一、摘要
在上篇談談快消品中小飲料企業可銷售產品管理方案設計一文中,談到了飲料企業銷售管理中的產品可銷售政策,即不同客戶可以賣不同產品。飲料企業銷售管理還有另外兩個重要政策:產品價格政策和產品配送政策,本文先討論產品價格政策。
二、產品價格政策
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)沒有考慮價格係數,比如公司可以定一個基準售價,不同市場區域設定價格係數,那麼只要基準售價調整,不同市場客戶最終價格同比例調整;