探探技术架构Review-商品体系

业务介绍

探探的主要盈利方式为会员售卖, 目前在售的会员有VIP、SVIP 及探币。 但在探探的迭代过程中我们测试过多种多样形式的会员打包方案、测试过多种档位的会员售卖形式 如 1, 3, 6, 12个月的包月, 各种档位的探探币价值, 测试过多种价格的会员售卖。

为了帮助业务实现售卖体系的敏捷测试, 我们搭建了一套支持千人千面分发的商品体系。 该系统的主要难点在于如何实现商品的灵活可配置,将商品测试的研发成本降到最低。

为此我们抽象了一套试用于探探平台的商品领域模型, 并配套的增加了商品管理后台, 规则引擎 方便敏捷的管理

技术实现

系统架构

模型抽象

商品体系的领域模型如下:

  1. productCategory: 我们定义成货架,客户端每个购买弹窗我们定义成一个货架, 这个货架下一般会展示3-6个同类的商品, 以安卓端的SVIP为例, 要展示VIP 1个月、3个月、6个月的自动及非自动续费商品。
  2. skuRule: 货架选取一套商品的规则, 一个货架下有多条规则,每条规则下会关联一套商品, 系统会选取当前用户命中的规则的那套商品返回给客户端
  3. Product 描述的是一种类型的商品及对应的特权
  4. Item SKU的概念 同一个Product下有多个Item, 每个Item对应不同的单价

用户获取可购买商品列表流程

  1. 前提:因为商品的数量不多, 因此上述的商品信息会在每次启动的时候加载到内存中, 并定期刷新
  2. 获取流程:
    1. 加载系统所有生效的货架ProductCategory及货架下的SKU规则
    2. 运行对应的SKU规则, 找到权重最高的命中规则,
    3. 返回该规则下的相应商品

用户购买权限校验

我们采用服务端签名的方式来完成用户购买资格的校验, 每次下发商品的时候会对每个商品用uid+itemId+时间戳 来生成一个服务端签名, 创建订单的时候需要带着这个签名返回才能购买成功,

规则引擎

为了实现sku规则的灵活可配置, 我们基于LISP表达式实现了一套规则引擎。 后台提交相应的规则到DB, 程序运行时加载相应的规则并执行。

规则引擎的实现细节

规则引擎的表达使用的是前缀表达式, 执行过程

  1. 编译阶段,
    1. 语法解析成AST树,
    2. 针对AST树执行各种优化
      1. Costant Folding 编译阶段 折叠常量计算, 算数计算会前置优化掉
      2. 减少嵌套层次
      3. 重排序 优先计算代价小的操作
    3. 将优化后的结果压入堆栈, 这里我们会使用后缀表达式的方式入栈, 以减少频繁的push
  2. 执行阶段 后缀表达式的方式执行。

结合用户画像及深度模型的智能营销

规则引擎提供了一套个性化下发商品的框架, 但是针对于哪些人群去下发什么样的价格,展示什么样档位的商品,这块还需要依赖更多精细化运营的方式。

这块我们通过深度模型学习的方式预测用户购买的意愿及能力, 通过规则引擎与深度模型相结合取的了不错的业务效果。

系统的难点及解决方案

讨论

系统优势

  • 通过合理的业务模型抽象, 实现了系统的灵活配置, 减少了开发的成本,使得技术同学可以从繁杂的业务细节实现中剥离出来,更关注系统及业务效率
  • 与深度模型的结合,真正实现了千人千面的精细化营销, 进一步提升了VAS的变现效率。深度模型帮助业务实现了以下两点
    • 购买意愿的筛选, 哪些人群会有会员的购买意愿, 哪些人群没有
    • 购买能力的筛选, 哪些人群是高净值用户, 可以获取更高的客单价, 哪些人群通过低价能撬动转化。

系统不足

更多是偏向于后端的抽象, 客户端的开发成本并没有降低。 如果配合一套客户端的描述方案或者动态化策略, 可能会有更大的收益。 因为端上对于购买弹窗的改动还是比较频繁的。 业务上收益最大化的方案是购买弹窗弱化续费、弱化总价的概念突出单价, 但由于监管风险的存在,需要进一步调整 以一个相对对收入影响比较小的方案突出续费及总价 。 这块客户端的动态化做的探索偏少。

相关推荐
Learn_PLC10 小时前
自动化工程师Demand与工业机器人技术发展的未来趋势分析
架构
Learn_PLC10 小时前
PLC编程就业前景与自动化人才短缺解析及技能提升补贴政策
架构
晚安code11 小时前
微服务架构和单体架构的区别:拆之前你得先想清楚这件事
微服务·架构
东方佑11 小时前
v24 (Hybrid2Fast) 架构与实验报告
人工智能·深度学习·语言模型·自然语言处理·架构
狂奔蜗牛(bradley)12 小时前
把 EtherCAT 初始化从 FPGA 搬到 ARM:命令通道的接口设计与11个坑
arm开发·人工智能·fpga开发·架构
Erishen13 小时前
51个指标 × 5000只股票:全市场技术扫描的工程实践
架构
vx_Biye_Design15 小时前
django就业信息推荐系统61953-计算机课程设计、毕业设计
java·vue.js·spring boot·python·架构·django·课程设计
七夜zippoe15 小时前
多 Agent 协作架构:Pipeline 模式——串行流水线设计与实战
ai·架构·pipeline·agent·串行流水线
EatFan16 小时前
从云原生到AI原生:2026后端架构“三驾马车”(事件驱动、虚拟线程、AI Agent内嵌)演进解析
spring boot·云原生·架构·虚拟线程·ai-native·ai agent·spring ai
龙亘川16 小时前
探索智慧文化服务:建设初衷、整体架构、技术支撑、发展现状与实践影响
大数据·数据库·架构