在电商系统里经常会提到“商品”、“单品”、“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. 在win10 64 bit上安装theano

    在windows10上安装theano,过程例如以下: 1.准备工作.先安装Anaconda 64位.然后执行 conda install mingw libpython 2.先安装pycuda,能够 ...

  2. ACM Amman Collegiate Programming Contest(7.22随机组队娱乐赛)

    题目链接 https://vjudge.net/contest/240074#overview 只写一下自己做的几个题吧 /* D n^2的暴力dp怎么搞都可以的 这里先预处理 i到j的串时候合法 转 ...

  3. Delphi7中的函数与过程(Function and Procedure)

    1.锁住空间的位置,可以选择Edit--->Lock component ,也可以在窗体设计面板下面找到组件排版功能栏,第二排里面有个带锁的图标,表示组件可以被锁住.点击一下,组件的大小和位置就 ...

  4. C++重载运算符简单总结

    当运算符作用于类类型的运算对象时,可以通过运算符重载重新定义该运算符的含义.明智的使用运算符重载能令我们的程序更易于编写和阅读. 一.基本概念 什么是运算符重载?重载的运算符是具有特殊名字的函数:它们 ...

  5. oc31--new实现

    // // main.m // new方法实现原理 #import <Foundation/Foundation.h> #import "Person.h" int m ...

  6. multiple web application host under the same website on IIS (authentication mode)

    第一种方式,修改forms的name how to set the forms authentication cookie path assume you have already solved th ...

  7. mysql中DATETIME类型与TIMESTAMP的区别

    1.DATETIME的日期范围是1001--9999年,TIMESTAMP的时间范围是1970--2038年. 2.DATETIME存储时间与时区无关,TIMESTAMP存储时间与时区有关,显示的值也 ...

  8. 时序数据库深入浅出之存储篇——本质LSMtree,同时 metric(比如温度)+tags 分片

    什么是时序数据库 先来介绍什么是时序数据.时序数据是基于时间的一系列的数据.在有时间的坐标中将这些数据点连成线,往过去看可以做成多纬度报表,揭示其趋势性.规律性.异常性:往未来看可以做大数据分析,机器 ...

  9. HTTP权威协议笔记-8.集成点:网关、隧道及中继

    .8.1 网关 定义:网关类似与翻译器,它抽象出了一种能够到达资源的方法. 实用:网关可以自动将HTTP流量转换为其他协议,这样使用HTTP协议的一方就不需要了解其他协议,也可实现与其他程序或设备交互 ...

  10. hdu3511-Prison Break

    纪念一下人生中第一道扫描线算法的题.....其实不是严格上的第一道...第一次遇到的那个至今没过..... 题目链接: http://acm.hdu.edu.cn/showproblem.php?pi ...