03 复购占比

SQL Server

背景:业务运营中,复购占比=复购人数/购买人数,求出会员的复购占比

源表:

 

CREATE TABLE Customer_Purchase
(
会员名称 VARCHAR(30) NOT NULL,
消费日期 Date NOT NULL
)
INSERT INTO Customer_Purchase
VALUES
('张三','2021-11-25'),
('张三','2021-11-26'),
('张三','2021-11-27'),
('李四','2021-11-25'),
('李四','2021-11-30'),
('王五','2021-11-25'),
('赵六','2021-11-30')

 

Step1:利用窗口函数

SELECT 会员名称,消费日期,
                DENSE_RANK() OVER(PARTITION BY 会员名称 ORDER BY 消费日期) AS 会员购买次序
FROM Customer_Purchase

 

 

Step2:将Step1记为temp表,筛选Step1中会员购买次序>1的,利用公式计算复购占比即可

SELECT
(SELECT COUNT(DISTINCT 会员名称) FROM temp
WHERE 会员购买次序>1)/
(SELECT COUNT(DISTINCT 会员名称) FROM temp)

 

posted @ 2022-01-27 14:19  赵Gary  阅读(84)  评论(0)    收藏  举报