作为电商产品设计中的高效、准确且稳定的券后价计算系统是很多电商系统的难点要求,那这样的一套高标准系统是如设计呢?下面小编带着大家一起详细介绍商品券后价的产品设计方案,从背景目标、功能设计、系统实现逻辑到异常处理机制等多个方面进行了全面阐述。
在电商系统中,券后价是一个很重要的促单环节。券后价能够有效提升用户体验,促进用户购买行为,所以券后价是一个很重要的促单工具
设计一套可通过实时计算和动态展示券后价,用户能够清晰了解优惠信息,从而提高转化率和销售额。同时,系统的处理机制需确保券后价计算的准确性和稳定性。
1. 公式:券后价 = 商品原价(或活动价) – 最优优惠金额
2. 要点说明:
3. 逻辑说明:
4. 示例:
1. 若仅一张优惠券且满足条件
2. 券后价 = 原价 – 优惠券抵扣金额
3. 示例:原价100元,优惠券满100减20 → 券后价80元
1. 可叠加优惠券,如平台券+店铺券
1)叠加条件:
需符合规则,如允许店铺券+平台券叠加,但需排除互斥券
2)计算方式:
券后价 = 原价 – 优惠券1抵扣金额 – 优惠券2抵扣金额
示例:商品原价为200元,有两张优惠券同时可叠加使用,券A(满100减20)和券B(满150减30),券后价为:200−20−30=150元
3)叠加优先级:
优先级为:平台券 > 店铺券 > 商品券(具体可按自己平台优先级)
系统实现:通过接口校验优惠券的可叠加标识字段,动态计算最优组合
2. 不可叠加优惠券,如互斥券或系统限制:
1)选择最优券:系统自动选择最优券,即取优惠力度最大的券
取数逻辑:计算所有可用券的抵扣金额,取最大值。如:优惠券A减30元 vs 优惠券B减25元 → 选A
2)计算方式:
1. 规则:
满足门槛:优惠券生效,直接抵扣。
未满足门槛:券后价 = 原价,但需提示用户“需凑单达XX元可用”(如“券后价 150 元,需凑单满 200 元可用”)。
2. 计算逻辑:
1) 单商品:
若商品原价 ≥ 优惠券门槛 → 券后价 = 原价 – 抵扣金额
否则 → 券后价 = 原价
2) 购物车多商品:
3. 跨商品合并计算:
在购物车/结算页,用户需凑单满足门槛后,按比例分摊优惠至单个商品。
用户访问详情页 → 系统查询用户可用券 → 过滤满足门槛的券 → 按优先级/叠加规则计算最优价格 → 返回券后价。
1. 优惠券中心:
管理优惠券元数据:如存储优惠券类型、门槛、适用范围、有效期、叠加规则等
2. 商品中心:
提供商品原价、活动价、品类、店铺等信息
3. 计算引擎:
4. 缓存层:
5. 前端展示层:
1. 商品列表页
预计算 + 缓存:基于商品原价和优惠券,提前计算并缓存结果(需缓存用户可用券信息)
计算方式:可采用异步任务预计算
2. 商品详情页
实时计算:结合用户当前可用券,实时计算最优价格(调用优惠中心接口)
计算方式:实时接口调用
3. 购物车页
动态计算:根据购物车内已选商品总价和优惠券门槛/组合,实时计算更新
计算方式:动态接口调用
4. 兜底策略:
超时或计算失败时,前端默认展示原价并提示“优惠信息加载中”
1. 用户访问商品详情页 → 前端请求券后价接口,携带用户ID、商品ID。
2. 计算引擎查询用户可用优惠券,过滤出满足门槛的券。
3. 按优先级选择最优券,返回券后价。
1. 价格计算为负数
处理逻辑:如计算结果低于0(负数),券后价按0元计算 或 限制最低价为0元并提示“系统检测到异常优惠,已自动修正”,系统需记录日志
2. 价格计算低于成本价
处理逻辑:如计算结果低于成本价,系统需记录日志并通知商家处理
3. 计算服务超时
处理逻辑:降级展示原价,并记录日志告警。
商品:原价200元,参与限时折扣(8折 → 160元)。
优惠券:
计算:
→ 最终券后价130元
商品:原价300元
优惠券:
计算:
→ 最终券后价 210 元
首先在做券后价计算公式时,需分两个层面考虑:商品价格取值,如会员价,活动价;优惠券取值:如门槛,多张优惠券处理。接下来是多张优惠券的情况。这时候需要考虑优惠券的优先级。
然后考虑计算量,商品列表、详情页、购物车都需要显示券后价,所以系统需要高效计算
最后需要检查是否有遗漏的点,比如优惠券优先级,如店铺券优先于平台券,或者面额大的优先。另外,门槛计算是否需要考虑商品是否参与活动,比如某些商品可能不参与满减。这些细节都要考虑到方案中,确保全面覆盖用户需
基于以上的思考方式,输出一份最佳的产品解决方案