在电商系统里经常会提到“商品”、“单品”、“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. Chrome development tools学习笔记(3)

    (上次DOM的部分做了些补充,欢迎查看Chrome development tools学习笔记(2)) 利用DevTools Elements工具来调试页面样式 CSS(Cascading Style ...

  2. System.IO.Path 操作

    System.IO.Path 分类: C#2011-03-23 10:54 1073人阅读 评论(0) 收藏 举报 扩展磁盘string2010c System.IO.Path提供了一些处理文件名和路 ...

  3. hdu 1754(单点更新 ,区间最大值)

    I Hate It Time Limit: 9000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total S ...

  4. leetcode排列组合相关

    目录 78/90子集 39/40组合总和 77组合 46/47全排序,同颜色球不相邻的排序方法 78/90子集 输入: [1,2,2] 78输出: [[], [1], [2], [1 2], [2], ...

  5. C/C++中的绝对值函数

    --------开始-------- 对于不同类型的数据对应的绝对值函数也不相同,在c和c++中分别在头文件math.h 和 cmath 中. int : x = abs( n ) double : ...

  6. Python 35 线程(2)线程特性、守护线程、线程互斥锁

    一:线程特性介绍 from threading import Thread import time n=100 def task(): global n n=0 if __name__ == '__m ...

  7. 【Python小试牛刀】循环

    1.斐波那契数列 斐波那契数列,数列前两项为1,之后每一项都是前两项之和. #!/usr/bin/env python3 a, b = 0, 1 while b < 100: print(b) ...

  8. 删除django

    1.命令行运行python 2.import django3.print(django.__path__)4.删除django目录即可

  9. js-var变量作用域

    看代码: var a=10; function fn1(){ alert(a); var a=20; alert(a); } 运行结果:undefined 和 20 注意: 在函数内,变量如没用var ...

  10. RunLoop相关知识

    RunLoop,翻译过来是运行环路.我们在创建命令行项目和创建ios项目时,发现命令行项目当最后一行代码执行完后项目就自动退出了,而ios项目确可以一直运行,知道用户手动点击退出按钮.这就是因为ios ...