电商系统中,最核心的几个点就是如何圈选出商品、消费者、门店
在整个逻辑中,圈选有两个点
- 选出目标集合
- 给出圈选的规则
选出目标集合
以商品为例,在商品选品中,选出目标集合,有几种方式
- 通过人工方式将已有的商品列表导入到系统中
- 通过外部系统收集的商品列表导入到系统中,如一些商品橱窗、活动会场、指定门店
上面的选出目标集合的方式简单高效,使用门槛也不高,实现成本也相对较底。
通过圈选规则选定
在商品选品中,选择商品运营的方式有很多,绝大部分都是通过商品属性做分类、过滤、排除、聚合等操作。
商品属性多
因为商品的属性特别多,且商品还与之关联的实体也特别多,那么在如此多的属性下,必然能够归类的条件也会特别多。
商品来源多
商品线的数据往往不止来自于一方,还有许多在未售卖的时候,就会将这个商品建立起来。而在圈选活动的时候,如果只依赖于售卖商品,那将会缺失数据。所以,从各业务方收集数据也是一个大的工作。
商品标准不一样
由于来源方不一致,商品信息多多少少会有字段缺失或不一致。甚至有些线上线下的商品混合的情况。或是像淘宝京东这种来自不同平台的商品数据。
所以,对于这类数据,一定要自建一套商品体系来兼容整合来自天南地北的数据。并且,制定统一的规范来强制数据落地。
解法
建立统一的商品库
将各平台的商品统一建立自己的商品库。
由于这种数据是可预见的多字段、大数据量、多查询条件的三高表。必须在设计之初就规划好以后的查询方式。
如一开始就确立需要按区域条件查询商品,在设计时就可以拿区域做分表,
如一开始就按时间来做过滤条件,在设计时就要拿时间做分区等。
还要为查询时效作限制,这些都必须在产品提需求时就要考虑到并遵守好。否则后期就是烂摊子。
设定圈选规则
有了商品数据源了后,后面就是如何设定圈选规则了
- 按商品自己的属性设定
- 按集合的方式取并、交、差集
系统先设定1个固定筛选的项进行粗筛。再设定一部份商品属性作为过滤条件筛选。筛选的结果一定是个结果集。
得到结果集后,再将结果集进行并、交、差。在这个结果之上,一定要将结果数据保存下来,不能再提供是指定还是排除选项。否则,对于系统来说,圈选的意义就串了。
上面的逻辑是对于商品已经确定的时候的设计,先分析整个事件过程来梳理一个系统边界。
圈选核心事件较为简单。
一个规则建立好后,再在商品数据源增加了变更了商品,如何操作了?
- 每增加、删除一个商品,发送一个事件
- 监听事件的商品规则重跑一次,对于规则中符合的商品进行条件过滤,底层再进行数据的增减,保证数据一致
- 商品规则重跑只做一件事,更新规则是圈选规则的商品列表
规则有效期
一个圈选规则确定后,最好是要有个有效期设定,如果没有有效期,那么圈选规则只要设定好后,数据就永远需要提供。
至于圈选有效期是否让运营选择,还是默认设定,由业务来确定了。
圈选规则相比于标签规则来说,好处是非常多的。
在标签规则中,每个商品打个标,标签可以无限增,而商品属性就会变得非常臃肿,久而久之,总有崩掉的一天。
圈选规则应该是个非常灵活的方式,想怎么圈就怎么圈,数据源更多更灵活,规则也可以用交、并、差集的方式聚合等
总之,设定一下产品方案时、技术方案优先考虑到适应场景,将会对整个系统提供非常可靠的成本控制。
在圈选商品的时候,由于圈选的条件较多,商品数据较多,整个系统设计较为复杂。但如果是圈人设计的话,一般人的数量是整个系统中较大的存在,而圈人的圈选条件相对较少,这种圈人的设计与圈品的设计在核心设计上是趋同的。
圈店由于数据量不大,圈选条件不多,考虑的点相对较少。