zl程序教程

您现在的位置是:首页 >  Java

当前栏目

电商商品系统的演进分析

2023-02-18 16:34:43 时间

注意:由于图片是png的,不适合夜间阅读!(不想花时间画图了~~)

好久没有给大家带来新的知识分享了,2022的第一篇(是的,你没看错!第一篇)就给大家讲讲商品模型的演进过程吧!希望对大家做的工作有所帮助~~


我们来假设:现在需要从零开始做电商,毫无经验,也没有竞对可参考,你就是全球独一份!你的系统会做成什么样呢?我们一起拨云见日吧!

历史烟云

站在技术的视角,要去做一个电商商品系统,毫无疑问你需要一个商品实体,同时为了方便用户在C端筛选浏览,继承自CMS思想(栏目-->文章模型),很容易想到给每类商品增加一个分类,把相似的商品归属到相同的类目下。比如:超市中看到的酒水区、粮油区就是对同类商品的一个分类。此时我们的模型如下:

别看这个简单的模型,初期他就可以跑起来了。但是这个分类的方式伴随业务发展遇到一个问题,一些知名品牌他不仅仅只生产一个分类的商品,比如小米,又造手机、又造手机壳!那么消费者想找小米手机壳,在上面的模型下怎么办?只能先找到手机壳这个分类,然后一个一个的翻!这个时候的诉求就是,系统怎么能够快速的把是小米的手机壳找出来呢?思路无非是两个:一是让消费者选择完手机壳后再选一下小米,或者消费者先选小米,然后再选一下手机壳!当然不管采用这两种方式的哪一种都有一个问题,【小米】该怎么在模型上表达呢?对应真实的物理世界,又抽象出品牌这个概念。

上面的模型演进后,消费者还想更进一步的快速找到自己想要的商品。比如裙子有风格、有长短、有材质各种差异;电子产品如手机有CPU、摄影头像素、电池容量等等差异。也就是说同一个类目下商品的属性会有差异,通过这些属性可以进行快速的筛选定位商品。

一个分类是可以有若干属性的,每个属性又有多个属性值;又因为一个商品对应一个分类,所以一个商品会有多个属性值。基于此,模型此时演化成:

到这里,好像基本的能力都可以满足了,但是在线上开展业务中,我们发现还有一个特点。比如买手机有:Xiaomi 12S Ultra 8GB+256GB 经典黑;Xiaomi 12S Ultra 12GB+256GB 冷杉绿 等多种选择,那么按照上面的模型,我们就针对这两种创建对应的两个商品。虽然从技术上可以满足,但是站在消费者角度,他想要先看到 Xiaomi 12S 的全部信息然后逐步选择,页面上要去怎么聚合这两个相关性很高的商品呢?

此时有两种选择,典型的就是京东与淘宝各自的方案(由于没有实际待过、看过代码。所以部分内容纯属YY+网络资料来源,如有雷同,纯属意外!)

模型选择

京东的选择

京东选择的就是:每一种不同规格就对应一个商品(我们这里先不说sku概念),然后具体到消费端,会去把这些不同规格的商品进行一个聚合,我们可以大概猜测(因为没有真实见过,只能猜)他们的模型如下:

实际实施的时候,商品-包关系可能直接冗余存储在商品中。

淘宝的选择

在淘宝的商品模型中,将 Xiaomi12s 中的不同规格单独抽象出来,不同规格的商品我们称之为SKU(Stock Keeping Unit),他上面承载价格、库存等信息,商品上去承载 12s 不同sku的共有信息,如:类目、品牌、属性值等。

采用这种模型时,在消费端透出是基于商品维度的;通过商品去找对应的sku然后做页面渲染。

京东、淘宝这种不同的选择各有什么优缺点呢?还是说会存在一种模式碾压另一种?我们可以通过表格做一个简单的分析:

京东模型:单层商品模型

淘宝模型:双层商品模型

比较

消费端的SKU直接与供应链的货品对应

消费端的商品下的SKU与供应链的货品对应

京东自营历史背景,这种与供应链的交互更直接

信息治理、优化重复动作多

结构化信息治理只看商品

淘宝模型信息质量治理更便捷

每个SKU存的都是完整信息

SKU共有信息在商品上,SKU存差异化信息

淘宝模型存储成本更低,消费端呈现更直接(京东为了聚合展示还是需要虚拟加一层SKU包的概念)

SKU差异化更容易做(比如SKU维度的渠道、交易、履约等)

SKU维度差异化实施成本高(同前)

需要到SKU更细节差异化的业务,淘宝模型链路成本高(主要是稳定性与研发成本)

SPU 的诞生记

通过上面的分析应该能够理解类目、品牌、属性、规格、商品、SKU这几个概念是如何演化而来的了。但是这里好像还少了一个环节,SPU在哪里体现呢?接下来我们就继续上面的逻辑来推导出SPU的诞生过程。

其实SPU并不是所有电商一定要具备的,一般来说在自营电商中 SPU==商品,而在平台型电商中 SPU 是商品的上一级。为什么会有这种差异呢?我们逐步拆解来分析。注意,下面都是按照product-sku的两层模型来推导,没有涉及京东的一层SKU模型,个人觉得演进思路应该是大同小异的。

自营:只有自己平台一个商家

在只有自己一个商家的时候,每一个品在平台上都是独一无二的,比如小米官网买Xiaomi 12s,不会说有两个入口,进去对应的信息、价格、服务还有差异化,它一定是天然统一的。这个时候我们如果在商品上再抽象一个SPU独立概念出来没有意义,所以,此时的实际模型可以理解为下面的样子

平台:支撑多个商家在这里玩

自营不需要区分开SPU,为什么平台就一定需要区分开呢?这里继续用 Xiaomi 12s 来举例子,既然是平台型电商,那么卖这款商品的商家可能就会有很多。从物理概念上讲我们知道大家买的都是 Xiaomi 12s这款手机,在系统中都是独立的商家,我们怎么识别这些手机的关联性呢?除了关联性还有这些手机都是同一家生产的,他们有些信息都是一样的,每个商家都要重复填写吗?我们可以至少从下面三个视角来看问题:

供给

  • 将SPU理解为一个模板,所有商家可以基于该模板快速填充公共信息
  • 平台也可以基于SPU对部分类型商品做强管控,提升供给商品结构化信息完整度与质量

消费

  • 通过导购位置聚合同类品,提升消费者筛选效率
  • 同款识别辅助算法提升精准度

平台

  • 有了SPU的关联标识,可以在平台范围内实现某个SPU的统计、运营、管控

基于上面的SPU逻辑,我们可以更进一步的提出CSPU的概念,因为既然商品维度已经是标准化的,那么SKU维度一些信息也是可以标准化的,他可以更细粒度的解决上面所说的供给、导购问题。到此可以推导出下面的结构:

那么到这里是不是就终止了呢?并没有,现实世界的业务、政治环境不断的发展,变得越来越复杂,比如:出现的全球经营、区域化精细经营等。上面的形态从供给、到消费都有新的诉求。比如之前平台所有商家都基于SPU来发,但是在连锁经营中一个商家可能在平台上不再只对应一个店铺,而是一对多的情况(典型的盒马、每日优鲜等),会基于用户的位置匹配对应门店。但是这些门店本质卖的商品针对这个商家来说还是相同的,他们只是要到不同的门店有信息差异化,甚至是这些门店商品哪些信息、权限可以供门店修改也是要总部商家进行管控的,在这样的情况下我们是需要总部有一个主档的概念,门店基于主档去做分发。

至此,商品域中核心的概念大家都基本能够get是如何演进而来的了。但是上面我们的推导还没有涉及到供应链,因为早期的业务,一般都是商家自己把自己仓库里的货品上翻成平台的商品进行售卖,但伴随平台发展能力逐步健全,不管是为了为商家提供更多服务能力,还是业务深耕开始自营,都会开始涉及到供应链。这里最核心的几个问题是:商货关系(主要是仓、库存)、库存共享、库存专享、以及货品到商品的快速上翻等等,这些问题怎么解呢?

欢迎你加入抖音电商,我们来一起探索这些有趣的问题吧!