在电商系统里经常会提到“商品”、“单品”、“SPU”、“SKU”这几个词,那么这几个词到底是什么意思呢?
既然不知道是什么,那么我们就查一下:SPU = Standard Product Unit (标准化产品单元),SKU=stock keeping unit(库存量单位)。
然后搞清楚商品与单品的区别。例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了。
商品:淘宝叫item,京东叫product

理解一下:
SPU是商品信息聚合的最小单位,是一组可复用、易检索的标准化信息的集合,该集合描述了一个产品的特性。通俗点讲,属性值、特性相同的商品就可以称为一个SPU。例如,iphone4就是一个SPU,N97也是一个SPU,这个与商家无关,与颜色、款式、套餐也无关。
 
SKU即库存进出计量的单位,也可以理解为“最小化库存单位”, 可以是以件、盒、托盘等为单位。在服装、鞋类商品中使用最多最普遍。 例如纺织品中一个SKU通常表示:规格、颜色、款式。
在使用时要根据不同业态,不同管 理模式来处理。比如一香烟是50条,一条里有十盒,一盒中有20支,这些单位就要根据不同的需要来设定SKU。
 
一个SPU可以对应多个SKU!!
 
下面摘录一些在知乎上的玩家简述的他们的理解:
 
作者:Tony Liu
链接:https://www.zhihu.com/question/19841574/answer/74171565
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

spu 和 sku 都是属性值的集合, 举个栗子 >>

一部 6S, 它身上有很多的属性和值. 比如 :

  • 毛重: 420.00 g
  • 产地: 中国大陆
  • 容量: 16G, 64G, 128G
  • 颜色: 银, 白, 玫瑰金

你跑进苏宁顺电, 说想要一台 6S, 店员也会再继续问: 你想要什么 6S? 16G 银色? 64G 白色?

每一台 6S 的毛重都是 420.00 g, 产地也都是 中国大陆. 这两个属性就属于 spu 属性.
而容量和颜色, 这种会影响价格和库存的(比如 16G 与 64G 的价格不同, 16G 银色还有货, 金色卖完了)属性就是 sku 属性.

spu 属性(不会影响到库存和价格的属性, 又叫关键属性) >>

  • 毛重: 420.00 g
  • 产地: 中国大陆

sku 属性(会影响到库存和价格的属性, 又叫销售属性) >>

  • 容量: 16G, 64G, 128G
  • 颜色: 银, 白, 玫瑰金

sku 在生成时, 会根据 属性生成 相应的 笛卡尔积.
想像一下扑克牌的黑红梅方和 A-K, 扑克牌是这样的 sku 属性:

  • 牌面: A - K
  • 花色: 黑红梅方

最终会生成 13 * 4 = 52 张牌, 上面的 6S 则会生成 3 * 3 = 9 个 SKU

商品 : iphone 6s
spu : 包含在每一部 6s 的属性集合, 与商品是一对一的关系(产地:中国, 毛重:420g...)
sku : 影响价格和库存的 属性集合, 与商品是多对一的关系
单品 : 同 sku. 国人的另一种叫法!

 
作者:姜沈励
链接:https://www.zhihu.com/question/19841574/answer/34013014
来源:知乎
著作权归作者所有,转载请联系作者获得授权。

我从电商实际运营的角度说下:

SKU:Stock Keeping Unit
从名字上可以看出,SKU以从库存视角看的(一箱可乐和一打可乐由于库存包装不同,因此是不同SKU)。因此很多自营B2C电商在早期的每一个商品详情页对应一个独立的SKU编码。

SPU:Standard Product Unit
从名字可以看出,SPU的提出主要是为了体现商品标准化。
这个名词随着电商平台的发展收到更多关注。因为在一个电商平台下,大家发现同一个基本产品(例如iphone 6 白色 16g 裸机)经常由多个卖家在销售,因此在前台页面展示上比较冗余,消费者在浏览时存在不便,也因此大家开始采用一个新的展示方案:先显示基本产品,点击后再展示这个产品下所售商家的商品。(大家可以在淘宝搜索下‘手机’,展示的不再是item,而是基本产品,也就是我们所说的SPU。但是顺便说下,淘宝的SPU做得不是很完善,如果大家需要深度学习和借鉴,可以研究下美国亚马逊)

商品:
如果某个商家出售某个SPU,那么这个东西叫做商品。商品相对产品,数据层面增加了价格、促销活动、运费等信息。目前主流的B2C网站,一个商品详情页对应了一个商品。刚刚提到,早期自营B2C系统由于对应的是SKU,因此需要升级改造。往往这个项目叫做‘一品多商’。大部分电商都经历过这个痛苦的改造过程,很多至今伤痕累累。

ITEM:
淘宝作为平台,不关注库存。ITEM直接代指宝贝。但一个ITEM可能包括 “黑色iphone6”、“白色iphone6”等多个商品。ITEM虽然前台展示灵活,但是数据底层有些紊乱。

BTW:
对于服装,同一个产品可能有不同颜色和不同尺码。
那么SPU到底是对应到服装款式,还是服装款式+颜色,还是服装款式+颜色+尺码这个最细粒度?
这个没有最终答案,YHD、JD、Vancl的做法也都有差异,也各有利弊。
但是按照个人经验,由细到粗易,有粗到细难。
底层如果做细,展示层才能灵活。反之有时候无解。

 
 

SPU、SKU、ARPU是什么,我来记录一下我的理解的更多相关文章

  1. SPU - SKU - ARPU

    商品和单品: 单品:汉语中的“个”  例如,iphone是一个单品,但是在淘宝上当很多商家同时出售这个产品的时候,iphone就是一个商品了 商品:淘宝叫item,京东叫product,商品特指与商家 ...

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

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

  3. 【知识点】SPU&SKU

    SPU:标准化产品单元 SPU = Standard Product Unit (标准化产品单元),SPU是商品信息聚合的最小单位,是一组可复用.易检索的标准化信息的集合,该集合描述了一个产品的特性. ...

  4. Spring学习记录(十二)---AOP理解和基于注解配置

    Spring核心之二:AOP(Aspect Oriented Programming) --- 面向切面编程,通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术.AOP是OOP的延续,是软 ...

  5. Bootstrap 我的学习记录3 导航条理解

    以下理论内容copy自Bootstrap中文网 (一个不错的bootstrap学习网站) 导航条 默认样式的导航条 导航条是在您的应用或网站中作为导航页头的响应式基础组件.它们在移动设备上可以折叠(并 ...

  6. Mybatis学习记录(三)----理解SqlMapConfig.xml文件

    SqlMapConfig.xml mybatis的全局配置文件SqlMapConfig.xml,配置内容如下: properties(属性) settings(全局配置参数) typeAliases( ...

  7. TensorFlow使用记录 (二): 理解tf.nn.conv2d方法

    方法定义 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=True, data_format="NHWC&quo ...

  8. 记录MNIST实现与理解

    之前半个月的时间几乎都在看理论书籍,最近两天开始撸代码,一个跟Hello World同级别的教程例子就出来了,那就是MNIST.实现代码应该很多地方都有: #!/usr/bin/env python ...

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

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

随机推荐

  1. 数据结构之---C语言实现最短路径之Dijkstra(迪杰斯特拉)算法

    此处共同拥有两段代码: 一. 这段代码比較全面,当中參考了github上的相关源代码. 能够说功能强大. //Dijkstra(迪杰斯特拉算法) #include <stdio.h> #i ...

  2. 《解读window核心编程》 之 注冊表

    1 注冊表的作用及组织形式 Windows系统使用注冊表来存储系统和应用程序配置数据.非常多系统和应用程序重要的配置的信息都存储在注冊表中. 注冊表是一种以树型结构组织的数据库.树的每个节点称 作键( ...

  3. axis2的wsdl无法使用eclipse axis1插件来生成client--解决方法

    使用jetty+axis2实现webservice服务端,且无需使用axis2命令生成服务端代码.仅仅要services.xml配置实现类. project为gradleproject配置文件在src ...

  4. git拉取远端改变,但是不覆盖本地的修改

    1.git stash 2.git  fetch weixin-old-remote 3.git rebase weixin-old-remote/main151028_wxpay_main15100 ...

  5. C语言程序读写文件(文件内存一个十进制数,每读一次数值加一)

    1.问题:C语言程序实现读写一个txt文件,txt文件中存储一个十进制数.每读一次该数值加一. 2.实现:新建一个文件夹,在该文件夹中建一个outputFileName.txt文件.内容是:1,再在该 ...

  6. PCB 无需解压,直接读取Zip压缩包指定文件 实现方法

    最近有一项需求,将电测试点数后台批量写入到工程系统流程指示中,而电测试文件存在压缩包中,压缩包存在公共网络盘 示例图: 一.采用原始方法(4步完成): 第1步:.网络盘ZIP拷到本地, 第2步:解压Z ...

  7. PCB MS SQL 排序应用---相邻数据且相同合并处理

    这是一个很有趣SQL数据处理应用,具体需求如下 ERP需要工程将物料编码相邻的编码合并求和BOM用量,巧妙的用到了已有排序号与分组排序号之间的差值求解 示例: 原数据: 要求转换: 实际转换后数据: ...

  8. css3 文本模型

    我前期是一名前端开发者,经常会遇到关于文本模型的问题,很多地方我们会经常遇到这种问题.例如栏目的标题,在设计师给我们图的时候并不会考虑到标题的长度,所以我们自己开发的过程中自己注意这一点. 首先和大家 ...

  9. ubuntu Ngin Install

    安装gcc g++的依赖库 #apt-get install build-essential #apt-get install libtool 安装 pcre依赖库 #sudo apt-get upd ...

  10. python 线程池和锁

    一.死锁现象与递归锁 锁:Lock线程安全,多线程操作时,内部会让所有线程排队处理.如:list/dict/Queue        线程不安全 + 人 => 排队处理. import thre ...