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)