商品系统是电商SaaS、新零售SaaS最基础、最核心的系统之一。商品系统几乎需要支撑所有业务系统,商品详情、购物车、订单、履约、结算、售后、库存、供应链等,都需要依赖商品系统的能力。为了保障业务的稳定性、可扩展性,必须要非常重视商品系统建设。

优秀的业务模型是建设高质量商品系统的基础,在建设系统的过程中,需要对商品基础概念有非常清晰的认识。

商品基础概念

SPU概念

SPU(Standard Product Unit),指的是标准化产品单元,是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。又可称为平台商品。

SPU的概念来源于电商平台业务,第一个关键点在于SPU模型会提取商品的共性属性用于信息检索,这些属性通常是能够快速识别商品,并且消费者较为关心的属性;第二个关键点在于SPU的属性是全平台标准化的,这样才能有效保障消费者的检索体验与商家利益,例如,消费者搜索256G的iphone12,如果有填写容量的商品能搜出来,没填容量的商品搜不出,这样的设计明显不合理,因此平台需要规范所有商品的关键属性。

商品概念

商品概念特指商家的商品,一个商家可以有很多商品,若N个商家卖同一个商品,例如iphone13,该场景下有1个SPU实例,N个商品实例。每个商品可以有多个规格,例如大小、颜色、尺码等。

SKU概念

SKU(Stock Keeping Unit),指的是最小存货单位。以iphone13为例,关键规格有颜色(黑色、红色、银色、金色)、容量(128G、256G、512G),可以组合出4x3=12个SKU。

不同业务模式下的商品模型设计

自营电商业务

自营电商业务对商品进行统一生产或采购、商品展示、在线交易,并通过物流配送将商品交付到消费者手中,业务模式相对比较简单,需要2层商品结构即可(自营商品、SKU)。

电商平台业务

电商平台由于拥有多个商家在平台售卖商品,因此商品模型比自营电商业务要复杂,通常需要三层商品结构(SPU、商家商品、SKU),SPU主要用于解决相同的商家商品信息统一的问题,便于平台运营管控整个平台商品体系。

随着业务发展,后续又加入了CSPU的概念,C是Child缩写,通过CSPU概念进一步管控商家发布的SKU。例如,假设iphone13只有银色64G、银色256G、灰色64G、灰色256G四种SKU,电商平台可以设置4个CSPU,商家的SKU可以直接继承这4个的CSPU,既规范了平台商品,也提高了商家发布商品效率。

电商SaaS业务

电商SaaS业务主要是帮助商家搭建线上商城,完成交易转化。与电商平台业务有个非常大的区别是,电商SaaS业务由于没有平台属性,不需要对商家的商品进行强管控,因此SPU概念不是必须的,即只需要2层商品结构即可(商家商品、SKU)。

新零售SaaS业务

新零售SaaS的商品模型远比电商SaaS复杂,因为新零售商家通常有复杂的组织架构,例如连锁体系,品牌加盟体系,同时新零售商家有全渠道运营的需求,即商家在尽可能多的线上渠道、门店渠道进行销售,以满足更多消费者的购物需求。因此商品系统需要设计更加复杂的商品模型,才能支撑起这些业务模式。

小结

商品领域的核心概念是SPU、SKU、商品,不同的业务模式会衍生出不同的商品结构与商品关系,要警惕过度设计与设计不足,过度设计会导致商品系统复杂度高,设计不足导致扩展性差,只有深入了解业务背后的本质需求,才能选择合适的方案。

商品模型:SPU、商品、SKU概念模型设计的更多相关文章

  1. 42、生鲜电商平台-商品的spu和sku数据结构设计与架构

    说明:Java开源生鲜电商平台中商品的spu和sku数据结构设计与架构,包括数据库图标与架构分析. 1. 先说明几个概念. 电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商 ...

  2. Java生鲜电商平台-商品的spu和sku数据结构设计与架构

    Java生鲜电商平台-商品的spu和sku数据结构设计与架构 1. 先说明几个概念. 电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商品的属性和商品的基本信息分离,分开维护 ...

  3. 商品的spu、sku及其之间的关系

    今日来总结一下,电商系统中涉及到商品时必然会遇到的几个概念,SPU.SKU.单品等.彻底搞懂和明白了这几个概念对我们设计商品表是十分必要的前提条件. SPU:标准化产品单元 SPU = Standar ...

  4. SPU与SKU概念

    1. 什么是SPU SPU 是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.即:某一款商铺的公共属性. 通俗点讲,属性值.特性相同的货品就可以称为一个 S ...

  5. SpringBoot电商项目实战 — 商品的SPU/SKU实现

    最近事情有点多,所以系列文章已停止好多天了.今天我们继续Springboot电商项目实战系列文章.到目前为止,整个项目的架构和基础服务已经全部实现,分布式锁也已经讲过了.那么,现在应该到数据库设计及代 ...

  6. tp5 商城商品模型删除

    1:控制器代码 public function delete($id) { //验证id是否正确 $id if (!intval($id)) { return getJsonData(10010, ' ...

  7. 商品spu 和 sku的关系

    总结一下在目前的电商系统中的商品涉及的属性spu,sku.搞清楚两者之间的关系对表的设计非常重要 spu Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SK ...

  8. 在电子商务里,一般会提到这样几个词:商品、单品、SPU、SKU

    简单理解一下,SPU是标准化产品单元,区分品种:SKU是库存量单位,区分单品:商品特指与商家有关的商品,可对应多个SKU. 首先,搞清楚商品与单品的区别.例如,iphone是一个单品,但是在淘宝上当很 ...

  9. 电商系统中的商品模型的分析与设计—续

    前言     在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...

随机推荐

  1. 【转】Mysql相关子查询&&MySQL获取分组后的TOP N记录

    https://www.cnblogs.com/Yiran583/p/6743870.html select * from test1 a where 2 > (select count(*) ...

  2. ios 类别和扩展-赵小波

    类别 @interface ClassName ( CategoryName ) // method declarations @end Category在iOS开发中使用非常频繁.尤其是在为系统类进 ...

  3. CSS解决父级边框坍塌的问题

    1. 浮动元素后面增加空的div 首先在父级标签内添加如下<div>标签 <div id="clear"></div> 然后在CSS中对该标签进 ...

  4. Java面试-常见基础笔试题目

    1. Vector, ArrayList, LinkedList的区别 Vector:①长度可变,以类似数组的形式存储于内存中,线程安全(同步),因为其大部分方法都有synchronized 关键字, ...

  5. nodejs串行无关联

    var async = require('async'); //串行无关联async.series({ one:function(cb) { setTimeout(function(){ consol ...

  6. ASP.NET Core 6框架揭秘实例演示[02]:基于路由、MVC和gRPC的应用开发

    ASP.NET Core可以视为一种底层框架,它为我们构建出了基于管道的请求处理模型,这个管道由一个服务器和多个中间件构成,而与路由相关的EndpointRoutingMiddleware和Endpo ...

  7. 基于 Kintex-7 XC7K325T的半高PCIe x4双路万兆光纤收发卡

    一.板卡概述 板卡采用Xilinx公司的XC7K325T-2FFG900I芯片作为主处理器,可应用于万兆网络.高速数据采集.存储:光纤隔离网闸等领域. 二.功能和技术指标: 板卡功能 参数内容 主处理 ...

  8. 面试突击24:为什么wait和notify必须放在synchronized中?

    在多线程编程中,wait 方法是让当前线程进入休眠状态,直到另一个线程调用了 notify 或 notifyAll 方法之后,才能继续恢复执行.而在 Java 中,wait 和 notify/noti ...

  9. [Java]Thinking in Java 练习2.14

    题目 在文档中加入各项的HTML列表. 代码 1 // object/Documentation4.java 2 // TIJ4 Chapter Object, Exercise 14, page 9 ...

  10. [Java]Java中的自动包装

    来源:https://www.cnblogs.com/cheapcrook/archive/2012/04/25/2470478.html 自动拆装箱(AutoBoxing) 是JDK1.5中新增加的 ...