B2C自营商城的商品设计方案

13 评论 40170 浏览 187 收藏 5 分钟

去年我们的美妆社区APP,上线了自有商城。之后经过多次版本迭代,商城系统的模块已经基本健全,值此时间分享一些经验出来,希望可以共同交流。

主要讲讲服务端的架构设计以及商品呈现逻辑。可能对某些PM来说有点难理解,但是我认为这是设计商城系统的PM必须具备的架构能力,而且算是比较基础和底层的部分。

一、商品的基本概念

1.1、对用户而言

一般来说有产品、商品、赠品等概念。

1.2、对数据库而言

可能只有spu,sku两个概念,这是最底层的实体。

  • SPU(Standard Product Unit)是指标准化产品单元,是商品信息聚合的最小单位。比如iPhone6。
  • SKU(Stock Keeping Unit)是指库存量单位,即库存进出计量的基本单元。比如iPhone6国行白色16G。

1.3、对功能而言

至少有产品,标准化商品,下单商品3个概念。

  1. 下单商品。肯定是一个spu下的sku,对应着商品编码。
  2. 标准化产品。对应着spu,是几个sku的集合。
  3. 产品。显示在商城货架上,可能是一个spu,可能是不同spu的组合。

注意所谓的sku可能不是单个物理实体,比如美妆行业经常把2款化妆品用胶布绑在一起作为一个sku,存入仓库。

二、商品的存储

一般而言,B2自营商城选择租用第三方仓库并对接其系统,当规模很大的时候才会考虑自建仓库。

目前我们业务刚刚起步没多久,所以只有一个仓库,比较简单。

如果仓库有多个的时候,一般会根据“选择最近仓库-库存是否足够”的原则来处理配货发货,当然可能还涉及到合并包裹的问题。

三、商品的实体关系

以上讲了商品架构中需要涉及到的实体,而他们的属性和关系决定着数据库中商品表该如何设计。

可以参考这篇文章《如何用ER图绘制业务实体模型 》,了解关于实体关系模型的更多知识。

四、商品状态机

商品的上下架状态是用来区分商品是否展示给用户,以及是否可以成功下单。

赠品是一种特殊的spu,支持上架并支持用户购买,但是建议设为已下架并且是正确价格。

需要说明的是,售完下架和我下架的,是为了方便运营客服童鞋操作商城运营系统而设计的,采用了和淘宝卖家的商品状态机相似的做法。

可以参考这篇文章《如何绘画状态机来描述业务变化》来了解其原理。

五、商品的呈现

大部分电商的商品详情,呈现逻辑是相似的。

另外京东自营会根据收货地址和仓库的位置进行匹配、部分电商会在进入该页面的时候会选中sku并且自动跳过库存不足的。

六、总结

我没有讲到类目、商品标签、商品关键属性、销售属性、其他属性,包括商品库存。

不是觉得不重要,而是我只讲了最基础最底层的设计,其他的都是根据业务在此基础上面演变而来。

更多关于商品设计的内容,可以点击DEMO

相关阅读

如何绘画状态机来描述业务变化

如何用ER图绘制业务实体模型

B2C自营商城的优惠券设计方案(上篇)

#专栏作家#

浪子,业务型PM,浪子PRD系列51prd.com,公众号:langzisay。

本文由 @浪子 原创发布于人人都是产品经理。未经许可,禁止转载。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 不是技术出身的我,没看懂m、n、1是什么意思,能针对这点再解释下吗?

    来自广东 回复
    1. 代表2个实体的数量关系,这个直接百度更清晰。
      好比1个SPU肯定是M个SKU,M≥1。
      而商品和SPU应该是m:n的关系。

      来自上海 回复
    2. 嗯嗯,百度百科那里有个E-R图的条目,把那个又看了一遍,基本上了解了,谢谢你

      来自广东 回复
  2. 楼主,我有个总是。既然赠品设置为支持上架和购买,那为什么要设置为已下架呢?

    来自四川 回复
    1. 满足赠品除了可赠之外,也可购买的业务场景。

      来自上海 回复
    2. 既然为满足可购买的业务场景,为什么要设置为已“下”架呢?就保持已上架状态就可以了吧?话说已下架状态的商品应该是无法购买的吧。

      来自四川 回复
    3. 有时候部分赠品不能卖,比如活动前。所以需要已下架状态。活动后可能又能卖了,所以使之具备普通商品的特性。
      已下架状态的商品,不可以买家选购。但是可以系统根据规则自动加进去。

      来自上海 回复
    4. 哦。懂了。多谢。

      来自四川 回复
  3. 多谢分享。SPU和商品应该是nSPU > 1商品的关系吧?感觉没见过1个SPU由多个商品组成的情况呢。

    来自四川 回复
    1. 商品是一个泛泛的概念,设计商品功能底层的时候,我们只说spu,sku等精确概念。
      1个spu=n个sku。

      来自上海 回复
  4. 商品呈现那里,状态是手动下架,为什么显示已下架按钮,而不直接不显示此商品。上下架和该商品的展示没有关系,而是在另外的地方控制是否展示?

    来自天津 回复
    1. 手动下架的商品不能直接根据此状态来隐藏该商品详情,有这样一些场景还是需要展示相关信息的,比如已购商品被下架了而用户需要查看下当时的信息(和目前没有做商品快照也有一点关系)。
      商品的展示状态,目前没有做过多涉及,仅做了已删除会用一个特殊页面来表示,和你说的不显示应该是同一个意思。

      来自上海 回复
    2. 一般情况 下,已下架商品的商品详情一般会保留在store ,但是不会被用户搜索到。也就是用户通过搜索是搜索不到已下架商品的,但是通过URL访问,可以进入到已下架商品的详情页面, 如用户点击订单里的商品。

      来自四川 回复