作者简介
Kurtis,携程后端开发专家,关注性能优化、技术架构等领域。
一、前言
在电子商务平台上,商品结构起着至关重要的作用。它不仅承载着预订和服务流程中的商品信息,还在商户运营效率、平台可扩展性以及终端用户体验等多个维度产生显著影响。通过高度结构化的商品信息,平台能够运用数据分析和算法,更精准地推荐合适商品给目标用户群,更加高效地为买卖家用户创造价值,从而提升交易效率和客户满意度。
本文介绍了门票活动商品结构的演进和过程中的技术挑战。
二、背景与发展轨迹
2.1 发展历程:从低结构化到高度结构化
在线门票活动商品结构的优化是一个持续不断的过程,迄今为止,其发展可被分为以下四个主要阶段:
图:门票活动结构演进过程
2019年及以前:该阶段主要有三种不同的商品结构:资源结构门票、产品结构门票和活动结构门票。这些架构主要注重通过商品品类系统(Product Category System)来快速扩展新的商品类目。然而,这种快速扩展过程缺乏足够的抽象和标准化,导致信息结构化程度相对较低,存在大量非结构化文本字段。
2020年:三种主要的商品结构进行了合并和重构,以形成一个更加统一的、针对碎片化类旅游商品结构。同时,对国际化方案进行了优化。
2021年:在这一阶段,对商品的销售属性进行了标准化处理,以提升商品的可识别性和预订流程的用户体验。
2022年:进行了描述属性结构的调整,并引入了一个可扩展的属性元素库。此外,通过信息分层和集中式的POI属性信息管理,进一步提升了商品信息的结构化程度。
2.2 深度问题分析
回到2019年,随着业务的快速发展和多年的需求迭代,积累了系列需要系统性解决问题:
用户视角:大量重复的商品,商品信息冗余,特别是在文本描述方面,导致用户难以快速了解产品的核心特点和价值。
图:重复的商品和大段的文本信息
商户视角:系统的复杂性令商户困惑,特别是在三种不同的商品结构之间选择时。此外,流量分配不均,优质商品经常被埋没,错失营销机会。
平台视角:由于信息管理工具不够强大,导致运营效率低下。同时,多语言支持方面存在的高翻译成本也是一个问题。
产研视角:需求响应缓慢,特别是在添加新功能时,由于需要在三种商品结构中都进行实现,加大了开发难度和兼容性风险。
商品结构的特性与局限性可归纳为两类问题:
效率低:三类商品结构,迭代周期长,维护成本高
资源结构门票:这是一个只有资源层级信息结构化程度低的简单门票结构。它主要用于不区分销售属性的景区门票。
产品结构门票:这个结构增加了一个SKU组合层,因此它有两个信息层级:产品和资源。这主要用于支持需要通过销售属性(如“场次”和“座席”)来组合多个资源的复杂门票。
活动结构门票:这是一个对标国外竞品高度结构化的商品结构,适用于活动品类和国际化商品。但受限于翻译时需要将结构化字段降级成文本,因此翻译成本相对较高。如果要将其他两类结构的商品放到国际站售卖需要重新上货,效率底下,两端的库存控制也没办法保证。
质量差:结构化程度低,信息分层管控能力差
结构化程度低:商品名称的文本信息不能得到有效的控制和约束,大量商品名称重复混乱,信息不能清晰的展示给用户。系统不能识别同质化商品,重复的商品在货架展示,用户无法区分商品的差异,决策困难。
信息分层管控能力差:各类景区提供的服务多样,例如演出的场次时间座席区域图,滑雪的计费规则,教练服务等信息,都来自商户录入的文本,同类信息多商户录入格式和内容没有规范,信息不清晰,质量不受管控,可读性差,用户阅读困难。
2.3 解决策略与规划
信息质量差和效率低下的问题必须系统性的解决才能更好支持未来的业务需求,商品信息结构要满足不同角色对门票活动业务的需求:
用户视角:目标是提供丰富、价格合适的产品选择,并确保商品信息清晰、准确。
商户视角:简化上货流程和运营任务,确保高质量商品有更多的营销机会。
平台视角:需要构建强大的信息管理工具以提高运营效率,并优化多语言支持以降低国际化成本。
产研视角:减少重复开发工作,提高响应速度,同时确保系统稳定和业务逻辑的一致性。
具体实施方案
基于对国内国际竞品的对比调研和多年的积累沉淀,需要做三方面改进:
商品结构整合:效率低质量差核心的原因多套结构和系统,需要废弃低结构化的商品结构,通过高结构化的系统支持不同类型门票活动品类的业务需求。
销售属性标准化:重复混乱多货架是因为商品多销售属性没有标准,结构化本质上就是标准的问题,标准化的信息可以帮助系统有效识别并帮助用户选择更合适的商品。
描述属性信息分层:信息层级决定了它的复用性和灵活性,通过判断信息归属,集中管控景区和票种上的描述信息,这将减少商户的录入负担,并提高信息准确性和可读性。
风险和挑战
系统结构的改造是对底层数据的重构和迁移,面临巨大的风险与挑战:
系统兼容性风险:新的商品结构需要能够兼容旧结构的独特业务场景和属性字段。为此,需要详细地分析现有数据使用场景,并仔细规划迁移过程。
系统依赖和项目范围:数据迁移会涉及多个上下游依赖,包括AI/BI等数据使用方,项目范围大。
大规模数据迁移的风险:由于需要迁移大量不同结构的数据,这个过程中存在着高风险,包括但不限于功能遗漏和依赖方兼容问题。
完成规划中定义的目标需要分阶段实施,每个阶段实现一个目标。
三、过程
3.1 商品结构整合
3.1.1 措施
在进行结构合并时,首要任务是确立一个能够最合理地支持业务需求的商品结构。在与国际和国内市场的竞争对手进行比较后,活动品类的结构化程度最高,SKU组合方式最灵活,信息分层最优。因此,我们采取以下层次和职责划分:
产品层:承载可复用给资源层的信息,如费用包含、使用方法、预订限制等。商户只需录入一次,即可在多个资源组合中复用。
套餐层: SKU的组合层,可通过不同景区/场地的售卖规则进行灵活组合,例如通过“场次”和“座席”组合出多种售卖单元。
资源层:SKU层,最小的售卖库存单元,包含价格和库存信息。
图:门票活动商品三层结构
确定了这三层商品结构后,接下来的步骤是多套系统的融合。出于控制项目周期和降低数据切换风险的考虑,我们采用以下三个步骤完成融合:
结构和功能对齐:
梳理出完整业务场景中必须保留的字段和功能,并在统一的结构中支持。需要对多套结构的每个字段进行梳理,制定方案时要考虑下游的使用方式和兼容性方案。
国际化结构升级:
在改造之前,信息的翻译是通过将结构化信息拼接成非结构化的文本信息,然后再进行翻译的。然而,这种方式导致如果拼接前的信息有变化,就需要重新翻译,无法复用,工作量大。为提升信息复用性,我们采用以下三类方案:
文字类:文字类信息包括结构化信息和文本信息,将结构化信息的id/name对应的各语言翻译内容以键值对形式存储。文本信息通过翻译系统保存译文。
语句类:将语句类信息作为文字类信息的组合,各语言元素分别处理。根据不同的locale设置不同语言的语序、单复数形式等格式,最后拼接输出。
图:语句类多语言
时间类:时间类字段以UTC时间和时区偏移量存储,根据使用场景转换为“当地”或“当前设备”的时区,例如最晚退订时间。
商户的工作时间需要结构化,并与不同国家的节假日工作等信息关联,以可复用的模板形式连接到商品中。
在信息输出时,根据当前的locale获取对应的译文来替换原始录入语言。具体流程如下图所示:
图:国际化实时翻译流程
数据搬迁和系统切换:
在新的结构支持功能和信息字段后,最具挑战性的任务是切换过程。切换包括数据切换和系统切换两个方面:
数据切换:将不同结构的数据根据字段映射规则和兼容逻辑迁移到新系统中。在这个过程中,面对几十万产品的搬迁,如果兼容逻辑处理不当,可能会影响下游,甚至引发系统故障。
系统切换:统一的数据结构和标准的上架流程让商户不再需要理解三套不同结构的操作方式。但是合并后的系统在功能上与原系统可能存在差异。在切换之前,需要调研合并后流程对商户接受度的影响,是否对其工作效率产生积极影响。在切换过程中,需要持续收集商户的反馈,及时解决遇到的问题,并迅速响应上线商户的合理改进建议。
搬迁过程由系统完成,并提供高质量的搬迁工具。搬迁工具的设计关注以下几个方面:
避免问题发生:通过全量分析模拟搬迁的数据处理过程,提前发现问题。在搬迁过程中,共执行150次全量分析,发现了20多个问题,涉及兼容方案、基础数据缺失、系统错误等,影响的商品数量超过2万多条。
控制影响规模:通过细粒度的灰度控制影响的产品数量,一旦发现问题,能够提供问题原因和影响规模,为改进方案提供依据。
及时发现问题:通过实时验证和线下验证能够及时校验新的搬迁逻辑。
控制影响时长:搬迁需要提供回滚功能,一旦发现严重问题,可以快速回滚。
逐步提高复杂度:商品间可能存在多重关联关系,比如A和B共享库存,B和C票种打包,相互关联的商品需要同时搬迁,如果有异常发生,需要全部回滚,逐步提升复杂度来验证可能带来的风险。
图:逐步灰度提高联量验证
在全量搬迁分析工具和实时验证都通过后,可以开始数据写入。数据写入后,还需要通过API进行实时验证,并进行抽样的线下验证。
图:搬迁的数据验证过程
3.1.2 效果
经过5个月的数据搬迁,结构整合上线,成功地实现了三套结构的合并。商户不再需要理解多个维护流程,也减少了产研投入成本。同时,我们下线了12个应用,从而降低了硬件成本。
国际化结构的升级使得国际站能够支持多种货架形式的售卖方式,并且降低了翻译的成本。
图:Trip.com门票货架
3.2 销售属性标准化
3.2.1 措施
信息结构化程度直接影响用户的预订体验。由于全球各地的景区和活动门票的售卖组合存在差异,改造前存在两类问题:
首先,门票的差异都体现在一个非结构化的文本字段中,例如:
图:非结构化的商品名称
这种文本字段带来的直接影响是用户难以理解各种门票的实际区别,同样的名称可能对应不同的价格,或者相同的价格可能对应不同的名称。
其次,不同景区的售卖方式多种多样,导致用户难以明确理解每张门票到底包括什么、不包括什么。由于大部分客户对景区了解有限,他们很难确定应该选择哪种门票。
图:商品重复,信息不清晰
尽管这些问题表面看起来简单,但实际上需要一个系统性的解决方案。这两类问题的关键在于SKU(库存单元)的结构化程度较低,导致影响用户决策的字段无法有效利用,从而无法实现“容易选、价格低”的目标。因此,我们采取以下措施:
销售属性标准化:为了提升SKU的可识别性,让系统能够区分不同商户提供的商品是相同还是存在差异。以门票为例,SKU的组成主要包括POI、票种、人群、销售属性和日期。
其中,影响价格和库存的主要是销售属性,例如演出门票中的“场次”和“座席”组合。类似于电商中的商品属性,如iPhone的销售属性是“颜色”和“版本”。
图:销售属性组合决定价格库存
商品名称由商户以文本形式录入,没有统一的标准,所以同样的“第一场”,不同的商户录入的可能是“20:10场”甚至“晚场”。
我们需要从文本字段中提取决定价格因素的属性,并将其转换为销售属性以实现统一标准。商户只需在景区提供的属性中进行组合选择,无需再进行文本录入。这不仅规范了数据,还降低了录入的工作量。
图:产品名称结构化为销售属性
3.2.2 效果
通过销售属性标准化,系统能够识别相同商品,并向用户推荐最优选项。这一举措显著提升了用户的预订体验,使用户更容易理解不同门票之间的区别,从而做出更明智的选择。
图:重复商品去除后效果
3.3 描述属性信息分层
3.3.1 措施
门票活动行业中存在多种复杂的品类,如门票、滑雪、温泉、演出等。每个品类都有独特的费用构成说明和使用方法,用户需要了解这些信息以便做出预订决策。
图:各品类的描述属性
改进之前,这些信息往往以不规范的文本形式存在,难以阅读,关键信息难以识别。这样的信息存在以下问题:
图:文本结构的费用说明
内容可读性差:文本格式没有标准,导致内容缺失和混乱。
信息准确性低:不同商户录入的信息可能不一致,信息的修改覆盖所有关联商品需要耗费时间,更新的时效性差。
录入工作量大:相同的内容,每条商品重复录入;
为了解决这些问题,我们采取以下两个关键措施:
POI信息集中管控:将景区的信息从产品层级提升到货架层级,以提高信息的一致性和复用性。
门票商品信息分为三类:
图:商品信息组成
描述属性可概括为:
费用包含:描述商品提供的实物或服务。
使用方法:商品实物或服务的使用方法,入园时间,取票地点等等。以分界洲岛为例,岛内售卖项目包括门票,船票,游览车,剧场,潜水等等内容。不同售卖项目组合出不同的售卖单元,每个售卖单元又需要把各类相关信息展示清楚。
预订和服务规则:商品的各类预定限制和服务规则,例如退换货限制,退款规则。
这三类信息在卖场和商品的不同层级中分布:
图:商品信息层级
信息层级决定了其复用性和灵活性。由于每一层和下一层的都是1:n关系,层级越低信息的灵活性就越强,商户可以在不同的SKU组合中灵活的设置预订和服务规则。
上层的信息可复用到下层,信息层级越高复用性越强。也更有助于信息的一致性。同一个景区或票种的提供的服务是景区提供,不会因为商户提供的商品不同而不同。所以将这类属性上移到POI中,通过建立POI元素信息库复用到商品来提升信息的准确性。
图:描述属性信息结构化管控
信息结构化,模版化:通过规范化信息格式,使其更丰富、格式更规范、内容更清晰。通过模板,规范化信息格式,可复用的模板包含多条语句,每条语句中包含多个类型的信息值。信息以Key/Value形式存储,便于系统处理和展示。
3.3.2 效果
通过描述属性的结构化提供给用户更清晰丰富的信息展示。
图:描述信息结构化前后对比
四、结语
本文详细阐述了门票商品结构的演进历程,以及在不同阶段所解决的核心问题。在整个演进过程中,我们针对业务和技术挑战采取了一系列的措施,以提升效率、用户体验以及信息的准确性和一致性。
首先,在商品结构升级合并方面,我们着重解决了产研的需求响应效率和翻译效率问题。通过明确的步骤和措施,我们成功地将多套商品结构合并为一个更具灵活性和可复用性的结构。这不仅提升了业务的效率,也降低了翻译成本,为国际市场的拓展奠定了基础。
销售属性标准化,让系统认识每条商品,提供为用户推荐更优商品的能力。
其次,通过销售属性标准化,我们使得系统能够识别每条商品,从而为用户推荐更优的选项。这一举措显著提升了用户在选购门票时的体验,使用户更加清晰地了解不同门票之间的差异,从而能够做出更明智的选择。
最后,描述属性信息分层的改进,让信息更为丰富和准确。通过将信息结构化、模板化,我们解决了信息可读性差、准确性低和录入工作量大等问题。这为用户提供了更清晰、更全面的商品信息,提升了用户对商品的了解和预订决策。
整个演进过程涉及到多个领域的合作,需要技术团队、业务团队和其他相关方的共同努力。在不断挑战中,我们充分发挥了团队的技术能力和执行力,成功地实现了目标。
希望本文所提及的解决方案能够为读者带来帮助和启发。在不断变化的业务环境下,合理的商品结构设计和优化是保持竞争力的关键之一,同时也是技术创新和协同合作的体现。
【推荐阅读】
- 携程火车票出海架构演进之路
- 携程国际机票架构重构实践
- 成本低误差小,携程基于 Kafka 的 Serverless 延迟队列的实践
- 携程10个有效降低客户端超时的方法