商品券后價產品設計方案
如何設計一套高效、準確且穩(wěn)定的券后價計算系統,是電商產品設計中的關鍵挑戰(zhàn)之一。本文詳細介紹了商品券后價的產品設計方案,從背景目標、功能設計、系統實現邏輯到異常處理機制等多個方面進行了全面闡述。
一、背景及目標
1.1 背景
在電商系統中,券后價是一個很重要的促單環(huán)節(jié)。券后價能夠有效提升用戶體驗,促進用戶購買行為,所以券后價是一個很重要的促單工具
1.2 目標
設計一套可通過實時計算和動態(tài)展示券后價,用戶能夠清晰了解優(yōu)惠信息,從而提高轉化率和銷售額。同時,系統的處理機制需確保券后價計算的準確性和穩(wěn)定性。
二、功能設計與實現方案
2.1 券后價的計算公式
1. 公式:券后價 = 商品原價(或活動價) – 最優(yōu)優(yōu)惠金額
2. 要點說明:
- 活動價:需考慮會員價,限時折扣、會員折扣等疊加活動
- 最優(yōu)優(yōu)惠金額:優(yōu)惠金額可以是單張優(yōu)惠券的金額,也可以是多張優(yōu)惠券疊加后的總金額
3. 邏輯說明:
- 門檻:需滿足券的使用條件(如滿減門檻、品類限制、時間有效性等)。
- 若商品原價不滿足優(yōu)惠券門檻,券后價仍顯示原價。
- 若滿足門檻,券后價直接展示原價減優(yōu)惠券面額后的價格。
4. 示例:
- 商品原價 100 元,用戶持有滿 100 元減 20 元優(yōu)惠券 → 券后價 80 元。
- 若商品原價 90 元,使用同一張券 → 券后價仍為 90 元(不滿足門檻)
2.2 基礎計算邏輯(僅一張優(yōu)惠券)
1. 若僅一張優(yōu)惠券且滿足條件
2. 券后價 = 原價 – 優(yōu)惠券抵扣金額
3. 示例:原價100元,優(yōu)惠券滿100減20 → 券后價80元
2.3 多張優(yōu)惠券時的計算邏輯
1. 可疊加優(yōu)惠券,如平臺券+店鋪券
1)疊加條件:
需符合規(guī)則,如允許店鋪券+平臺券疊加,但需排除互斥券
2)計算方式:
券后價 = 原價 – ?優(yōu)惠券1抵扣金額 ?– ? 優(yōu)惠券2抵扣金額
示例:商品原價為200元,有兩張優(yōu)惠券同時可疊加使用,券A(滿100減20)和券B(滿150減30),券后價為:200?20?30=150元
3)疊加優(yōu)先級:
優(yōu)先級為:平臺券 > 店鋪券 > 商品券(具體可按自己平臺優(yōu)先級)
系統實現:通過接口校驗優(yōu)惠券的可疊加標識字段,動態(tài)計算最優(yōu)組合
2. 不可疊加優(yōu)惠券,如互斥券或系統限制:
1)選擇最優(yōu)券:系統自動選擇最優(yōu)券,即取優(yōu)惠力度最大的券
取數邏輯:計算所有可用券的抵扣金額,取最大值。如:優(yōu)惠券A減30元 vs 優(yōu)惠券B減25元 → 選A
2)計算方式:
- 券后價 = 原價 – 最優(yōu)券抵扣金額
- 示例:商品價100元,券A(滿100減20)、券B(滿100減15),選擇券A,券后價=80元
2.4 優(yōu)惠券有門檻時的處理
1. 規(guī)則:
滿足門檻:優(yōu)惠券生效,直接抵扣。
未滿足門檻:券后價 = 原價,但需提示用戶“需湊單達XX元可用”(如“券后價 150 元,需湊單滿 200 元可用”)。
2. 計算邏輯:
1) 單商品:
若商品原價 ≥ 優(yōu)惠券門檻 → 券后價 = 原價 – 抵扣金額
否則 → 券后價 = 原價
2) 購物車多商品:
- 總金額 ≥ 門檻 → 總券后價 = 總原價 – 抵扣金額
- 否則 → 券后價 = 總金額,提示用戶“需湊單達XX元可用”
- 示例:商品A原價100元,商品B原價80元,優(yōu)惠券滿200減30 → 券后價180元(未達標),需湊單20元可用券。
3. 跨商品合并計算:
在購物車/結算頁,用戶需湊單滿足門檻后,按比例分攤優(yōu)惠至單個商品。
三、系統實現邏輯
3.1 核心流程
用戶訪問詳情頁 → 系統查詢用戶可用券 → 過濾滿足門檻的券 → 按優(yōu)先級/疊加規(guī)則計算最優(yōu)價格 → 返回券后價。
3.2 核心模塊設計
1. 優(yōu)惠券中心:
管理優(yōu)惠券元數據:如存儲優(yōu)惠券類型、門檻、適用范圍、有效期、疊加規(guī)則等
2. 商品中心:
提供商品原價、活動價、品類、店鋪等信息
3. 計算引擎:
- 輸入:商品價格、用戶優(yōu)惠券列表、商品屬性、活動規(guī)則等信息。
- 輸出:最優(yōu)券后價及優(yōu)惠券組合
4. 緩存層:
- 使用Redis緩存高頻商品的券后價,減少數據庫壓力。
- 存儲用戶可用券、預計算結果
5. 前端展示層:
- 通過接口實時獲取券后價,結合樣式高亮(如“券后¥XX”)
3.3 計算場景與策略
1. 商品列表頁
預計算 + 緩存:基于商品原價和優(yōu)惠券,提前計算并緩存結果(需緩存用戶可用券信息)
計算方式:可采用異步任務預計算
2. 商品詳情頁
實時計算:結合用戶當前可用券,實時計算最優(yōu)價格(調用優(yōu)惠中心接口)
計算方式:實時接口調用
3. 購物車頁
動態(tài)計算:根據購物車內已選商品總價和優(yōu)惠券門檻/組合,實時計算更新
計算方式:動態(tài)接口調用
4. 兜底策略:
超時或計算失敗時,前端默認展示原價并提示“優(yōu)惠信息加載中”
3.4 流程示例
1. 用戶訪問商品詳情頁 → 前端請求券后價接口,攜帶用戶ID、商品ID。
2. 計算引擎查詢用戶可用優(yōu)惠券,過濾出滿足門檻的券。
3. 按優(yōu)先級選擇最優(yōu)券,返回券后價。
3.5 異常處理機制
1. 價格計算為負數
處理邏輯:如計算結果低于0(負數),券后價按0元計算 或 限制最低價為0元并提示“系統檢測到異常優(yōu)惠,已自動修正”,系統需記錄日志
2. 價格計算低于成本價
處理邏輯:如計算結果低于成本價,系統需記錄日志并通知商家處理
3. 計算服務超時
處理邏輯:降級展示原價,并記錄日志告警。
四. 案例說明
案例1:多券疊加場景
商品:原價200元,參與限時折扣(8折 → 160元)。
優(yōu)惠券:
- 券A:滿150減30(可疊加)
- 券B:滿200減50(不可疊加)
計算:
- 疊加券A:160 -30 = 130元
- 選擇券B:160(未達標200元門檻)
→ 最終券后價130元
案例2:不可疊加場景
商品:原價300元
優(yōu)惠券:
- 券A:滿 200 減 50(不可疊加)
- 券B:滿 300 打 7 折(不可疊加)
計算:
- 券A:300 – 50 = 250 元
- 券B:300 × 0.7 = 210 元
→ ?最終券后價 210 元
五、設計思路(很重要)
首先在做券后價計算公式時,需分兩個層面考慮:商品價格取值,如會員價,活動價;優(yōu)惠券取值:如門檻,多張優(yōu)惠券處理。接下來是多張優(yōu)惠券的情況。這時候需要考慮優(yōu)惠券的優(yōu)先級。
然后考慮計算量,商品列表、詳情頁、購物車都需要顯示券后價,所以系統需要高效計算
最后需要檢查是否有遺漏的點,比如優(yōu)惠券優(yōu)先級,如店鋪券優(yōu)先于平臺券,或者面額大的優(yōu)先。另外,門檻計算是否需要考慮商品是否參與活動,比如某些商品可能不參與滿減。這些細節(jié)都要考慮到方案中,確保全面覆蓋用戶需
基于以上的思考方式,輸出一份最佳的產品解決方案
作者:pemg的筆記 公眾號:pemg的筆記
本文由 @pemg的筆記 原創(chuàng)發(fā)布于人人都是產品經理。未經作者許可,禁止轉載
題圖來自Unsplash,基于CC0協議
該文觀點僅代表作者本人,人人都是產品經理平臺僅提供信息存儲空間服務
- 目前還沒評論,等你發(fā)揮!