您现在的位置是:网站首页 > 博客日记 >

mysql|数据分析|流失用户行为分析

作者:YXN-sql 阅读量:79 发布日期:2023-04-16

一、为什么要进行用户流失分析?

  1. 老板任务:因为拉新成本比拉回流失的高的多,希望能知道用户为啥流失。
  2. 运营分析:用户流失有时可以看出一个产品是否良性,如果不是,需要找到流失用户特征,对症入药,最终预防用户流失。

其实客户流失,即特定时期内客户的流失,是企业的关键指标,尤其是在电子商务领域。分析和了解客户流失可以为改进客户保留策略提供有价值的见解。

在本文中,我们将探讨如何使用 SQL进行客户流失分析,利用 SQL 查询的强大功能从数据库中提取有意义的信息。

二、如何进行流失分析

第一步:了解数据模型

对于此分析,我们假设拥有如下数据库:

  • customers:客户信息表。
  • orders:订单表。
  • payments:付款交易表。

第二步:计算客户流失率

2.1 定义流失:识别不活跃的客户

-- 识别不活跃客户(过去 90 天内未下订单)
WITH inactive_customers AS (
SELECT
    customer_id
FROM
    customers
WHERE
    customer_id NOT IN (
SELECT DISTINCT customer_id
FROM orders
WHERE order_date >= CURRENT_DATE - INTERVAL '90' DAY
    )
)

--  计算流失率
SELECT
COUNT(*) AS churned_customers,
COUNT(*) * 100.0 / (SELECT COUNT(*) FROM customers) AS churn_rate
FROM
  inactive_customers;

第三步:分析客户流失模式

3.1 确定流失的常见原因

--根据订单状态确定流失的常见原因
SELECT
  order_status,
COUNT(*) AS count
FROM
  orders
WHERE
  customer_id IN (SELECT customer_id FROM inactive_customers)
GROUP BY
  order_status;

3.2 按支付方式分析流失率

--根据支付方式分析流失率
SELECT
  payment_method,
COUNT(*) AS count
FROM
  payments
WHERE
  customer_id IN (SELECT customer_id FROM inactive_customers)
GROUP BY
  payment_method;

第4步:针对目标策略的客户细分

4.1 按购买频率细分客户


--按购买频率细分客户

SELECT
CASE
WHEN order_count = 1 THEN 'One-Time Purchasers'
WHEN order_count = 2 THEN 'Occasional Buyers'
WHEN order_count <= 5 THEN 'Regular Customers'
ELSE 'Loyal Customers'
END AS customer_segment,
COUNT(*) AS customer_count
FROM (
SELECT
    customer_id,
COUNT(DISTINCT order_id) AS order_count
FROM
    orders
GROUP BY
    customer_id
) AS customer_orders
GROUP BY
  customer_segment;

三、结论:

使用 SQL 进行流失分析为客户保留策略的企业提供了可行的见解。通过 SQL 查询,可以计算客户流失率、确定客户流失的常见原因,并根据客户的行为对客户进行细分。这样,就可以制定有针对性的策略来留住客户并培养长期关系。

 

当开始电子商务客户流失分析之旅时

请记住,持续监控和调整策略是减少流失和最大化客户终身价值的关键。

很多同学觉得用户流失问题很难处理。从明面上看,是因为用户流失的数据少,我们不知道用户心里怎么想的。

可从本质上看,是因为会导致用户流失的原因,与用户生命周期、用户分群、用户决策流程、用户成长路径、新用户转化流程、用户体验、用户MOT、竞品影响等众多因素有关。

本质上,用户流失分析难,难在:做分析的同学们很少懂用户运营的业务。

总之分析不仅仅是跑个数据拉个表,更是深入问题内部、找到业务上真正病根。

YXN-sql

2023-04-16