商品模型:SPU、商品、SKU概念模型设计
商品系统是电商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概念模型设计的更多相关文章
- 42、生鲜电商平台-商品的spu和sku数据结构设计与架构
说明:Java开源生鲜电商平台中商品的spu和sku数据结构设计与架构,包括数据库图标与架构分析. 1. 先说明几个概念. 电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商 ...
- Java生鲜电商平台-商品的spu和sku数据结构设计与架构
Java生鲜电商平台-商品的spu和sku数据结构设计与架构 1. 先说明几个概念. 电商网站采用在商品模块,常采用spu+sku的数据结构算法,这种算法可以将商品的属性和商品的基本信息分离,分开维护 ...
- 商品的spu、sku及其之间的关系
今日来总结一下,电商系统中涉及到商品时必然会遇到的几个概念,SPU.SKU.单品等.彻底搞懂和明白了这几个概念对我们设计商品表是十分必要的前提条件. SPU:标准化产品单元 SPU = Standar ...
- SPU与SKU概念
1. 什么是SPU SPU 是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性.即:某一款商铺的公共属性. 通俗点讲,属性值.特性相同的货品就可以称为一个 S ...
- SpringBoot电商项目实战 — 商品的SPU/SKU实现
最近事情有点多,所以系列文章已停止好多天了.今天我们继续Springboot电商项目实战系列文章.到目前为止,整个项目的架构和基础服务已经全部实现,分布式锁也已经讲过了.那么,现在应该到数据库设计及代 ...
- tp5 商城商品模型删除
1:控制器代码 public function delete($id) { //验证id是否正确 $id if (!intval($id)) { return getJsonData(10010, ' ...
- 商品spu 和 sku的关系
总结一下在目前的电商系统中的商品涉及的属性spu,sku.搞清楚两者之间的关系对表的设计非常重要 spu Standard Product Unit (标准产品单位) ,一组具有共同属性的商品集 SK ...
- 在电子商务里,一般会提到这样几个词:商品、单品、SPU、SKU
简单理解一下,SPU是标准化产品单元,区分品种:SKU是库存量单位,区分单品:商品特指与商家有关的商品,可对应多个SKU. 首先,搞清楚商品与单品的区别.例如,iphone是一个单品,但是在淘宝上当很 ...
- 电商系统中的商品模型的分析与设计—续
前言 在<电商系统中的商品模型的分析与设计>中,对电商系统商品模型有一个粗浅的描述,后来有博友对货品和商品的区别以及属性有一些疑问.我也对此做一些研究,再次简单的对商品模型做一个介 ...
随机推荐
- linux中可以查看端口占用的方法
在自己搭建的服务器中,经常容易出现端口被占用的问题,那么怎么知道自己的端口是否被占用了呢? 可以使用下面的方法: linux中可以查看端口占用的方法. netstat -ant | grep 80 ( ...
- 《手把手教你》系列技巧篇(六十七)-java+ selenium自动化测试 - 读写excel文件 - 中篇(详细教程)
1.简介 前面介绍了POI可以操作excel,也简单的提到另一个操作excle的工具,本篇介绍一个其他的可以操作excel的工具,但是这个工具有一个前提,excel文件版本只能是97-2003版本,如 ...
- 我来教你如何用Docker部署最近火爆的人生重开模拟器
文章目录 获取项目源码包 Dockerfile 构建docker镜像 启动docerk容器 访问liferestart 如果人生可以重来... <可惜没如果> github项目地址:htt ...
- 前端程序员初步认识 docker
初步认识 docker 为什么要学习 docker 有同学说他开发工作中有两大神器,一个是 vim 编辑器,另一个就是 Docker. 什么是 docker Docker 是一个开源的应用容器引擎. ...
- Dubbo源码剖析六之SPI扩展点的实现之getExtensionLoader
Dubbo SPI机制之三Adaptive自适应功能 - 池塘里洗澡的鸭子 - 博客园 (cnblogs.com)中,示例案例中自定义了扩展接口而不是使用Dubbo已提供的扩展接口.在案例中,主程序分 ...
- DBLink的使用(从A库使用SQL查询B库的数据)
DBLink的使用 情景:今天我需要从A数据库查询B数据库的数据,进行一些数据比对和联合查询的操作. 所以用到的DBLink,在此记录一下使用流程,希望能够帮助下一个小白,一步到位的解决问题. 一句话 ...
- 解决POI多线程导出时数据错乱问题
项目里有一个导出功能,但随着数据量大量上涨,导出时间长到不可忍受,遂重写此接口,多线程导出的代码并不复杂,每页有一条线程负责写入,利用线程池去调度,用countdownLatch保证在所有数据写完后再 ...
- 【转】浅谈 Integer 类
突然发现自己对Integer i = 10;这种语法不太明白,于是乎有了这篇文章,那么在讲解 Integer 之前,我们先看下面这段代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 ...
- 常用环境变量配置(vim /etc/profile)
安装,参考:https://www.cnblogs.com/uncleyong/category/1457906.html # jdk export JAVA_HOME=/usr/local/jdk1 ...
- 内网安全---隐藏通信隧道基础&&网络通信隧道之一ICMP隧道
一,隐藏通信隧道基础知识 在完成信息收集之后,我们要判断流量是否出的去.进的来.隐藏通信隧道技术常用于在受限的网络环境中追踪数据流向和在非受信任的网络中实现安全的数据传输. 1.常见的隧道: .网络层 ...