课后习题
业务场景:某线上教育公司为促进课程销售,近期开展优惠推广活动,活动期间,消费者通过点击相应链接,输入手机号,则可以绑定相应课程的优惠券。现在需要对该促销活动进行效果评估。活动规则是:
- 消费者可以选择任一课程的优惠券,每名消费者至多选择一种优惠券
- 优惠券的有效期是7天,自领取日开始计算
- 活动持续7天(2020-07-10~2020-07-16)
底层数据:涉及到该业务场景的共有三张表
表1:客户信息表,表名是customer_info表。该表包括的字段有:客户编号、姓名、手机号、生日、性别、工作类型、城市、学历和日期。其中日期是客户最近一次修改的信息。该表是全量表,同时当客户修改信息时,仅写入相关的信息,并不会删除原始数据,这就使得一名客户可能对应多条记录,其中日期最近的一条记录是最准确的数据记录。举个例子:张XX,由于更新手机号,所以变更了一次手机号,则在客户信息表会添加一条张XX的信息记录,其余保持一致,但手机号进行变更。此时,张XX对应了两条记录,其中日期最近的一条记录是准确记录。(单天只能修改一次)
| cust_id | name | birthday | gender | job_type | city | education | tel | c_date |
|---|---|---|---|---|---|---|---|---|
| 001 | A | 1994/4/10 | M | J1 | BJ | bachelor | 13865421111 | 2008/1/21 |
| 001 | A | 1994/4/10 | M | J1 | BJ | bachelor | 13938643606 | 2009/3/5 |
| 002 | B | 2004/5/28 | F | J3 | SH | bachelor | 13942658732 | 2008/7/23 |
| 003 | C | 2006/9/13 | F | J2 | BJ | master | 13750516635 | 2008/4/2 |
| 004 | D | 1999/1/9 | M | J10 | SH | master | 13567562037 | 2010/2/27 |
| 004 | D | 1999/1/9 | M | J10 | SH | master | 13666487613 | 2008/11/20 |
| 004 | D | 1999/1/9 | M | J10 | SH | master | 13453959136 | 2008/8/14 |
| 005 | E | 2000/10/17 | M | J3 | SZ | bachelor | 13549433261 | 2008/1/22 |
| 006 | F | 2004/4/5 | M | J6 | SZ | doctor | 13130240916 | 2009/1/23 |
| 006 | F | 2004/4/5 | M | J6 | SZ | doctor | 13640167697 | 2008/5/19 |
| 006 | F | 2004/4/5 | M | J6 | SZ | doctor | 13271077068 | 2008/11/25 |
| 007 | G | 2004/5/7 | F | J10 | GZ | student | 13915999100 | 2010/10/20 |
| 008 | H | 2001/12/16 | M | J4 | SH | student | 13777664231 | 2010/5/9 |
| 009 | N | 1980/8/17 | M | J6 | HZ | student | 13592253026 | 2010/5/9 |
| 010 | S | 2008/8/10 | F | J7 | SZ | bachelor | 13656915621 | 2010/9/28 |
| 010 | S | 2008/8/10 | F | J7 | SZ | bachelor | 13894268336 | 2010/1/4 |
| 011 | R | 2000/2/29 | F | J3 | GZ | doctor | 13415989477 | 2008/7/23 |
| 012 | X | 1983/9/9 | M | J8 | BJ | student | 13572071081 | 2010/5/7 |
| 013 | P | 2008/6/25 | M | J10 | SH | master | 13914169395 | 2009/7/11 |
| 014 | L | 1998/5/25 | M | J4 | SH | master | 13571078709 | 2008/11/23 |
表2:购课信息表,表名是course_sales表。该表包括的字段是:客户编号、课程名称、课程类别、使用券名称、购买时间
| cust_id | course_name | course_type | coupon_name | s_date |
|---|---|---|---|---|
| 001 | C_A | T_A | P_A | 2020/7/17 |
| 003 | C_B | T_B | P_B | 2020/7/19 |
| 004 | C_C | T_C | P_C | 2020/7/13 |
| 005 | C_A | T_A | P_A | 2020/7/11 |
| 006 | C_A | T_A | P_A | 2020/7/11 |
| 008 | C_C | T_C | P_C | 2020/7/18 |
| 009 | C_D | T_D | P_D | 2020/7/13 |
| 010 | C_C | T_C | P_C | 2020/7/10 |
| 011 | C_C | T_C | P_C | 2020/7/14 |
表3:领券表,表名是coupon_info表,该表包括的字段是:手机号、券名称和领取时间
| tel | coupon_name | p_date |
|---|---|---|
| 13938643606 | P_A | 2020/7/15 |
| 13750516635 | P_B | 2020/7/19 |
| 13567562037 | P_C | 2020/7/7 |
| 13549433261 | P_A | 2020/7/5 |
| 13130240916 | P_A | 2020/7/7 |
| 13777664231 | P_C | 2020/7/14 |
| 13592253026 | P_D | 2020/7/12 |
| 13656915621 | P_C | 2020/7/9 |
| 13415989477 | P_C | 2020/7/12 |
数据表的创建代码如下:
CREATE TABLE customer_info
([cust_id] varchar(3), [name] varchar(10), [birthday] date, [gender] varchar(10), [job_type] varchar(10), [city] varchar(10), [education] varchar(20), [tel] varchar(20), [c_date] date)
;
INSERT INTO customer_info
([cust_id], [name], [birthday], [gender], [job_type], [city], [education], [tel], [c_date])
VALUES
('001', 'A', '1994-04-10', 'M', 'J1', 'BJ', 'bachelor', '13865421111', '2008-01-21'),
('001', 'A', '1994-04-10', 'M', 'J1', 'BJ', 'bachelor', '13938643606', '2009-03-05'),
('002', 'B', '2004-05-28', 'F', 'J3', 'SH', 'bachelor', '13942658732', '2008-07-23'),
('003', 'C', '2006-09-13', 'F', 'J2', 'BJ', 'master', '13750516635', '2008-04-02'),
('004', 'D', '1999-01-09', 'M', 'J10', 'SH', 'master', '13567562037', '2010-02-27'),
('004', 'D', '1999-01-09', 'M', 'J10', 'SH', 'master', '13666487613', '2008-11-20'),
('004', 'D', '1999-01-09', 'M', 'J10', 'SH', 'master', '13453959136', '2008-08-14'),
('005', 'E', '2000-10-17', 'M', 'J3', 'SZ', 'bachelor', '13549433261', '2008-01-22'),
('006', 'F', '2004-04-05', 'M', 'J6', 'SZ', 'doctor', '13130240916', '2009-01-23'),
('006', 'F', '2004-04-05', 'M', 'J6', 'SZ', 'doctor', '13640167697', '2008-05-19'),
('006', 'F', '2004-04-05', 'M', 'J6', 'SZ', 'doctor', '13271077068', '2008-11-25'),
('007', 'G', '2004-05-07', 'F', 'J10', 'GZ', 'student', '13915999100', '2010-10-20'),
('008', 'H', '2001-12-16', 'M', 'J4', 'SH', 'student', '13777664231', '2010-05-09'),
('009', 'N', '1980-08-17', 'M', 'J6', 'HZ', 'student', '13592253026', '2010-05-09'),
('010', 'S', '2008-08-10', 'F', 'J7', 'SZ', 'bachelor', '13656915621', '2010-09-28'),
('010', 'S', '2008-08-10', 'F', 'J7', 'SZ', 'bachelor', '13894268336', '2010-01-04'),
('011', 'R', '2000-02-29', 'F', 'J3', 'GZ', 'doctor', '13415989477', '2008-07-23'),
('012', 'X', '1983-09-09', 'M', 'J8', 'BJ', 'student', '13572071081', '2010-05-07'),
('013', 'P', '2008-06-25', 'M', 'J10', 'SH', 'master', '13914169395', '2009-07-11'),
('014', 'L', '1998-05-25', 'M', 'J4', 'SH', 'master', '13571078709', '2008-11-23')
;
CREATE TABLE course_sales
([cust_id] varchar(3), [course_name] varchar(3), [course_type] varchar(3), [coupon_name] varchar(3), [s_date] date)
;
INSERT INTO course_sales
([cust_id], [course_name], [course_type], [coupon_name], [s_date])
VALUES
('001', 'C_A', 'T_A', 'P_A', '2020-07-17'),
('003', 'C_B', 'T_B', 'P_B', '2020-07-19'),
('004', 'C_C', 'T_C', 'P_C', '2020-07-13'),
('005', 'C_A', 'T_A', 'P_A', '2020-07-11'),
('006', 'C_A', 'T_A', 'P_A', '2020-07-11'),
('008', 'C_C', 'T_C', 'P_C', '2020-07-18'),
('009', 'C_D', 'T_D', 'P_D', '2020-07-13'),
('010', 'C_C', 'T_C', 'P_C', '2020-07-10'),
('011', 'C_C', 'T_C', 'P_C', '2020-07-14')
;
CREATE TABLE coupon_info
([tel] varchar(12), [coupon_name] varchar(3), [p_date] date)
;
INSERT INTO coupon_info
([tel], [coupon_name], [p_date])
VALUES
('13938643606', 'P_A', '2020-07-15'),
('13750516635', 'P_B', '2020-07-19'),
('13567562037', 'P_C', '2020-07-07'),
('13549433261', 'P_A', '2020-07-05'),
('13130240916', 'P_A', '2020-07-07'),
('13777664231', 'P_C', '2020-07-14'),
('13592253026', 'P_D', '2020-07-12'),
('13656915621', 'P_C', '2020-07-09'),
('13415989477', 'P_C', '2020-07-12')
;
以上就是整个业务背景和数据背景,接下来需要完成对此次活动效果的评估。主要完成以下10项查询:
- 总共发放优惠券的数量?(由于每人至多领取一
剩余60%内容,订阅专栏后可继续查看/也可单篇购买
数据分析师快速入门——技能篇 文章被收录于专栏
数据分析入门技术篇
查看16道真题和解析