作者:闲鱼技术——迎墨
引言
在电商体系中,有一个比较重要的概念,就是关于商品系统的SPU和SKU,这个概念直接决定了商品在系统中的储存结构。SPU用最短最标准的语言表达一个通用的商品,在跨领域跨渠道传输上,扮演着中间桥梁的角色,真正使商品货卖全球、线上线下融为一体。今天我们来介绍一下闲鱼的SPU体系。
SPU概述
SPU在电商系统中传达着商品的关键信息。它是商品信息聚合的最小单位。介绍SPU体系之前,简单介绍下类目体系中最重要的一种类目特征划分:关键属性、销售属性、商品属性、绑定属性。
- 关键属性:之所以称之为关键属性,是因为他是用来约束和定义一个产品,用来确定一款唯一的产品(SPU)。比如手机类目的关键属性是品牌,“品牌:Apple/苹果;型号:iPhone5S”可以唯一确定一款产品。
- 销售属性:销售属性是能决定发生买卖行为的属性。简单理解为下单前弹层页的选项,比如iPhone5S手机,选择了白色+32G才能产生一个订单。
- 商品属性:商品属性是对商品的更详细的补充说明。比如手机是否保修、成色等。
- 绑定属性:绑定属性是关键属性的补充和细化,比如,品牌:Apple/苹果;型号:iPhone11”+紫色+256G确定了其屏幕尺寸就是6.1英寸的。
我们的主角SPU模型,在阿里体系中,通常被定义为:关键属性+绑定属性+普通属性。
阿里SPU现状与闲鱼SPU
那么作为电商巨头的阿里,当下的SPU体系是什么现状呢?SPU体系发展至今,已经相当成熟,为阿里商品体系带来巨大的价值。在这个发展过程中,不同的平台和业务类型,围绕SPU衍生出很多优秀的模型。既然阿里SPU体系已经十分成熟,为什么闲鱼不使用现有淘系的SPU系统,要重新搭建一套体系呢?淘系的SPU系统经过多方共建已经可以达到新发商品实时落库,俨然成为庞大的数据体系,但结合闲鱼业务侧的诉求,我们面临的问题有:
- 淘系SPU由于共建等历史原因,多方数据杂揉,经层层清洗后,仍有90%以上数据不可用。
- 闲鱼有特有的卡券、租房等业务,搭建有自己成熟的类目管理体系、属性管理系统和类目预测等多套体系,我们希望商品更贴合我们的业务。因此,维护一套自有SPU体系是十分必要的。
- 闲鱼业务需要配合服务商挂载,提供多份数据(如:LV、路易威登)显得不科学不严谨,且不满足业务后续校验和服务开启流程。
- 闲鱼SPU希望通过属性组合来唯一定义一款产品,更规范、更官方、更标准的支持多个业务场景。
- 闲鱼希望可以介入运营,管理SPU数据。
SPU数据链路建设
闲鱼SPU体系搭建要求和需要解决的问题主要集中在以下几点:
- 闲鱼SPU与结构化体系打通,核心大类与淘系SPU兼容。
- 特有业务可以由业务方同学自定义SPU属性。
- 闲鱼SPU关键属性要求同概念产品全表唯一,属性值使用国际标准命名,支持别名。
- 支持业务方横向扩展,包括验货标、搜索发布标、验货项等个扩展信息。
- 提供运营介入的可视化平台,放开运营维护权限,但需要走标准审批流程。
闲鱼SPU打通结构化,主要依赖的是Tyler类目运营管理平台,通过平台关系维护,可以保证闲鱼->淘宝的一一映射关系,同时,SPU底层数据存储与闲鱼结构化数据保持一致,使用同一套属性系统。
闲鱼SPU数据体系采用标准SPU+闲鱼自有SPU双通道构建。标准SPU数据,是指定义比较清晰,不容易存在歧义、业界公认且信息完整的数据,例如手机。这类数据,我们采用离线任务,对淘宝SPU库进行多次清洗,在可接受程度的量级下,进行人工挑选,复用淘宝SPU维度的所有可用信息,包括绑定属性、销售属性、商品属性、SPU属性、图片等信息,在通过离线数据任务,补全闲鱼侧信息,tyler平台特征标、闲鱼渠道类目、淘宝类目、业务标、状态、业务数据等。目前,SPU信息的状态等级分为三种,分别如下:(注:此处字段和数值为虚拟值)
闲鱼自有SPU贴户闲鱼业务,由各个业务方推动梳理路,例如潮服、潮鞋、奢侈品,多数情况下使用关键属性定义SPU。
其中,标准SPU数据导入流程,分类目逐步推进,具体流程如下:
- 清洗淘系SPU数据,去掉含特殊字符/..测试/特殊符号等脏数据,去除关键信息不完整数据。数据量万级->千级
- 继续根据关键字去重清洗,数据量降低30%。
- 运营干预,人工挑选。
- 打上业务标识,填补扩展字段,如biz(标示是否支持某业务)、bizProperty(业务在SPU基础上的扩展属性)
- 龙宫SPU管理体系长期运营维护。
闲鱼SPU体系打通结构化流程,整体使用OpenSearch搜索引擎向外提供查询服务,数据链路采用 ODPS->mySql->OpenSearch,数据链路解决的问题:
- ODPS 周期任务,T+1补充全面信息,包含但不限于SPU信息、商品挂载量、类目等级等。
- mySql很方便的实现ID自增,维护一套自有spu_id。
- mySql->OpenSearch可以实现数据自动实时更新,无需API推送/定时任务/手动重新构建引擎。
- OpenSearch能实现索引条件灵活化,同时很好的实现模糊搜索、相关性排序、销量排序。
- OpenSearch唯一键约束保证同一产品,全表唯一,约束键使用属性值vid组合。
完整的SPU数据包含SPU属性、绑定属性、销售属性、图片、标题等基本信息。仅仅只有SPU无法满足闲鱼的业务需求,我们在这基础上,扩展了淘宝类目、闲鱼渠道类目、业务标识、业务属性、业务专属校验项、闲鱼平台发布量(按照SPU维度),为系统业务留下可扩展空间。
为了方便运营干预和后期数据维护,我们同时设计一套管理系统配合使用,能够实现基础的单项新增和批量新增、多维度的查询分析、修改和删除。涉及线上数据变更的部分,如编辑/删除,会统一接入集团changefree(安全生产审批流程)。如下图所示,通过平台化,提供运营长期维护的能力。
闲鱼SPU服务于多项业务,但不是专为某项业务而生,我们致力于打造一套底层基础能力,可以横向支撑商品体系中打通结构化的多项闲鱼业务,作为一种通用的基础能力,服务于商品理解。
闲鱼SPU在业务场景中的使用
SPU系统目前已经支持多项业务,预计在后续和各行业和业务方的配合中,更侧重于降低数据产出成本,加强与各行业的密切合作,充盈SPU数据池。目前闲鱼SPU主要支撑的几大场景,包括:验货宝,SPU搜索发布、无忧购。
验货宝:验货宝是闲鱼与各行业服务商合作的用于增强用户信任、提供优质商品的业务平台,闲鱼正在逐步扩大支持验货的品类。SPU的场景在这个业务中,用于检索当前输入是否支持验货,于此同时,业务方需要校验验货项的完整性才可以保证服务的正常开启,SPU系统全程为验货宝服务的开启保驾护航。应用SPU基础能力,可以很好的将业务介入主发流程,为平台和业务方带来每日万级新发。
SPU搜索发布器:这是闲鱼一个新的发布场景,通过SPU信息匹配来搜索同款商品,进而降低用户发布成本,促进整体发布量增长。SPU在这个场景中承载着“同款产品”的角色,SPU数据量的多少直接决定这个场景的可用性和整体用户体验。SPU场景降低发布成本的同时,提供更优质的结构化信息,同时,覆盖新用户和低活用户,对于拓展用户宽度具有一定意义。
无忧购项目中,SPU同样作为“产品”角色,向外提供服务。