91APP如何自建大数据模型与生成式AI,来强化会员经营和商品推荐机制

图片来源: 

洪政伟摄

零售系统解决方案商91APP产品长李昆谋回顾了近8、9年来,他们如何利用一系列数据技术来打造零售应用。尤其是,如何打造专属台湾零售业的生成式AI,并将技术应用打造成可规模化的商用产品。

利用统计方法与传统AI/ML来应用数据

自2017年来,他们陆续推出NAPL、DCIU、PAVO等统计与机器学习模型,来分析会员数位足迹,进而强化零售业会员经营。在生成式AI时代到来的如今,这些模型依然是有效且重要的会员经营工具。

NAPL最早推出,是以交易数据为基础的数据分析模型,将一年内有消费的会员分为不同活跃度分类,包括首购(New) 、 活跃(Active) 、沈睡(Potentiall),以及流失(Lost)。至于如何定义N、A、P、L的会员分类,他们根据回购周期、回购贡献金额、整体活跃度等指标算出,以3倍购买周期时间为调整会员分类的分水岭,对于分众行销效果最佳。

李昆谋表示,这种分类方法下,通常一年内有消费的会员,也就是NAPL类会员,只有品牌约30%。其他会员包括超过一年没有购物的封存会员(Sealed),占人数40%,还有注册后未消费的会员(Ready to buy),占总人数30%。业绩占比来说,NAP三类会员只占2成人数,却能带来80%业绩。「有效辨别出活跃、高贡献分类的会员,对精准行销帮助很大。」他说。

DCIU则是以行为数据为基础的ML模型。91APP会搜集一系列顾客旅程中的行为,用ML演算法将顾客购买意图分类为最高购买意图 (Decided)、高购买意图(Considering)、低购买意图(Interested),以及无购买意图(Un-interested)。

DCIU模式下,D类会员人数不到2%,却能贡献5成业绩,C类会员则占5%人数,贡献近2成业绩。李昆谋说,理论上,零售业者能锁定仅7%的高消费意图会员人口,来集中行销资源。

他并将NAPL和DCIU分别比喻为CRM模型和CDP模型。前者是在顾客购物后,用归纳的方法来观察顾客位于「整体生命周期」的哪个阶段,后者则是在顾客购物前,根据行为模式预测顾客位于「单次购买周期」的哪个阶段。两者交叉运用,还能更细致的分析顾客族群,并找出更精准的行销方法。

举例来说,流失会员挽回是一件困难的事,但透过NAPL和DCIU模型,可以锁定较有可能挽回的族群。利用NAPL模型找出即将流失的会员(L),再放到DCIU模型来看,找出少数具备高购买意图(D或C)的族群。

随著OMO零售浪潮到来,他们还推出分析OMO足迹来判断会员类型的PAVO统计模型,把会员分类为单通路、跨通路,以及线下浏览线上购物、线上浏览线下购物等,为会员购物模式分析增加更多维度。

开始发展零售业专属生成式AI技术

2022年底,ChatGPT横空出世,91APP紧急重写2023年度计划,决心在3个月内做出GAI应用。初期做法是,串接OpenAI API,打造商品文案生成、行销讯息文案生成、Email生成、数据洞察报告生成、消费者商品评论模板生成等,一系列基础的生成式AI应用。

尽管客户对于这些GAI应用的回馈良好,李昆谋仍希望能打造专属91APP的零售GAI技术。2023年6月,他看到OpenAI将文章转成嵌入向量(Embedding Vector),来进行关联性比较,进而强化搜寻和资料整理等功能,决定如法炮制,将零售商品特征转成向量。初步实验发现,「我们原本分群模型有几十个辛苦抽取的特征维度,结果用Embedding Model(嵌入模型)一口气提取出上百个数据维度之后,不用改其他技术,马上提升了效果。」

于是,数据科学家团队舍弃原本打造传统ML模型的计划,开始从头研究生成式AI技术,尝试打造一个ChatGPT外挂,结合嵌入向量来搜寻出高相关性资讯,再让ChatGPT来生成零售相关问题的回应。

历时3个月,研究2、30篇论文,资料科学家团队打造出ChatGPT外挂商店中,第一个来自亚洲的电商类外挂Jooii能提供购物推荐。年底,检索增强生成(RAG,Retrieval-Augmented Generation)技术获得更多关注时,李昆谋才惊觉,这正是他们过往几个月在做的事情。

确定技术发展方向正确后,他们打算将Jooii从ChatGPT外挂,升级为一整套建构在自家环境的零售生成式AI机制,搭配可用自然语言操作的对话介面,串接91APP不同电商系统和资料库,以及公有云平台上Gemini、GPT及Claude系列的LLM。

为了让LLM能利用RAG来更准确检索数据,并应用于各式各样的推荐场景,91APP数据科学团队自行打造出一个「三塔模型」。

传统的推荐系统,常常使用双塔模型,比较两个分类的特征值,找出相似性较高的配对。以零售业而言,两座塔的数据分类通常是「顾客」与「商品」。三塔模型则增加一个了「标签」分类,让RAG机制可以检索出更符合购物情境的标签数据,来生成回答。

李昆谋进一步解释,「标签」分类包含语言以及商品产业别等情境标签。举例来说,「巧克力」在食品产业的语境是食物,在服饰业的语境则是颜色,这些资讯需要用标签来告诉模型。91APP于向量空间中浓缩了2、3千种特征维度,来辅助人与商品的配对。他坦言,产生这些标签,是相当繁杂的半人工作业,多是根据零售专业知识和统计学做法,或者是根据一条条规则式算法,从顾客与商品数据计算出具有情境意义的标签。

产出这些标签,还不能直接放进三塔模型中比较。这是因为,标签量太庞大、种类又多元,会导致计算时间过长,且杂讯过多。经过一番研究,他们才成功将不同维度有效整合到3座塔的向量空间。再经过反复实验,研发出一套降维演算法,在几乎不影响准确度的情况下,将3座塔的标签统一降到512维度,再进行相似度比较。李昆谋表示,这套算法已经超出零售专业知识,而是他们在数学领域努力实验出的成果,目前已经用专利保护。

将生成式AI技术化为商品来规模化经营

李昆谋表示,91APP有著许多大型零售客户,把应用设计成可以承受大规模瞬间流量,已经是标准开发做法。打造生成式AI应用时,当然不例外。

突然有几万人要呼叫Jooii背后的推荐模型时,系统如何撑住?李昆谋直言:「通常撑不住。更何况,模型也需要时间计算,很难给出毫秒等级的回应。」

「标准解法是,预先产生资料来让系统快取。」91APP的做法是,预先产出大量的三塔模型配对成果,储存在数据仓储中,用来回应较为常见的购物推荐情境,以消化瞬间大量请求。同时,模型会根据新汇入的顾客行为数据,不断重新运算配对结果,回传到资料仓储中。

也就是说,当顾客看到预处理的推荐结果后,会产生点击或未点击等反应。模型则会根据反应重新运算。至于一名顾客要多久才能看到最新运算、更符合自己近期行为的推荐结果?这取决于顾客本身活跃程度。

这是因为,模型必须排续重新运算配对结果的优先程度,当顾客最近来访频率高,模型会优先重算。反之,当顾客不常到站,优先度就会较低。李昆谋坦言,重算优先度的规则,确实不容易掌握,他们仍在不断调整。

现在,他们已经将Jooii用于许多不同应用,包括行销受众圈选、商品贴标、个人化推荐、商品文案生成等。他们更用Jooii来支援RMN的广告业务,根据广告行销所需情境,来配对顾客、商品及标签。

举例来说,根据顾客和标签数据,对已知顾客推荐特定类型商品。或是当广告主希望获得新客,Jooii会根据顾客和商品数据,配对出情境标签,再根据这些标签,匹配外部通路的顾客数据,找到相似受众(Look-alike),并估算出受众的消费力、爱用金流、价格敏感度等特征。

也正因为他们擅长将技术打造成可规模化的商品,未来,他们计划把Jooii作为一个IaaS产品,开放零售业客户上传自家训练数据,来支援各自的GAI零售应用。