商品系统是电商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. Apache——配置与应用

    Apache配置与应用 1.概述 2.httpd服务支持的虚拟主机类型 3.构建虚拟Web主机 4.构建Web虚拟目录与用户授权限制 5.日志分割 6.AWStats分析系统 1.概述: 虚拟web主 ...

  2. NFS共享存储服务 (如果厌倦了外面的生活,那就来我身边吧,帮我插秧)

    NFS共享存储服务     1.NFS概述 2.在服务器使用NFS发布共享资源 3.在客户机中访问NFS共享资源 1.NFS概述: NFS是一种基于TCP/IP传输的网络文件系统协议.通过使用NFS协 ...

  3. 如何快速为团队打造自己的组件库(下)—— 基于 element-ui 为团队打造自己的组件库

    文章已收录到 github,欢迎 Watch 和 Star. 简介 在了解 Element 源码架构 的基础上,接下来我们基于 element-ui 为团队打造自己的组件库. 主题配置 基础组件库在 ...

  4. 矩阵LU分解

    有如下方程组 ,当矩阵 A 各列向量互不相关时, 方程组有位移解,可以使用消元法求解,具体如下: 使用消元矩阵将 A 变成上三角矩阵 , , 使用消元矩阵作用于向量 b,得到向量 c,, , Ax=b ...

  5. 07.并发编程Threads

    参考文档 https://www.cnblogs.com/springsnow/p/9409205.html#_label0 1. 基础概念 1.1 进程/线程/多线程 进程(Process) 计算机 ...

  6. 静态分离 & rewrit 重写 & HTTPS

    内容概要 资源分离 Nginx 的 Rewrite重写 HTTPS 内容详细 一.动静分离 1.在 nfs 中创建 NFS 挂载点 [root@nfs static]# mkdir /static [ ...

  7. Solution -「国家集训队」「洛谷 P2839」Middle

    \(\mathcal{Description}\)   Link.   给定序列 \(\{a_n\}\),\(q\) 组询问,给定 \(a<b<c<d\),求 \(l\le[a,b] ...

  8. 利用shell脚本[带注释的]部署单节点多实例es集群(docker版)

    文章目录 目录结构 install_docker_es.sh elasticsearch.yml.template 没事写写shell[我自己都不信,如果不是因为工作需要,我才不要写shell],努力 ...

  9. LibOpenCM3(四) VSCode IDE 环境配置

    目录 LibOpenCM3(一) Linux下命令行开发环境配置 LibOpenCM3(二) 项目模板 Makefile分析 LibOpenCM3(三) .ld文件(连接器脚本)和startup代码说 ...

  10. 微服务从代码到k8s部署应有尽有系列(七、支付服务)

    我们用一个系列来讲解从需求到上线.从代码到k8s部署.从日志到监控等各个方面的微服务完整实践. 整个项目使用了go-zero开发的微服务,基本包含了go-zero以及相关go-zero作者开发的一些中 ...