淘宝购物车5年技术升级与沉淀

本文将从业务发展以及技术沉淀两个方面来总结淘宝购物车的产品升级之路。

前言

从入职以来到如今已有四年多的时间,非常幸运的是,短短职业生涯能有90%的时间都能参与或负责淘宝购物车业务域的开发,这几年来和购物车一起成长,从思考购物车与收藏夹的区别到逐步开始有了对购物车较清晰的定位,从被动接需求到开始主动思考购物车业务正确合理的业务方向,从仅仅完成淘宝业务诉求到提供可复用业务能力。和购物车一起经历5个大促,经历或大或小的产品升级、以及carts2开发方式变革,为极致的用户体验尝试过,为平台增量的提升探索过,利用技术升级帮助淘宝购物车完成业务迭代的同时,也一路沉淀了些通用的能力支撑其他业务快速迭代,也不断完善一套开发知识库帮助越来越多的购物车开发同学。那么是时候来写一些文字画一些图记录这些年,淘宝购物车的pd与开发到底做了哪些探索与沉淀,淘宝购物车到底完成了哪些产品升级,那些与你日常购物息息相关好用的功能是如何逐步迭代上线的。

这篇文章主要从业务发展以及技术沉淀两个方面来总结淘宝购物车的产品升级之路。

P.S.这里,我把入职到现在为止经历过的购物车分享给大家,无论是从产品样式、交互、以及业务功能都发生了比较大的改变,图上也能看出,从21年开始购物车的变化尤其明显与大胆。
淘宝购物车5年技术升级与沉淀_第1张图片

我如何理解购物车

介绍淘宝购物车业务之前,先简单说下我对于购物车这个业务场景的理解,关于他的定位、定义、以及职责。

基础功能

相信没有深入了解过的大多数人对于购物车的理解,都是对用户加购商品最基本的「增、删、改、查」操作,那么db内一条购物车记录到底存储了什么内容呢,如下图所示:
淘宝购物车5年技术升级与沉淀_第2张图片
但实际上随着购物车基础功能不断强大,这四个字已经不足以概括购物车的职责了,那我就暂且以个人理解把购物车的基础功能归纳为下面四个字:加、改、算、凑

  1. 加(&查):购物车的核心围绕db中存储的用户购物车商品数据,由于是用户私域,商品数据基本来自于用户主动加购,加购来源包括:详情、会场、订单等复购链路、猫超首页等。但为了进一步缩短用户复购路径,淘宝购物车在21年迭代上线「常购」功能,利用算法计算用户高购买意愿的复购商品并通过离线手段自动加入到用户「常购」购物车(不占用户购物车容量且下单不删除),是淘宝购物车为缩短复购路径提高购买效率的新的尝试。
  2. 改:用户将商品加入到购物车后,由于商品是实时动态变化的,变为失效、涨价、购物车容量不够等等用户都可以进入购物车对商品进行单个或者批量操作。实际上购物车的很多功能上线都在不断提高用户使用购物车的效率,例如失效更精细化到sku维度、用户加购提示容量已满可一件清理并加购等;
  3. 算:所谓「算」是指购物车商品价格的计算。「算」这件事情其实在购物车有不同程度的展现,【1】.用户进入购物车可在商品卡片立刻看到商品维度单品优惠后的价格;【2】.用户勾选多个商品进入下单前,可在购物车底部看到最终结算价格,并在单个商品上可以看到分摊后的商品优惠价;【3】.开辟优惠明细浮层,将整个价格优惠计算的过程和结果清晰的呈现在用户眼前。购物车在不断追求价格计算的正确性以及清晰度。凑:我认为,购物车的数据核心是用户购物车商品,那么核心功能便是凑单,或者说合并结算。实际上目前为止在手淘大部分场景中,绝大多数的合并结算来自于购物车,这也就是为何每逢大促,订单有70%左右流量来源于购物车。
  4. 「凑」主要体现在两点:【1】用户在购物车可勾选多个商品合并下单,同时也支持业务定制,分组结算;【2】用户在购物车不断挑选、勾选商品的过程中,满减凑单的进度在不断更新,并提供筛选、推荐、引导凑单等功能提高用户凑单结算的效率。近两年,围绕「凑单」这个命题,购物车在转化和体验上都在不断尝试。

    定位与职责

    以上是购物车场景的基础功能,接下来我们视角再往外走一走,思考一下购物车在整个购物过程节点中的位置,或者在在淘宝基础链路的位置。我们把购物环节分为三个节点,即购前、购中、购后。如下图所示,购物车作为下单结算前的”临门一脚“,是「购前」环节中重要一环。
    淘宝购物车5年技术升级与沉淀_第3张图片
    购物车承载着购前购中承上启下的职责。在购前环节中促成购买:对于下单犹豫的用户,用营销等手段提升用户决策效率,对于转化确定性较高的用户,精准的推荐让他买的更多;在购中环节提供流畅的交易体验:优惠计算的准确性和过程的清晰度以及各种业务形态商品的凑单合并结算等。

    定义

    基于上述对购物车基础功能以及职责的描述,以及我自身对购物车的理解,我将购物车定义为:一个提供商品管理、凑单结算等能力,帮助消费者进行下单决策的合并结算工具;

    老生常谈

    最后我们再来探讨一个老生常谈的问题:购物车与收藏夹的区别?这个问题应该是每一个开发过购物车的同学都会面临的灵魂拷问。我第一次被问是在刚入职大约一两个月的一个新人培训上,第二次是在转正答辩上。我当时的回答基本纯粹是基于自身日常手淘的使用体验,主要围绕一个点:购买意愿强烈程度的区别;做购物车几年了,会有啥新的体会么?先来列一下当前两个产品的主要区别

业务场景 容量 价格表达 营销表达 算价能力 结算能力 商品修改能力 商品搜索查找、
购物车 120 商品卡片上为单品优惠后价格 各种营销氛围表达、服务氛围表达 动态计算,支持多个商品多种优惠(单品优惠、店铺优惠、跨店优惠 分组、合并结算能力 支持商品sku切换、数量修改 目前支持商品搜索、以及特定商品的筛选(例如跨店满减、降价等)。
收藏夹 3000 商品卡片上为券后价 基本不表达营销信息 单品券后价的渲染表达,不支持多个商品合并算价。 不支持商品结算 不支持;在收藏夹中没有sku、数量的概念 有完善、丰富的商品筛选查找能力。

我认为对于一个用户来说,购买一个商品需要进行以下几个过程的决策,随着购买过程逐步接近尾声,用户的购买意愿以及确定性也是在不断增强的过程。不同的环节需要不同的工具来帮助用户完成。
淘宝购物车5年技术升级与沉淀_第4张图片
因此总结两者之间几个比较重要的区别点:

收藏夹关注于对商品的存储管理、搜索查找。购物车更关注于商品的营销表达、算价、凑单结算;
购物车离下单更近,用户加入购物车的商品相对购买意愿更强;

虽然两个场景侧重点不同,但实际上目前收藏夹很多产品功能都值得购物车来借鉴,例如对于商品查找的高效率,包括分类、筛选、搜索等,对于购物车深度使用者来说,都是一个更好的使用体验提升。与此同时,我们思考下,购物车和收藏夹一定是完全无关的两个业务场景吗?是否存在某些关联功能可以互相弥补两个产品在使用体验上的短板?例如(纯属yy):
加购满的时候提供用户加入收藏夹的选择;
购物车清理提醒的同时,推荐引导用户加购收藏夹内购买意愿较强的商品;
购物车的的搜索发现,除了搜索出购物车内商品推荐出收藏夹内有关联且由高购买意愿的商品;
收藏夹提供高效加购路径;
......

淘宝购物车的业务发展

目标与策略

业务发展目标

作为业务团队,以业务先赢为目标,以技术突破为手段,赋能购物车业务高效发展应当是我们的核心目标,那么购物车这个场景的业务发展目标又是什么?其实业务如何发展,首先要思考的是,这个域场景以及作为该场景的平台方面对的角色都有哪些?这些角色目前对应的痛点与诉求是什么?对于购物车业务发展,总的来说当下面对三种角色:消费者、商家与平台、业务方。

【消费者角色】:即需要使用淘宝购物车来完成购买过程的用户;对于消费者来说,购物车产品基础功能使用体验差、购买决策效率低是最大的痛点;
【商家与平台角色】:购物车作为用户私域,给商家营销、运营提供较小的空间,对于如何促转化、提高用户购买意愿,从而获得增量是该类角色面临的最大痛点;
【业务方】:业务玩法愈的发复杂,导致业务逻辑也变的复杂,严重阻碍研发效率及业务发展迭代;

因此,面对购物车域的这些产品痛点与诉求,我们将购物车的业务发展目标总结为三个方向:
方向一:体验
购物车产品的使用体验体现在哪些方面?作为一个下单链路的基础产品,购物车管理的“物”为商品、首先面对的“角色”是消费者,那么我们思考人与商品的关系,在整个产品使用中,人(即消费者)对物(即购物车商品)存在以下行动动线:存储、浏览、管理、决策、结算。那么在以上几个环节中消费者操作是否高效则定义为购物车产品良好的使用体验。
方向二:转化
购物车作为一个基础产品,是否具备转化的空间?是否能为商家自运营营销提供可能,并最终给平台带来增量?这是我们在购物车业务发展中思考和数据挖掘的方向。数据分析与挖掘带给我们的结论:淘宝购物车中存在大量用户加购但没有被转化的存量商品,这些存量商品转化率随着加购时间越久,转化率越低,加购前两个小时成交占比60%左右。因此购物车实际上有巨大的空间去获得新的增量;如何增强货品的吸引力以及重新唤醒用户需求是购物车转化提升的两个方向,除此之外实际上从21年我们逐步开始寻找购物车外场景的增量,结合算法手段精准推荐让用户买的更多、更划算;
方向三:效率
无论是体验还是转化,业务的发展离不开快速的试错与迭代,最终离不开高效的研发效率。而研发效率又面对恶劣的业务现状和开发环境:业务上多端多平台,需求繁多复杂;开发上,需求响应慢、沟通协调多,重度依赖客户端发版。以上几点都严重阻碍业务迭代速度。需要依靠技术改造来改变研发模式,提高研发效率;

业务发展策略

基于购物车业务发展的三个方向,我们拆解为两个主要的实施策略:消费者侧产品升级&研发提效。
淘宝购物车5年技术升级与沉淀_第5张图片
【策略一】消费者侧产品升级:购物车产品升级主要体现在两个方面:(1)基于购物车的工具属性进行体验优化;(2)基于购物车的场景特征促转化得增量;
【策略二】研发提效:购物车研发效率的提升体现在两个方面:(1)技术的改造提升研发效率;(2)业务的闭环提升业务迭代的效率;

最后,我以我的理解将近两年购物车的发展(业务+开发提效)总结为一张大图(其中部分内容后面章节会详细介绍):
淘宝购物车5年技术升级与沉淀_第6张图片

当我们在说购物车体验时我们在说什么

作为一个基础工具产品,无论KPI导向是GMV还是体验,我始终认为提升用户在日常以及大促的使用体验才是产品升级的核心,那么,当我们在说购物车体验时我们在说什么?我们又做了什么呢?

淘宝购物车产品使用现状

既然要提升用户的体验,那第一步需要了解用户的诉求与痛点,以21年初一份手淘购物车体验调研报告为例,从购物车使用人群分布、使用场景、使用痛点三个方面来看:
【人群分布】:高购买力人群是购物车的主要使用群体;
【使用场景】:(21年初统计的数据):除收藏商品、购物车结算等基础功能外,用户使用购物车的主要场景依次为为凑单、对比商品价格,对比商品属性。可以看出用户对购物车使用诉求主要总结为:商品管理与发现、算价与下单、凑单;
【使用痛点】:(21年初统计的数据):总结下来,用户对购物车的使用痛点来自于几个方面:(1)大促期间跨店凑单效率低;(2)价格体验:包括预热期无法透出大促价、动态计算结果与下单不能完全一致等;(3)购物车商品的快速发现:查找、分类筛选等;

当我们在说购物车体验时我们在说什么

购物车是一个提供商品管理、凑单合并结算能力的基础工具,围绕两个核心:「人」和「商品」,人与商品的关系总结为两个,即人对商品的管理以及人对商品的购买结算。那么购物车产品使用体验也围绕这两个点展开。整体如下图所示:
淘宝购物车5年技术升级与沉淀_第7张图片
商品管理
即用户按照当下购买意愿强烈程度对商品进行查找、增删改查等。影响用户进行商品管理体验的因素包括:(1)购物车容量问题导致的加购卡点;(2)商品查找与发现的效率;(3)商品管理即各种增删改查的操作路线是否简单高效;
商品购买
即用户在购物车不断选择商品、算价、凑单、再算价最终完成下单结算的购买过程,也是不断做下单决策的过程。影响用户下单决策效率我认为有三件主要的事情:(1)商品上信息的高效表达;(2)不断选择商品的过程中价格的准确性以及优惠计算的清晰表达;(3)不断选择商品过程中高效的凑单引导(包括凑单进度的实时更新、同档位凑单商品的筛选、可凑单商品的推荐以及不中断的凑单体验);
当我们明确购物车使用体验的目标后,策略及具体落地的事情便围绕展开。

重点体验项目介绍

凑单体验专项
什么是凑单?
所谓凑单,顾名思义指用户为了达成某个门槛获取某种优惠从而购买多件商品的过程。线上线下都是如此。实际上这是卖家常用促销手法:对于线下/线上商家店铺,为了让用户买的更多会让利推出多种店铺内的满减/满折/满送优惠,消费者为了达到某个门槛,会在该店铺内继续选择商品凑单;那么对于平台侧(或者对于线下商场)来说为了获取促销活动更高的成交额,会在全网/全商城范围(已报名满减活动)内推出满减活动,例如天猫大促占比最高的营销手段,跨店满减以及品类券,均为跨店铺凑单玩法。

一些客观数据
从天猫双十一期间,使用跨店满减且来源为购物车的相关订单数据统计来看,购物车的合并结算功能天然成为消费者大促凑单工具,也就几乎是手淘唯一的凑单场地。而手淘购物车不断发展的凑单功能(例如满减商品氛围表达、凑单引导、满减筛选等)也成为用户购物利器。

用户对凑单的诉求有哪几类
实际上购物车凑单功能的迭代也是随着用户诉求的变化而演进,当然也是由于平台营销规划一年比一年复杂导致。营销规则及玩法的复杂化不断提高用户凑单的难度。根据21年用研提供的用户对于购物车凑单类的相关诉求总结来说,一直以来用户对于购物车的凑单使用痛点主要在于:
满足不同跨店满减规则的商品不能归类
不能快速找到相同门槛商品进行凑单(购物车内or购物车外);
大促预热期购物车不显示活动价,不方便凑单;

购物车的凑单功能发展历程
凑单是购物车大促期间的核心体验之一,凑单相关的优化迭代也是近两年购物车业务发展的重要命题,这里一并总结针对用户的痛点和诉求购物车凑单的四个阶段以及每个阶段解决的核心问题。首先如下图来看下目前为止用户在淘宝购物车凑单效率逐步提高的过程:
淘宝购物车5年技术升级与沉淀_第8张图片
【阶段一:凑单进度实时更新】
能力介绍
淘宝购物车5年技术升级与沉淀_第9张图片
解决了什么问题:让用户不再「盲凑」在用户挑选商品的过程中,实时帮用户计算当前已减金额,以及距离下一个档位仍旧需求购买的金额;提供用户凑单入口,帮助用户快速发现购物车外同档位商品,更快达到门槛,提高凑单效率;存在的问题凑单入口跳到承接页,加购后返回购物车页面刷新,整个凑单链路是断层的;无法帮助用户快速找到购物车内同档位的满减品,毕竟购物车内商品购买意愿还是相对较高的;

【阶段二:同一档位满减商品筛选】
能力介绍
淘宝购物车5年技术升级与沉淀_第10张图片
实际上筛选满减这一功能,除了业务上有了突破外,也是技术升级支撑业务发展典型之一,整个筛选方案的技术体系同时支撑了后续NewCart、搜索、预热态等项目落地,那关于技术上的挑战与解决方案可以仔细阅读“购物车筛选能力”章节。
解决了什么问题
快速找到购物车内满足统一档位的满减商品进行凑单;
提高购物车内凑单效率;
存在的问题
跨店满减订单,用户下单金额距离下一门槛还差25%的量级,占比20%,目前存在不少用户小金额凑单存在卡点;
用户当前购物车内跨店满减筛选浮层,从目前凑单链路上看,用户的动线是断层的;
 跨店满减筛选是淘宝购物车近些年第一次出现「商品筛选」相关产品功能,一方面在产品设计上经历多轮评审,更重要的是业务需求上线更为购物车沉淀了一套目前为止最合理的筛选技术能力,后续陆续帮助预售筛选、降价筛选、常购、搜索等功能上线,相关技术突破可以直接阅读“购物车筛选能力”章节。
【阶段三:精准推荐及完整不中断的凑单链路/省心凑】
能力介绍在同档位满减商品筛选浮层内,根据用户勾选商品算价结果距离下一个档位金额之差,算法实时动态推荐相应金额的商品,并且用户加购(在信息流/商品详情内)后购物车不刷新,凑单结果保留并自动更新勾选该加购商品后的算价结果。
淘宝购物车5年技术升级与沉淀_第11张图片
解决了什么问题
解决用户小金额凑单卡点问题,帮助用户以最优惠的方式买到更多有购买欲的商品;
用户选择被推荐的商品后,自动更新算价,凑单链路不再中断;
存在的问题
路径还是相对较深;
算法准确度需要不断升级提高;
 另外值得一提的是,省心凑业务的上线也是技术突破支撑业务发展比较好的例子。省心凑项目的落地,实际上实现了几个突破(客户端与服务端):
加购后(信息流、详情)购物车不刷新,并自动勾选并参与动态计算;
详情加购与购物车沉淀一套感知的协议,一跳详情加购后返回购物车根据协议做各种业务定制;
整体用户动线如下:

淘宝购物车5年技术升级与沉淀_第12张图片
【阶段四:预热期提前凑单】
能力介绍
淘宝购物车5年技术升级与沉淀_第13张图片
解决了什么问题
提前算清大促正式期的价格,提前凑单;
存在的问题
目前预热期的凑单结果实际上和正式期是完全割裂的,用户的体验也是有断层的;
另外,购物车价格抢先看项目也是21年购物车做的一个比较大的尝试与突破,首次让我们在预热期提前看到正式期的价格。值得一提的是,整个大促放量期间,用户诉求声量非常高,用户迫切希望使用的相关诉求在当天达到3900+,最终整个双十一期间,凑单相关求助降低34.8%。项目组也因此获得集团小草莓、手淘体验年度TOP榜、手淘体验大众评审TOP榜,并已通过集团审批递交国家专利申请。
算价体验专项
购物车最核心的功能之一是凑单,但是凑单一定是基于准确或者基本准确的价格计算,这里的价格计算包括商品卡片上渲染的单品优惠,还有店铺优惠、跨店优惠等等。而众所周知,双十一的营销规则越来越复杂,这也给购物车的价格体验带来了技术上的复杂性。营销规则愈发复杂,优惠种类愈来愈多,消费者理解起来也愈发困难,这个时候,购物车就是下单前最后一道防线,准确的价格计算,清晰的优惠计算表达,以及贴心的最优解获取入口是购物车价格体验的核心目标。一张图来较为完整的描述购物车在价格体验提升上都做了哪些事情:
淘宝购物车5年技术升级与沉淀_第14张图片
【目标一】:因为营销的复杂性和各个场景的特点,实际上从导购、购物车、到下单各个环节都存在一定程度上的价格不一致问题,购物车需要不断完善动态计算,保持和上(详情)下(下单)游的价格一致性;
购物车价格一致性
与详情:目前为止购物车与详情价格体验基本保持一致;
与下单:目前为止,排除了某些正常业务逻辑原因导致的不一致后,购物车下单价格基本一致。同时一张图总结下购物车在价格一致性体验上每个阶段都做了哪些努力:
淘宝购物车5年技术升级与沉淀_第15张图片
动态计算高峰不降级
2021年的双十一购物车彻底实现了高峰期间算价不降级;
【目标二】:优惠具备清晰的表达。有时候用户的很多客诉咨询不是因为价格不对,而是用户无法理解优惠计算的结果。那么购物车的优惠明细就担负着让用户清晰的理解价格计算过程的使命;
购物车优惠明细升级
优惠明细承担了手淘购物车优惠计算说明的任务,到目前为止经历过三次比较大的升级,无论从开发方式或是用户体验来看,都有了非常大的进步:
【版本一:weex阶段】
最初版的优惠明细采用weex版本,用户点击结算栏,打开weex页面,页面重新向服务端发送请求,请求入参与用户最后一次update请求入参相同;如下图:
淘宝购物车5年技术升级与沉淀_第16张图片
这一版本存在几个较大的问题:
1.【体验问题】:用户在购物车进行商品的勾选,计算出价格后,点击优惠明细,weex页面,服务端接口rt耗时以及weex页面渲染耗时等,都需要用户有一个比较明显的等待时间,体验较差;
2.【表达不一致性问题】:由于优惠明细页面上的信息为用户点击后重新从服务端获取的数据,也就意味着时间gap等原因带来底部结算栏和优惠明细看板信息不一致情况;
3.【操作不够友好】:老版本的优惠明细只有静态优惠信息,用户如果希望一边勾选商品,一边查看明细,则意味着,需要不断的打开明细、关闭明细,且每次打开都是新的请求,操作及其不便;
4.【优惠明细表达丰富度不够】:顾名思义;

【版本二:奥创组件化阶段】
基于愈发复杂的营销活动以及购物车自身优惠明细的体验问题,我们在NewCart项目中,对优惠明细进行了升级改造,主要改造点包括:
1.【奥创组件化】:将优惠明细面板全部奥创组件化,以弹窗形式展现;
2.【请求模式优化】:所有的动态计算请求一并下发优惠明细弹窗组件化信息,用户点击查看明细,直接渲染弹窗,无额外服务端请求,解决用户点击等待问题以及与动态计算结果不一致问题;
3.【内容&用户操作优化】:新的优惠明细面板展示出所有勾选的商品,且在明细看板页面可以针对这些商品进行相应的操作,同时明细列表实时更新;

【版本三:优惠表达升级】
版本二基本解决了用户体验问题,但是实际上,对于购物车来说,作为下单前最后临门一脚,价格相关体验也是非常重要的。价格体验我认为主要体现在两个方面:与上(详情)下(下单)游的价格一致性,以及如何能把优惠计算过程清晰的表达给用户,即除了带给用户正确的价格外还要能够清楚的告诉用户这个价格怎么来的。而优惠明细则承担了这个重任。因此,第三版的升级中,我们主要做了以下几个事情:
1【结构升级】:优惠明细结构升级为四个部分:商品列表、商品明细表达、优惠明细表达、合计;其中商品明细表达与优惠明细表达是业务可定制的部分;
2【表达升级】:对购物车内普通品、预售定金品进行分别表达,同时对几乎所有优惠的可用与不可用原因进行了表达;
淘宝购物车5年技术升级与沉淀_第17张图片
【目标三】:除了准确性和表达清晰外,实际上购物车应当一直有个使命,如何帮助用户看清优惠最优解并能够通过各种渠道获得优惠最优解,减少一些智商税;
购物车营销能力
在上述繁杂的优惠营销规则中,某些权益是需要用户主动领取而得,例如店铺优惠中的商品券、单品券,跨店优惠中的品类券,以及淘金币等用户权益。在淘宝中有包括详情、卡券中心在内的一些卡券领取入口,对用户获取最优解来说无形中又增加了一些负担。因此购物车除了做营销表达外,也上线了例如领券结算、淘金币领取算价、惊喜券自动领取等能力,帮助用户缩短权益获取链路,以最高效的方式获得商品购买的最优解;
淘宝购物车5年技术升级与沉淀_第18张图片
 
淘宝购物车5年技术升级与沉淀_第19张图片

购物车商品管理体验
购物车商品管理体验:容量问题
以购物车一月求助量来说,主要为无法加购相关,而其中大约超过一半左右是由于购物车容量已满导致;而加购失败后的用户行为统计中,日常大约只有少部分商品占比会通过详情下单,1/3左右的商品会再次将该商品加购,而其他加购流量则被流失掉。加购路径的阻断,成为用户使用购物车的最大问题之一。容量问题的解决这些年也在不断优化,总结来说,经历了以下几个阶段:

【阶段一:直接扩容】
为用户扩容无疑是最直接当下最立竿见影的方法,从17年到现在为止,淘宝购物车也采用了不同的扩容手段:
超级购物车:17年双十一,平台向用户提供使用天猫积分兑换容量的选择;
88VIP购物车扩容:19年双十一期间提供88vip用户扩容资格;
预售购物车:针对预售商品提供单独40容量,不占现货商品容量;
但实际上,用户对容量的诉求远不会停止,单纯扩容实际上并没有从根本上解决问题,并不是长久之计。
【阶段二:直接解决加购卡点】
在用户因为容量满加购失败卡点处,提供更多的选择,选择一键已失效或购买意愿较低的商品移入收藏夹,而成功加购当下购买意愿更强的商品。在用户的关键行为阶段上针对加购失败进行有效的承接,通过复合操作等策略降低用户操作成本,缩短用户路径,有效挽回高价值的加购意愿商品,进而挽回GMV的流失。
淘宝购物车5年技术升级与沉淀_第20张图片
【阶段三:刺激用户主动清理】
引导清理
根据数据显示,用户在遇到加购报错弹层时,大约50%的用户会主动找商品替换删除,但是其中只有20%的用户会回到购物车进行批量删除。加购清理功能虽然帮助用户在详情加购处解决当下商品的加购问题,但单商品删除效率极低,需要在适当的时机引导用户进行商品批量的剔除清理。
淘宝购物车5年技术升级与沉淀_第21张图片
清理提示的出现时机也是一门学问,目前一期首先根据用户购物车商品数量进行选择透出。后面会和用户上一次下单的商品相关类目等因素进行清理入口出现时机的判断。
优化删除/清理体验
对于愿意回到购物车进行批量清理的用户来说,提高删除商品的体验,让用户删的更多删的更爽也是非常重要的。

购物车商品管理体验:商品发现问题

商品是购物车的核心,帮助用户将由购买意愿的商品成功高效的加入购物车是第一步,那么第二步则是如何让用户在购物车中能够快速发现/找到期望的商品。

快速搜索定位到商品
购物车月均搜索相关舆情约55条,排在购物车相关舆情问题top5;当用户有明确购买意向时,搜索能力实际上是用户快速找到商品的第一利器。
淘宝购物车5年技术升级与沉淀_第22张图片
商品分类筛选
除了搜索能力帮助用户有明确购买意向时快速找到相关商品外,淘宝购物车还提供了多个商品分类筛选的入口,进一步提高用户发现商品的效率。除此之外,提高一些低购买意愿商品的触达效率,让购物车的商品「活」起来,提升用户体验的同时带来转化的提升。
淘宝购物车5年技术升级与沉淀_第23张图片

购物车场景的促转化空间在哪里

购物车的转化从何而来

购物车作为一个基础链路上偏工具属性的产品,是否存在转化提升的空间?对于购物车来说,无论是转化还是体验都离不开「人」与「商品」两个核心,我们分别从这两个方面去分析购物车场景的转化空间在哪里。


从消费者人的角度来说,提升转化,我认为可以总结为三件事儿:
加购链路顺畅,用户的加购意愿以及高购买意愿商品不被流失;
用户在购物车一次合并下单中,如何让用户一次买/凑的更多更爽?
如何召回用户到购物车,始终保持高兴趣度,买更多次?

商品
再回到商品角度来说,目前购物车中存在大量未被转化的商品,其中包括正常商品以及大约17%左右的失效商品。当我们分析商品的加购时间与其转化率之间的关系,会发现一个很有意思的现象,商品在加购超过一天后,转化率会急剧下降。这就意味着随着加购时间增加,用户对该商品的购买欲望愈来愈低,降低的原因可能是:商品随着加购逐渐沉底,曝光效率开始降低;商品价格或者商品状态没有变化,或者有明显变化但并没有将变化触达给用户;基于此我们将购物车商品分为三种类型
【沉睡商品】:随着加购时间不断累计,加购时间越长的商品越难被转化,对于转化率低于一定值的商品,我们将之定义为沉睡商品。
【失效商品】:用户加购成功后,因为商家主动下架商品,商品重新编辑发布,等原因导致的商品无法继续进行操作的购物车商品。失效商品无法再查看商品详情,和进行勾选,只能一刀收藏夹或者直接删除商品。
【高购买意愿商品】:近期加入到购物车,或者有价格等信息变化并在购物车得到曝光,对于用户来说有较高购买意愿的商品;

从「人」、「商品」角度来看近两年淘宝购物车在转化方面总结下来整体策略如下:
淘宝购物车5年技术升级与沉淀_第24张图片
提升购物车转化的核心是让购物车商品“流动”起来:失效商品一部分通过用户加购失败替换,一部分通过找同款而转换为更高购买意愿商品;对于沉睡商品来说,抓住其价格或者状态变化的关键点有效触达用户,提升用户的购买欲,从而带来转化的提升;

重点项目介绍

沉睡商品唤醒项目
我们通过回答几个问题来说明项目的业务背景:
什么是沉睡商品?前面我们已经介绍过了,我们把那些随着加购时间增长转化率降低的商品成为「沉睡商品」;
什么是唤醒?唤醒什么?什么时候唤醒?如何唤醒?所谓唤醒即将影响下单的商品状态的变化触达给消费者,重新激活/唤醒对该商品的购买欲望。整体产品的核心逻辑总结为:
淘宝购物车5年技术升级与沉淀_第25张图片

淘宝购物车5年技术升级与沉淀_第26张图片

那么这里有两个重点:什么时候唤醒以及如何唤醒,即唤醒策略和触达策略。
【唤醒策略】定义影响商品下单决策的状态
价格变化:营销活动、日常降价、高价格力、涨价
状态变化:库存紧张、补库存、新品商家
内容变化:分享内容

【触达策略】:唤醒手段从站外到淘宝购物车内,不同层设计不同的信息触达手段
站外回流:桌面push消息提醒;
淘宝内回流:淘宝底部Tab气泡提醒;
购物车内浏览:提示用户购物车内部分商品已降价;
目前为止淘宝购物车已支持日常降价商品桌面push提醒以及回流机制,后续会增加更多价格变化以及商品状态变化的唤醒策略,以及淘宝底部bar提醒等触达策略。

惊喜券项目
项目背景
(1)从购物车角度出发:分析购物车商品加购时间与下单转化率关系分布,加购时间在20min左右出现拐点,即用户在加购20min后,商品转化率开始明显降低;而同时,购物车存量商品信息中有大量加购时间超过一天的商品;这意味着这些加购时间较长的商品转化率存在较大提升空间;
 (2)从商家运营能力出发:目前平台逐渐培养商家自运营用户群体的心智,提供商家运营客户的平台工具,例如淘宝直播-针对从购物车进来的用户会有明确的优惠券发放。面对购物车存量商品情况以及人与货品关系匹配的场景,我们希望能提供针对交易链路购物车场景的商家自运营工具,商家针对有明确购买意愿但是迟迟犹豫的用户,可以分渠道进行针对性营销,使得用户犹豫点消失,进而成为转化;

业务解决方案关键点
商家自运营:商家根据用户加购情况,选品报名,设置优惠券信息;
购物车营销权益领取触达:购物车场景将商家设置的营销权益获取入口透出给消费者,激励消费者领取;
购物车用户利益点表达:用户已经领取的专项优惠在购物车页面表达,提高用户购买意愿;

项目目标:通过平台链接消费者及商家,实现权益自动投放,最大化提升商品转化率

业务演进

购物车惊喜券业务经历三次业务模式优化,我们从「商家」和「消费者」模块分别总结如下图
淘宝购物车5年技术升级与沉淀_第27张图片

业务支撑路上的沉淀

淘宝购物车各种业务场景的创新尝试离不开技术的探索与突破,当然技术的发展也一定是为业务服务,以业务先赢为目标。但是,购物车作为基础链路上少有的增删改查全部具备的列表翻页场景,客观存在特有的一些技术开发难点。那么本部分内容就来分析下购物车业务开发的技术难点,以及如何一一突破来支撑业务发展,并沉淀通用可扩展能力进行业务提效。

技术突破支撑业务发展

技术架构

首先先用一张大图描述下淘宝购物车的技术架构,有个全局的认识
淘宝购物车5年技术升级与沉淀_第28张图片

购物车开发技术难点分析

购物车业务场景特点
流量大,稳定性以及产品可用性永远是前提和基础;
列表形式业务场景,包含增删改查,购物车容量虽有克制,但一定是不断增长的;
调出型代表应用,依赖多(优惠、商品、库存、限购等等下游);
基础产品,体验第一(不能随着业务的复杂性提高降低用户体验);

购物车开发技术难点
基于购物车业务场景的特点,以及近些年开发购物车的经验,我认为淘宝购物车业务开发最大的技术难点有二;

交易核心链路引入营销导购/算法等场景
每一年用户购买力和诉求都在增长,业务在不断发展,营销导购/算法类的业务诉求越来越多,但下游依赖不断增多,核心链路耗时增长,再加上购物车是一个列表形式,任何复杂度都会随着商品列表增加成倍增加,对稳定性和用户体验都是巨大的挑战。但无论业务如何发展,稳定性及用户体验永远排在首位。最终导致的局面是用户侧的rt体验没有提升,营销导购/算法类的业务无法落地。
那么是否可以重新定义一下购物车的核心数据与非核心数据?核心数据保持一个比较稳定的数据量级以及复杂度,非核心数据来完成业务的增长;对于购物车场景来说,区别是否核心应当是两个维度,第一,数据量级的维度,即购物车列表,按照顺序排列后是否每一个坑位对于用户进入购物车都是核心数据(不止是分页)?第二,信息丰富度,例如购物车商品基本数据和营销数据,或者说下单需要的数据和利益表达的数据;

购物车分页渲染场景与全局内容感知这一诉求之间的矛盾
即如何在购物车分页渲染(用户主动翻页驱动)的前提下,提前感知、聚合用户购物车全部商品的信息进行某些氛围的表达,一直以来购物车的很多诉求都与之相关:第一版惊喜券飘条透出、筛选入口透出逻辑、tab提示等等;这里对全局商品的感知诉求又包含两个层次,基础商品标志(id等)、商品IC基本信息(商品标签等)、复杂商品信息(具有购物车场景语义的优惠、失效等);不同层次对购物车的依赖不同;

技术突破带来的业务升级

购物车筛选能力
2020年双十一之前,淘宝购物车是没有任何商品筛选功能的。而商品筛选分类,提高发现效率一直是用研报告中,top级别的用户诉求点。

难点分析
分页模式:购物车为分页查询,筛选商品可能分布在不同的页面中(例如极端情况下,希望筛选出的商品在购物车分页查询中的最后一页);
合并结算:各个筛选“页面”下的商品勾选操作在切换过程中需要保留,底部动态计算结果需要保留(例如在筛选浮层下筛选出的商品在购物车分页查询中的最后一页,且被用户勾选参与动态计算。关闭浮层回到后商品勾选保留,动态计算结果保留);
用户的操作体验要求,例如底部价格不能出现跳变等;
淘宝购物车5年技术升级与沉淀_第29张图片

技术方案选型

方案类型 方案描述 优势 劣势
客户端筛选 用户刷新购物车,查询第一页以及预加载,渲染50个商品;

点击凑单筛选,用户购物车剩余商品完整信息全部一次性拉出;
由服务端对商品等组件打筛选标,客户端根据组件标做显示/隐藏实现商品的筛选 | 客户端筛选,筛选浮层勾选态可一直保留,不会存在回到大购物车滑动,结算栏跳动问题;
点击凑单筛选拉回全部商品,避免客户端串行依次请求带来的各种时序等异常流问题,异常流某种程度导致用户购物车页面结构错乱;
一次下发全部商品,后续筛选可由客户端完成,基本不存在对服务端的再次调用;
后续能力可复用,例如预售筛选; | 部分流量,加载商品数大于40个,存在rt过高,端上体验较差以及带给服务端性能压力问题(可参考后面压测流量评估,高峰降级)(需要评估rt时间看端上体验问题) |
| 服务端筛选 | 点击筛选,服务端只下发跨店满减商品;
点击关闭,由于需要保留勾选态,因此需要下拉用户购物车其他剩余商品完整信息;
再次点击筛选/关闭,保持和客户端筛选方案一致的逻辑,做客户端筛选; | 沉淀能力,后续筛选能力可复用 | 相对于客户端筛选方案流量没有减少(性能压力没有减小),依次点击关闭,反而多了一次调用;
第一次打开,关闭的时候,会出现rt过高用户体验差的问题; |

最终的技术方案
最终结合项目具体诉求我们选择客户端筛选的方式,方案时序如下图所示:
淘宝购物车5年技术升级与沉淀_第30张图片
客户端筛选的本质,实际上从客户端的角度来看,是根据各个组件的筛选标以及当前筛选页对组件进行显示/隐藏,实现最终的商品筛选。例如当前购物车主要组件如下:
淘宝购物车5年技术升级与沉淀_第31张图片
那么对于各个筛选页面来说,各筛选态的结构如下:
淘宝购物车5年技术升级与沉淀_第32张图片
结合购物车分页渲染商品列表的场景,使用客户端筛选方案,实现分页场景下勾选态保留的购物车筛选能力,在独立购物车、筛选入口方式、筛选项策略维度均具备扩展性;并支撑大促凑单筛选、预售筛选、多Tab等业务上线;
淘宝购物车5年技术升级与沉淀_第33张图片

应用的业务场景
淘宝沉淀的客户端筛选方案最终支持多个业务落地,包括跨店满减、预售等浮层筛选,以及NewCart中降价、常购等多Tab模式筛选:
淘宝购物车5年技术升级与沉淀_第34张图片

交易核心如何引入算法导购链路
这里我们依旧以淘宝惊喜券项目为例,项目背景直接阅读“惊喜券项目”部分。
惊喜券项目伴随业务发展最终沉淀技术架构如下图所示:
淘宝购物车5年技术升级与沉淀_第35张图片
项目落地的过程中,主要围绕以下两个挑战与命题进行探索与沉淀:
【技术挑战一】:大数据量活动商品(百万)情况下,如何完成购物车(交易)核心链路对用户所有购物车商品的筛选;
【技术挑战二】:如何在购物车(交易)核心链路场景,面向用户保障导购营销业务的确定性以及人货匹配的精准度(算法接入);

挑战一:活动商品的筛选
【问题定义】:
淘宝购物车5年技术升级与沉淀_第36张图片
业务上氛围的透出面向用户购物车全部商品,以及购物车分页查询的事实意味着商品的筛选只能依靠基础商品id信息,那么大数据量活动商品id的存储和过滤的性能,在购物车核心链路便成为第一项技术挑战;
【解决方案描述】
淘宝购物车5年技术升级与沉淀_第37张图片
如上图所示,三个业务阶段的发展,对应三种不断优化的核心链路商品筛选方式,从diamond、到内存布隆过滤到最终选择的tairBloom方案,他具备以下优势:
(1)使用RDB存储规模级活动商品信息,打破购物车内存限制对参与活动商品量级的要求;
(2)由定时推送大文件数据到购物车机器,改为对远程RDB存储信息进行实时维护,降低对购物车应用自身稳定性风险的同时进一步提高业务的确定性;

挑战二:核心链路业务确定性及算法接入
【问题定义】:上述阶段一、二方案在业务表现上存在弊端,主要表现如下:
业务确定性:由于无法在核心链路引入拉菲等导购依赖,只能依靠前置商品筛选过滤,存在时延,营销利益点氛围透出用户侧表现具有不确定性,体验较差;
人货匹配的精准度:阶段二方案在购物车同步链路中使用基础规则针对用户进行商品营销氛围的透出,而人与货的匹配在交易核心链路由于rt稳定性等要求,无法引入算法进行计算获取最优解;
【解决方案描述】将导购链路依赖通过异步链路下发,保障核心链路稳定性的同时获取业务的准确性及算法接入的能力:
淘宝购物车5年技术升级与沉淀_第38张图片
氛围的渲染从同步链路解耦,既保障核心链路稳定性,同时保障了业务的确定性并提供了算法接入可能,帮助业务逐步追求最优解;

核心结果
购物车转化业务效果数据
规模:保障稳定性基础上支持近几十万商品报名活动;
券核销率:18年到21年券核销率提升超过50%;
沉淀购物车异步能力:沉淀基础链路异步能力,将复杂业务逻辑与核心链路剥离,降低代码耦合,缩短核心接口耗时,保障核心系统稳定性。给业务场景扩展、快速迭代提供更多可能性;技术演进诞生nextRpc架构(新一代核心与非核心数据分段式混合响应框架)产生并在下单换购业务中落地;

最后关于算法,再聊一些题外话,实际上近两年购物车有一个非常明显的变化,即业务与算法结合的场景越来越多了,这是大流量营销场景发展必然的诉求。同时更多大胆的技术突破与尝试为业务发展也带来了可能。目前购物车与算法结合的场景有:降价商品push推送、购物车常购、省心凑等。当下购物车链路中涉及算法以及异步的场景链路如下:
淘宝购物车5年技术升级与沉淀_第39张图片
但我认为基础链路与算法的更合理、正确的合作模式依旧需要进一步的探索。
做基础链路业务时间长了,有一个很难扭转的意识,即我们更多关注功能的正确性,很容易忽视算法的准确度,以及最终项目数据中算法的价值体现。例如常购和省心凑,实际上最终决定这两个功能是不是好用,利用率是不是高,除了操作功能正确性外,更重要的是算法推荐的个性化与精准度,购买决策核心永远都是商品本身。算法的准确度如何衡量、算法的结果价值如何评判,如何推送业务更好的迭代,是需要我们业务开发和pd一起往前探索的重要一步。

能力沉淀赋能更多业务

实际上这些年在支撑淘宝业务发展的同时,也在不断沉淀通用的能力,赋能更多的独立购物车或者其他垂直业务快速迭代,例如:购物车优惠明细开发规范、购物车领券结算开发规范、购物车分组结算开发规范、购物车凑单氛围开发规范、购物车筛选能力开发规范、购物车商品卡片氛围开发规范、购物车上下游传参说明、奥创开发相关知识。

购物车的未来在哪

近一年,淘宝购物车在提升转化和体验上,都有业务上的突破以及技术上的升级。例如从平台促转化来说,FY22财年以前,如果说我们都在找寻用户购物车内部商品的促转化点,提升购物车商品的流通的话(例如唤醒低转化商品激活购买欲、筛选商品提升购买决策等),那么FY22财年,我们开始尝试与算法进行合作,探索一些精准符合用户预期的购物车外的转化场景,例如常购、例如省心凑(凑单推荐),在提升用户体验的同时,获得购物车外的GMV场景。再例如体验上,FY22财年是第一次开始逐步关注用户体验的一年,购物车作为一个具备强烈工具属性的业务场景,用户体验应当永远放在第一位,FY22财年,淘宝购物车在价格体验上做了不少事情,例如高峰期算价不降级,和下单的价格计算一致性,购物车算价明细表达优化等。
那今天以后的淘宝购物车方向在哪里?购物车是一个提供商品管理、凑单合并结算能力的基础工具,围绕两个核心:「人」和「商品」,目标依旧是提升用户使用体验及下单决策效率;
【商品管理方面】
加购链路更顺畅;
提升用户浏览、查找商品的效率;
从根本上解决用户容量问题,让用户购物车商品「流动」起来;
【凑单算价方面】
继续提升价格体验,包括购物车算价和上下游的一致性、优惠表达的清晰度等;
提升凑单效率,在筛选、推荐的基础上,更进一步,例如推荐用户最佳凑单搭配等;

你可能感兴趣的:(程序员)