You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用SQL计算复购概率?附计算示例与逻辑说明

复购概率计算逻辑与SQL实现

核心计算逻辑

你定义的「1次下单客户的二次复购概率」,本质是所有有过至少1次下单的客户中,完成至少2次下单的比例,对应公式:

复购概率 = (下单2次的客户数 + 下单3次的客户数) / 总下单客户数
代入示例数据:(350+130)/(1000+350+130) ≈ 32.43%

SQL实现方案

场景1:已有下单次数-客户数汇总表

假设存在汇总表customer_order_summary,结构为order_count(下单次数)、customer_num(对应客户数):

SELECT
  ROUND(
    (SUM(CASE WHEN order_count >= 2 THEN customer_num ELSE 0 END) * 100.0) / SUM(customer_num),
    2
  ) AS repurchase_rate
FROM customer_order_summary;

执行后直接返回32.43,即32.43%的复购概率。

场景2:从原始订单表统计

如果只有原始订单表orders(含customer_id、order_id字段),先统计每个客户的下单次数再计算:

WITH customer_order_counts AS (
  SELECT
    customer_id,
    COUNT(DISTINCT order_id) AS order_count
  FROM orders
  GROUP BY customer_id
)
SELECT
  ROUND(
    (SUM(CASE WHEN order_count >= 2 THEN 1 ELSE 0 END) * 100.0) / COUNT(customer_id),
    2
  ) AS repurchase_rate
FROM customer_order_counts;

这个语句先通过CTE生成每个客户的下单次数统计,再计算复购比例。

内容的提问来源于stack exchange,提问作者Michal David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 08:50:27